X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/ee556fd42e6713a31bc784d762736df0e4d4f85d..8c54f9d7044c7f354fcad43de033b4a1cfc1ac56:/nominatim/db/connection.py?ds=sidebyside diff --git a/nominatim/db/connection.py b/nominatim/db/connection.py index fce897bc..d6860836 100644 --- a/nominatim/db/connection.py +++ b/nominatim/db/connection.py @@ -174,6 +174,15 @@ class Connection(psycopg2.extensions.connection): return (int(version_parts[0]), int(version_parts[1])) + + def extension_loaded(self, extension_name: str) -> bool: + """ Return True if the hstore extension is loaded in the database. + """ + with self.cursor() as cur: + cur.execute('SELECT extname FROM pg_extension WHERE extname = %s', (extension_name, )) + return cur.rowcount > 0 + + class ConnectionContext(ContextManager[Connection]): """ Context manager of the connection that also provides direct access to the underlying connection. @@ -230,7 +239,7 @@ _PG_CONNECTION_STRINGS = { def get_pg_env(dsn: str, base_env: Optional[SysEnv] = None) -> Dict[str, str]: """ Return a copy of `base_env` with the environment variables for - PostgresSQL set up from the given database connection string. + PostgreSQL set up from the given database connection string. If `base_env` is None, then the OS environment is used as a base environment. """