From 751405e006d678c3a8dd1ef0a5fc346833d1124b Mon Sep 17 00:00:00 2001 From: Jakub Vrana Date: Tue, 18 Mar 2025 16:20:44 +0100 Subject: [PATCH] - PostgreSQL: Avoid warning about crdb_version (fix #924, regression from 5.0.5) --- CHANGELOG.md | 1 + adminer/drivers/pgsql.inc.php | 5 +---- adminer/include/functions.inc.php | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e1143665..6527108c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ ## Adminer dev - PostgreSQL: Display auto_increment of inserted rows - PostgreSQL: Display description of system variables +- PostgreSQL: Avoid warning about crdb_version (bug #924, regression from 5.0.5) - CSS: Sticky table headers (bug #918) - IMAP: New plugin driver created for fun diff --git a/adminer/drivers/pgsql.inc.php b/adminer/drivers/pgsql.inc.php index 5fcaa091..eda220b8 100644 --- a/adminer/drivers/pgsql.inc.php +++ b/adminer/drivers/pgsql.inc.php @@ -35,8 +35,6 @@ if (isset($_GET["pgsql"])) { } restore_error_handler(); if ($this->link) { - $version = pg_version($this->link); - $this->server_info = $version["server"]; pg_set_client_encoding($this->link, "UTF8"); } return (bool) $this->link; @@ -334,8 +332,7 @@ if (isset($_GET["pgsql"])) { if (min_version(9, 0, $connection)) { $connection->query("SET application_name = 'Adminer'"); } - $crdb_version = $connection->result("SHOW crdb_version"); - $connection->server_info .= ($crdb_version ? "-" . preg_replace('~ \(.*~', '', $crdb_version) : ""); + $connection->server_info = $connection->result("SELECT version()"); $connection->cockroach = preg_match('~CockroachDB~', $connection->server_info); if ($connection->cockroach) { // we don't use "PostgreSQL / CockroachDB" by default because it's too long $drivers[DRIVER] = "CockroachDB"; diff --git a/adminer/include/functions.inc.php b/adminer/include/functions.inc.php index 03ca625b..94b72231 100644 --- a/adminer/include/functions.inc.php +++ b/adminer/include/functions.inc.php @@ -128,7 +128,7 @@ function min_version($version, $maria_db = "", $connection2 = null) { $server_info = $match[1]; $version = $maria_db; } - return $version && version_compare($server_info, $version) >= 0; + return $version && version_compare(preg_replace('~^\D+~', '', $server_info), $version) >= 0; } /** Get connection charset