X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/d4018f2e3b7a4b71fa67676bbc65d1d1adcfdd78..b6df4865251eb11db4bd4b0b1f35ae8455440be9:/nominatim/db/connection.py?ds=inline diff --git a/nominatim/db/connection.py b/nominatim/db/connection.py index 12fc22d4..82801ae7 100644 --- a/nominatim/db/connection.py +++ b/nominatim/db/connection.py @@ -174,22 +174,13 @@ class Connection(psycopg2.extensions.connection): return (int(version_parts[0]), int(version_parts[1])) - def hstore_version_tuple(self) -> Tuple[int, int]: - """ Return the hstore version installed in the database as a - tuple of (major, minor). Assumes that the hstore extension - has been installed already. + + def extension_loaded(self, extension_name: str) -> bool: + """ Return True if the hstore extension is loaded in the database. """ with self.cursor() as cur: - version = cur.scalar( - 'SELECT extversion FROM pg_extension WHERE extname = %s', - ('hstore') - ) - - version_parts = version.split('.') - if len(version_parts) < 2: - raise UsageError(f"Error fetching hstore version. Bad format: {version}") - - return (int(version_parts[0]), int(version_parts[1])) + cur.execute('SELECT extname FROM pg_extension WHERE extname = %s', (extension_name, )) + return cur.rowcount > 0 class ConnectionContext(ContextManager[Connection]):