diff --git a/CHANGELOG.md b/CHANGELOG.md index bf007b8e..afbcb0d9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ - PostgreSQL: Offer foreign keys in create table - PostgreSQL: Add missing parentheses to CHECK export - PostgreSQL: Remove duplicate DEFERRABLE in foreign key export +- PostgreSQL: Add schema to sequence and and view export - PostgreSQL: Mark unique partial indexes as unique (bug #1172) - ClickHouse: Fix offset (bug #1188) - ClickHouse: Fix list of tables (bug #1176) diff --git a/adminer/drivers/pgsql.inc.php b/adminer/drivers/pgsql.inc.php index fa5cee46..474a516d 100644 --- a/adminer/drivers/pgsql.inc.php +++ b/adminer/drivers/pgsql.inc.php @@ -923,9 +923,10 @@ AND typelem = 0" $sequences = array(); $status = table_status1($table); + $ns = idf_escape($status['nspname']); if (is_view($status)) { $view = view($table); - return rtrim("CREATE VIEW " . idf_escape($table) . " AS $view[select]", ";"); + return rtrim("CREATE VIEW $ns." . idf_escape($table) . " AS $view[select]", ";"); } $fields = fields($table); @@ -933,7 +934,7 @@ AND typelem = 0" return false; } - $return = "CREATE TABLE " . idf_escape($status['nspname']) . "." . idf_escape($status['Name']) . " (\n "; + $return = "CREATE TABLE $ns." . idf_escape($status['Name']) . " (\n "; // fields' definitions foreach ($fields as $field) { @@ -949,8 +950,8 @@ AND typelem = 0" ? "SELECT *, cache_size AS cache_value FROM pg_sequences WHERE schemaname = current_schema() AND sequencename = " . q(idf_unescape($sequence_name)) : "SELECT * FROM $sequence_name" ), null, "-- ")); - $sequences[] = ($style == "DROP+CREATE" ? "DROP SEQUENCE IF EXISTS $sequence_name;\n" : "") - . "CREATE SEQUENCE $sequence_name INCREMENT $sq[increment_by] MINVALUE $sq[min_value] MAXVALUE $sq[max_value]" + $sequences[] = ($style == "DROP+CREATE" ? "DROP SEQUENCE IF EXISTS $ns.$sequence_name;\n" : "") + . "CREATE SEQUENCE $ns.$sequence_name INCREMENT $sq[increment_by] MINVALUE $sq[min_value] MAXVALUE $sq[max_value]" . ($auto_increment && $sq['last_value'] ? " START " . ($sq["last_value"] + 1) : "") . " CACHE $sq[cache_value];" ; @@ -986,12 +987,12 @@ AND typelem = 0" // comments for table & fields if ($status['Comment']) { - $return .= "\n\nCOMMENT ON TABLE " . idf_escape($status['nspname']) . "." . idf_escape($status['Name']) . " IS " . q($status['Comment']) . ";"; + $return .= "\n\nCOMMENT ON TABLE $ns." . idf_escape($status['Name']) . " IS " . q($status['Comment']) . ";"; } foreach ($fields as $field_name => $field) { if ($field['comment']) { - $return .= "\n\nCOMMENT ON COLUMN " . idf_escape($status['nspname']) . "." . idf_escape($status['Name']) . "." . idf_escape($field_name) . " IS " . q($field['comment']) . ";"; + $return .= "\n\nCOMMENT ON COLUMN $ns." . idf_escape($status['Name']) . "." . idf_escape($field_name) . " IS " . q($field['comment']) . ";"; } }