From 11234ef939912706c664aebcf160f1f68c5a93ab Mon Sep 17 00:00:00 2001 From: Jakub Vrana Date: Sun, 1 Mar 2026 17:57:27 +0100 Subject: [PATCH] PostgreSQL: Export schema in REFERENCES --- CHANGELOG.md | 1 + adminer/drivers/pgsql.inc.php | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0e6c5ecd..746b0e56 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - PostgreSQL: Order NULL last - PostgreSQL: Display all SQL command warnings and only once - PostgreSQL: Export schema in nextval() +- PostgreSQL: Export schema in REFERENCES - Editor: Display tinyint(1) as checkbox (bug #1246, regression from 5.4.2) - Croatian translation diff --git a/adminer/drivers/pgsql.inc.php b/adminer/drivers/pgsql.inc.php index 827e0c70..7b8ce1ce 100644 --- a/adminer/drivers/pgsql.inc.php +++ b/adminer/drivers/pgsql.inc.php @@ -915,11 +915,12 @@ AND typelem = 0" $return = ""; $status = table_status1($table); + $ns = idf_escape($status['nspname']); $fkeys = foreign_keys($table); ksort($fkeys); foreach ($fkeys as $fkey_name => $fkey) { - $return .= "ALTER TABLE ONLY " . idf_escape($status['nspname']) . "." . idf_escape($status['Name']) . " ADD CONSTRAINT " . idf_escape($fkey_name) . " $fkey[definition];\n"; + $return .= "ALTER TABLE ONLY $ns." . idf_escape($status['Name']) . " ADD CONSTRAINT " . idf_escape($fkey_name) . " " . preg_replace('~( REFERENCES )([^(.]+\()~', "\\1$ns.\\2", $fkey["definition"]) . ";\n"; } return ($return ? "$return\n" : $return);