diff --git a/docs/en_US/release_notes_9_6.rst b/docs/en_US/release_notes_9_6.rst index b8855a49d..a717bdb86 100644 --- a/docs/en_US/release_notes_9_6.rst +++ b/docs/en_US/release_notes_9_6.rst @@ -25,7 +25,9 @@ New features Housekeeping ************ + | `Issue #8828 `_ - Ensure that pgAdmin 4 is compatible with PG/EPAS v18. Bug fixes ********* + | `Issue #8914 `_ - Update zstd library link to 1.5.7 in Dockerfile. \ No newline at end of file diff --git a/web/config.py b/web/config.py index d5a34f1e3..8cde71f2e 100644 --- a/web/config.py +++ b/web/config.py @@ -465,12 +465,14 @@ DEFAULT_BINARY_PATHS = { "pg-15": "", "pg-16": "", "pg-17": "", + "pg-18": "", "ppas": "", "ppas-13": "", "ppas-14": "", "ppas-15": "", "ppas-16": "", - "ppas-17": "" + "ppas-17": "", + "ppas-18": "" } ########################################################################## @@ -485,12 +487,14 @@ FIXED_BINARY_PATHS = { "pg-15": "", "pg-16": "", "pg-17": "", + "pg-18": "", "ppas": "", "ppas-13": "", "ppas-14": "", "ppas-15": "", "ppas-16": "", - "ppas-17": "" + "ppas-17": "", + "ppas-18": "" } ########################################################################## diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/12_plus/get_constraints.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/12_plus/get_constraints.sql index 9e7bae644..c9ec61c0a 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/12_plus/get_constraints.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/12_plus/get_constraints.sql @@ -5,5 +5,5 @@ SELECT FROM pg_catalog.pg_constraint WHERE - conrelid={{foid}}::oid + conrelid={{foid}}::oid AND contype != 'n' ORDER by conname; diff --git a/web/pgadmin/tools/backup/tests/test_create_backup_job.py b/web/pgadmin/tools/backup/tests/test_create_backup_job.py index 5496aa9a8..95d92c3b0 100644 --- a/web/pgadmin/tools/backup/tests/test_create_backup_job.py +++ b/web/pgadmin/tools/backup/tests/test_create_backup_job.py @@ -119,7 +119,7 @@ class BackupJobTest(BaseTestGenerator): expected_cmd_opts=['--verbose', '--format=c', '--large-objects'], not_expected_cmd_opts=[], - expected_exit_code=[1] + expected_exit_code=[0, 1] ), message='--large-objects is not supported by EPAS/PG server ' 'less than 16' diff --git a/web/pgadmin/utils/constants.py b/web/pgadmin/utils/constants.py index ed2941ec8..69fc712a2 100644 --- a/web/pgadmin/utils/constants.py +++ b/web/pgadmin/utils/constants.py @@ -94,6 +94,9 @@ BINARY_PATHS = { "isDefault": False}, {"version": "170000", "next_major_version": "180000", "serverType": gettext("EDB Advanced Server 17"), "binaryPath": None, + "isDefault": False}, + {"version": "180000", "next_major_version": "190000", + "serverType": gettext("EDB Advanced Server 18"), "binaryPath": None, "isDefault": False} ], "pg_bin_paths": [ @@ -111,6 +114,9 @@ BINARY_PATHS = { "isDefault": False}, {"version": "170000", "next_major_version": "180000", "serverType": gettext("PostgreSQL 17"), "binaryPath": None, + "isDefault": False}, + {"version": "180000", "next_major_version": "190000", + "serverType": gettext("PostgreSQL 18"), "binaryPath": None, "isDefault": False} ] } diff --git a/web/regression/feature_tests/pg_utilities_backup_restore_test.py b/web/regression/feature_tests/pg_utilities_backup_restore_test.py index b475ab526..4da26f5a3 100644 --- a/web/regression/feature_tests/pg_utilities_backup_restore_test.py +++ b/web/regression/feature_tests/pg_utilities_backup_restore_test.py @@ -272,8 +272,8 @@ class PGUtilitiesBackupFeatureTest(BaseFeatureTest): default_binary_path = self.server['default_binary_paths'] if default_binary_path is not None: def get_server_version_string(): - server_version = {170000: '17', 160000: '16', 150000: '15', - 140000: '14', 130000: '13'} + server_version = {180000: '18', 170000: '17', 160000: '16', + 150000: '15', 140000: '14', 130000: '13'} for k, v in server_version.items(): if k <= self.server_information['server_version']: return v