Skip to content

Commit a3a3f26

Browse files
switch from server_version to server_version_num (#304)
1 parent 858a984 commit a3a3f26

File tree

2 files changed

+16
-5
lines changed

2 files changed

+16
-5
lines changed

src/pypgstac/python/pypgstac/db.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -271,15 +271,18 @@ def pg_version(self) -> str:
271271
"""Get the current pg version number from a pgstac database."""
272272
version = self.query_one(
273273
"""
274-
SHOW server_version;
274+
SHOW server_version_num;
275275
""",
276276
)
277277
logger.debug(f"PG VERSION: {version}.")
278278
if isinstance(version, bytes):
279279
version = version.decode()
280280
if isinstance(version, str):
281-
if int(version.split(".")[0]) < 13:
282-
raise Exception("PgSTAC requires PostgreSQL 13+")
281+
if int(version) < 130000:
282+
major, minor, patch = tuple(
283+
map(int, [version[i:i + 2] for i in range(0, len(version), 2)]),
284+
)
285+
raise Exception(f"PgSTAC requires PostgreSQL 13+, current version is: {major}.{minor}.{patch}") # noqa: E501
283286
return version
284287
else:
285288
if self.connection is not None:

src/pypgstac/python/pypgstac/migrate.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,16 @@ def run_migration(self, toversion: Optional[str] = None) -> str:
122122
logger.info("using unreleased version")
123123
toversion = "unreleased"
124124

125-
pg_version = self.db.pg_version
126-
logger.info(f"Migrating PgSTAC on PostgreSQL Version {pg_version}")
125+
major, minor, patch = tuple(
126+
map(
127+
int,
128+
[
129+
self.db.pg_version[i:i + 2]
130+
for i in range(0, len(self.db.pg_version), 2)
131+
],
132+
),
133+
)
134+
logger.info(f"Migrating PgSTAC on PostgreSQL Version {major}.{minor}.{patch}")
127135
oldversion = self.db.version
128136
if oldversion == toversion:
129137
logger.info(f"Target database already at version: {toversion}")

0 commit comments

Comments
 (0)