diff --git a/arkindex/documents/export/__init__.py b/arkindex/documents/export/__init__.py index a1c633e3af8625fea82f26391594660ac8e16a55..df872fcbc30b74146e275906a9ef44d90987db46 100644 --- a/arkindex/documents/export/__init__.py +++ b/arkindex/documents/export/__init__.py @@ -51,7 +51,13 @@ def run_pg_query(query, source_db): Run a single Postgresql query and split the results into chunks. When a name is given to a cursor, psycopg2 uses a server-side cursor; we just use a random string as a name. """ - with connections[source_db].create_cursor(name=str(uuid.uuid4())) as pg_cursor: + db = connections[source_db] + + # Make sure a connection is open and available for export databases + if source_db != "default" and db.connection is None: + db.connect() + + with db.create_cursor(name=str(uuid.uuid4())) as pg_cursor: pg_cursor.itersize = BATCH_SIZE pg_cursor.execute(query)