Compare commits

..
175 Commits
Author SHA1 Message Date
Akshay Joshi c92e9c2953 Fixed all broken submenus of the Help menu due to the SonarQube fix. 2024-02-08 12:24:40 +05:30
Akshay Joshi af1f4b3aa7 Update version for release v8.3 2024-02-05 12:38:40 +05:30
Domenico Sgarbossa 4b40aac89f Italian translation for version 8.3 2024-02-05 10:48:35 +05:30
Libor M 0ff34ab6ae Czech translation for version 8.3 2024-02-05 10:48:04 +05:30
Yogesh Mahajan 9462296d33 Fixed API tests failed due to #7113 changes. 2024-02-05 10:47:43 +05:30
Aditya Toshniwal 0904adaed0 Update release notes 2024-02-02 12:55:13 +05:30
Pravesh Sharma f7045b58d4 Fixed an issue where format sql was messing up operator. #5083
- The formatting is done on client side now using sql-formattor JS lib. Backend API based formatting is removed.
- Added new options data type case, expression width, function case, lines between queries, logical operator new line and new line before semicolon available in the new lib.
- Removed old options comma-first notations, re-indent aligned, re-indent, strip comments and wrap after N characters as not available in the new library.
- Capitalise casing is replaced with Preserve casing as it is not supported by the new library.
- Also fixes #6785, #6990, #7115.
2024-02-02 12:28:25 +05:30
Sebastian Bogaci 459121566c Fix wrong default for FORCE_LOWER in the FLASK_GRAVATAR module #7175 2024-02-02 11:47:14 +05:30
Akshay Joshi e12e8bc9cf Update message catalogs for v8.3 2024-02-01 21:27:06 +05:30
Kristof Mattei 956401015d Fixed an issue pgAdmin fails to launch due to inconsistent PATH variable name on windows. #7153, #7125 2024-02-01 21:07:39 +05:30
Khushboo Vashi 1ac385be27 Update documentation for creating the configuration database. 2024-02-01 14:37:09 +05:30
Anil Sahoo 8145e042a6 Fix a backend server error when creating a named restore point. #7166 2024-02-01 14:20:22 +05:30
Aditya Toshniwal cdf49d6300 Fix failing feature tests 2024-01-30 13:01:57 +05:30
Aditya Toshniwal 028b70203c Fix SonarQube bugs 2024-01-29 18:39:30 +05:30
Akshay Joshi e23ef5d9df Update release note. 2024-01-29 14:54:53 +05:30
Yogesh Mahajan 711181c752 Ensure that the correct SQL is generated when changing the column data type to "char". #7113 2024-01-29 14:53:03 +05:30
Pravesh Sharma 3de19f66f2 Added support for column storage syntax while creating table. #6450 2024-01-29 11:32:34 +05:30
Akshay Joshi 4c5324bd99 Fixed API test cases for Backup. 2024-01-25 18:07:40 +05:30
Akshay Joshi 639a28fbfc Fixed code smell 'Prefer using an optional chain expression instead, as it's more concise and easier to read'. 2024-01-25 16:51:40 +05:30
Akshay Joshi 41fe1db884 Fixed PEP8 2024-01-25 12:51:29 +05:30
Akshay Joshi cafe69c235 Fixed SonarQube Bugs and API test cases. 2024-01-25 12:46:55 +05:30
Akshay Joshi d55c35c0e8 Revert yarnrc.yml and yarn.lock 2024-01-24 18:55:32 +05:30
Akshay Joshi 0e0cbc40b8 Fixed SonarQube code smell Replace the unused local variable with '_'. 2024-01-24 18:33:43 +05:30
Aditya Toshniwal 47aa070cc3 Update release notes 2024-01-22 16:17:58 +05:30
Yogesh Mahajan 4fe47b8e92 Ensure that password exec command is included in exported server data json. #6792 2024-01-22 13:38:34 +05:30
Aditya Toshniwal e80e82cd7f Allow drag-n-drop columns collection tree node as comma separated columns. #4419 2024-01-22 13:19:04 +05:30
Khushboo Vashi 29f13f8832 Update release notes. 2024-01-22 12:41:43 +05:30
Akshay Joshi 81fccc87b5 Added support to rename columns in Views. #6380 2024-01-22 12:27:55 +05:30
Aditya Toshniwal 93d25eea0b Use COOKIE_DEFAULT_PATH or SCRIPT_NAME in session cookie path. #6557 2024-01-22 12:25:20 +05:30
Yogesh Mahajan a166f8dc89 Skip debugger test cases to fix "too many clients" error on github actions. 2024-01-18 16:41:18 +05:30
Aditya Toshniwal d26c167c76 Improve auto-focus of editable data grid when adding/editing rows 2024-01-17 18:38:00 +05:30
Akshay Joshi 60983a25d2 Updated release note. 2024-01-12 17:48:56 +05:30
Yogesh Mahajan 2d08b0dd13 Added configurable parameter to enable support for PasswordExecCommand in server mode. #6792 2024-01-12 17:34:40 +05:30
Pravesh Sharma b28df5874e Fixed an issue where multiple errors were showing if user does not have connect privileges. #7073 2024-01-12 17:20:51 +05:30
Nikhil Mohite ad0567bd85 Add support for selecting a schema in the backup database dialog with no tables, mviews, views or foreign tables. #7053
Fixed a UI border issue on the dependencies tab for columns with icon. #7055
2024-01-12 17:19:27 +05:30
Pravesh Sharma 701085adaf Fixed an issue where group membership information was displayed incorrectly. #7085 2024-01-12 16:48:49 +05:30
Akshay Joshi 5240e8ccf8 Added BYPASSRLS|NOBYPASSRLS option while creating a Role. #6392 2024-01-11 19:14:01 +05:30
Akshay Joshi 4ce65ea770 Added setuptools in the requirements for Python version >= 3.12 2024-01-08 15:40:02 +05:30
Akshay Joshi 19b8d05e65 Update version for release v8.2 2024-01-08 15:03:32 +05:30
Akshay Joshi f5ba42bec8 Fixed API test case for Foreign Table. 2024-01-08 15:02:08 +05:30
Nikhil Mohite 26ec59ab5f Limit the keyring calls based on save_password flag of server config. 2024-01-08 14:04:38 +05:30
Akshay Joshi 30509d1bc1 Added copy server support, allowing the duplication of existing servers with the option to make certain modifications. #6085 (#7106)
Added copy server support, allowing the duplication of existing servers with the option to make certain modifications. #6085
2024-01-08 12:16:49 +05:30
Akshay Joshi 5e710f7ee3 Fixed an issue where Schema Diff not generating difference for missing columns. #7104 2024-01-08 09:39:39 +05:30
Libor M ec5ea7e207 Czech translation for version v8.2 2024-01-08 09:09:08 +05:30
Domenico Sgarbossa 9b5dc28bac Updated Italian translation for v8.2 2024-01-05 11:14:03 +05:30
Akshay Joshi db727381b1 Update message catalogs for v8.2 2024-01-04 19:01:29 +05:30
Khushboo Vashi fdaedacf40 Fixed multiple CLI issues. #2483 2024-01-03 16:09:42 +05:30
Khushboo Vashi 4d74f84d80 Fix a regression issue caused by #6815 fix related to import server issue for external users. 2024-01-03 15:53:41 +05:30
Akshay Joshi fcfe7cfb7c Fixed an issue where DB Restrictions were not visible on the server dialog. #7059 2024-01-01 16:26:02 +05:30
Aditya Toshniwal 5248055a01 Fixed an issue where auto commit/rollback setting not persisting across query tool connection change. #7091 2024-01-01 15:34:40 +05:30
Akshay Joshi 740ce15bd7 Update copyright notices for 2024 2024-01-01 14:13:48 +05:30
Nikhil Mohite 2621050066 Fix an issue where connection string sequences do not persist after updating server details. #7041 2024-01-01 14:11:17 +05:30
Akshay Joshi 2b736c18ab Ensure that eventlet's subprocess should be used following the resolution of an issue with Python 3.12 by eventlet. #6926 2024-01-01 14:01:56 +05:30
Khushboo Vashi 3fa4e82af9 Introduce LDAP configuration parameter LDAP_IGNORE_MALFORMED_SCHEMA to ignore fetching schema from the LDAP server. #7062 2024-01-01 11:04:57 +05:30
Pravesh Sharma fd8af4034a Fixed an issue where user is not able to cancel or terminate active queries from dashboard. #7078 2023-12-29 15:40:36 +05:30
Aditya Toshniwal e837de5e8f Fixed browser autocomplete related issues on pgAdmin authentication related pages. #7082 2023-12-28 16:29:15 +05:30
Aditya Toshniwal 01a118d495 Fixed an error-'amname' when generating ERD for database containing parition tables. #7064 2023-12-28 15:27:30 +05:30
Nikhil Mohite ec12dc5288 Fixed the following issues found in testing #5908:
1. Filter buttons remain highlighted after promotion but the button is disabled.
2. Data changes are getting committed even when Auto commit is turned off on the promoted query tool window.
2023-12-27 13:36:20 +05:30
Nikhil Mohite a4e9f04a2e Fixed an issue where changes done to a node using edit dialog are not reflecting on the properties tab if the properties tab is active. #7041 2023-12-27 11:06:04 +05:30
Aditya Toshniwal 6d399f4fd7 Explicitly set max_connections to 100 for Python test cases to fit Git action MacOS test cases 2023-12-25 12:04:10 +05:30
Pravesh Sharma cede5cf899 Fixed an issue where object explorer last tree state was not saving. #7066 2023-12-25 11:55:09 +05:30
Aditya Toshniwal 41a62c8082 Fix JS test cases failing on Windows OS 2023-12-23 16:08:41 +05:30
Akshay Joshi 8c06d93303 Fixed an issue where an error occurred in the SQL tab when using an extended index(pgroonga). #7002 2023-12-22 13:59:51 +05:30
Akshay Joshi 9ccdaf73cd Ensure that the 'Dbo' schema is displayed as a regular schema rather than a system catalog schema. #7061 2023-12-21 18:52:27 +05:30
Aditya Toshniwal 09b83e54a2 Fixed an issue where pgAgent job schedule dialog is not opening for edit. #7070 2023-12-21 17:49:01 +05:30
Aditya Toshniwal c8d6ff8a6d Fixed an issue where query tool title did not change after 'Save As' until any new change is made. #6193 2023-12-21 17:41:27 +05:30
Khushboo Vashi c85a9be621 Fix an issue where the server-group node is getting registered twice for the first time. 2023-12-21 14:39:29 +05:30
Khushboo Vashi 0d287df6dd Administer pgAdmin Users and Preferences Using the Command Line Interface (CLI). #2483 2023-12-21 12:07:26 +05:30
Akshay Joshi a973c9c62c Remove EPAS 11 and add EPAS 16 in the GitHub actions. 2023-12-20 12:08:19 +05:30
Pravesh Sharma 2d60bc2800 Fixed an issue where export servers was not adding extension if not specified. #6781 2023-12-20 11:36:43 +05:30
Akshay Joshi a22b2a6074 Added keep-alive support for SSH sessions when connecting to a PostgreSQL server via an SSH tunnel. #7016 2023-12-19 16:16:03 +05:30
Nikhil Mohite 04580652ab Allow users to convert View/Edit table into a Query tool to enable editing the SQL generated. #5908 2023-12-19 15:52:57 +05:30
Khushboo Vashi 4db13facf7 Install setuptools separately as it is no longer a core venv dependency in Python 3.12. 2023-12-18 16:06:19 +05:30
Khushboo Vashi adab656a79 Fixes for Python 3.12 compatibility:
- Upgrade testtools package
- Use platstdlib instead of stdlib to get the path
2023-12-18 13:27:05 +05:30
Khushboo Vashi 92549af3d4 Replaced distutils.sysconfig.get_python_lib with sysconfig.get_path. 2023-12-18 12:21:20 +05:30
Akshay Joshi 9379df2543 Update version for release 8.1 2023-12-11 12:49:43 +05:30
Anil Sahoo 4490b623f8 Fixed an issue where option key was not registering in PSQL tool. #6968 2023-12-11 11:28:33 +05:30
Domenico Sgarbossa 371bec7f19 Italian translations update for v8.1 2023-12-11 10:58:33 +05:30
Pravesh Sharma a01b0973fc Fixed an issue where syntax error was not highlighting for explain query. #6887 2023-12-11 10:57:17 +05:30
Akshay Joshi 75a1b4b17e Update message catalog for v8.1 2023-12-07 20:06:01 +05:30
Aditya Toshniwal 51b02ae6d4 Fix few accessibility related issues. #6991 2023-12-06 11:18:23 +05:30
Akshay Joshi e207a82dbb Remove the 'Close Window' submenu specifically for OSX to prevent unintended closure of the entire application. #6814 (partial fixed) 2023-12-05 12:29:28 +05:30
Anil Sahoo 9cf3288934 Fixed an issue where option key was not registering in PSQL tool. #6968 2023-12-05 11:59:27 +05:30
Pravesh Sharma e64f4f632d 1. Fixed an issue where all rows and filter rows buttons of object explorer toolbar were disabled for views and other supported nodes. #7011
2. Fixed an issue where View/Edit data -> Filter dialog was not editable for catalog objects.
2023-12-04 17:19:05 +05:30
Anil Sahoo 4b71519b80 Rename all references of 'Execute query' to 'Execute script' to be more relevant. #6842 2023-12-04 12:28:53 +05:30
Yogesh Mahajan 4e2aa82ddd Provide a way to bypass the SSL cert verification for OAuth2 provider. #6095 2023-12-04 11:19:14 +05:30
Akshay Joshi 444f3a3189 Update release note. 2023-12-01 13:05:56 +05:30
Akshay Joshi 2b2ff0d260 Ensure that indexes created by constraints are visible in the object explorer when "Show system objects" is enabled. #6717 2023-12-01 13:02:21 +05:30
Anil Sahoo f2876cabe8 1. Fixed an issue where database name was missing in an error message if name contains any special characters. #6488
2. Add a confirmation dialog before closing a query tool when a query is already running.
2023-11-30 18:23:52 +05:30
Aditya Toshniwal 16d1df2a1b Fixed an issue where schema diff tool is not loading preferences on start. #7017 2023-11-30 15:31:23 +05:30
Akshay Joshi fd1a0753bc Fixed an issue where the Schema was not visible in the dropdown for table properties or when creating a new table. #6964 2023-11-29 13:09:01 +05:30
Harald Dumdey c84f38ac0f Update Dockerfile. Added tzdata 2023-11-29 11:30:52 +05:30
Akshay Joshi f3fb76f669 Update release note 2023-11-28 16:46:32 +05:30
Aditya Toshniwal 377216caec Add support for generating ERD for a schema. #4580 2023-11-28 16:42:51 +05:30
Aditya Toshniwal c9590b2d62 Remove botocore from requirements as it is installed by boto3 2023-11-28 16:34:49 +05:30
dependabot[bot] 1622211b39 Python dependency: Update boto3 requirement from ==1.28.* to ==1.33.* (#7010)
Updates the requirements on [boto3](https://github.com/boto/boto3) to permit the latest version.
- [Release notes](https://github.com/boto/boto3/releases)
- [Changelog](https://github.com/boto/boto3/blob/develop/CHANGELOG.rst)
- [Commits](https://github.com/boto/boto3/compare/1.28.0...1.33.1)

---
updated-dependencies:
- dependency-name: boto3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-28 16:10:42 +05:30
dependabot[bot] 523eca5a95 Javascript dependency: Bump browserify-sign from 4.2.1 to 4.2.2 in /web (#6896)
Bumps [browserify-sign](https://github.com/crypto-browserify/browserify-sign) from 4.2.1 to 4.2.2.
- [Changelog](https://github.com/browserify/browserify-sign/blob/main/CHANGELOG.md)
- [Commits](https://github.com/crypto-browserify/browserify-sign/compare/v4.2.1...v4.2.2)

---
updated-dependencies:
- dependency-name: browserify-sign
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-28 15:57:59 +05:30
dependabot[bot] 1bebddfc7d Javascript dependency: bump html-react-parser in /web (#6931)
---
updated-dependencies:
- dependency-name: html-react-parser
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-28 15:57:15 +05:30
Nikhil Mohite 37362541bf Ensure focus is not changed to ssh tunnel password input when user explicitly focus on server password input. 2023-11-28 15:55:48 +05:30
Pravesh Sharma 412375af3c - Add support for creating a function with custom return type. #6854
- Fixed an issue where create object dialog title was not showing object type name.
2023-11-28 15:54:44 +05:30
Akshay Joshi 3bd2dec663 Fixed an issue where the Vacuum option INDEX_CLEANUP have an incorrect value ('AUTO') for database versions < 14. #6984 2023-11-28 12:32:57 +05:30
Khushboo Vashi 222e8cc1f8 Upgade yarn for Javascript style github workflow. 2023-11-27 15:53:23 +05:30
Akshay Joshi 85255b65b1 1) Ensure that the Authentication Source in the drop-down of the UserManagement dialog aligns with the entries specified for AUTHENTICATION_SOURCES in the configuration file. #6950
2) Fixed an issue where the pgAdmin page went blank when clicking the delete button in the User Management dialog. #6989
2023-11-27 14:16:49 +05:30
Akshay Joshi 338bb64a55 Fixed an issue where reading process logs throws an error when DATA_DIR is moved to a networked drive. #6803 2023-11-23 16:32:52 +05:30
Akshay Joshi a9ca7a2fd4 Update release note 2023-11-23 15:59:03 +05:30
Pravesh Sharma b51df0e5fd Fixed an issue where syntax error was not highlighting in query tool. #6887 2023-11-23 15:55:23 +05:30
Yogesh Mahajan e66cb54a58 Ensure user is not prompted for password if server password is saved and server configuration has invalid pgpass file parameter. #6934 2023-11-23 15:54:14 +05:30
Nikhil Mohite 361ae458d4 Fixed an issue where on entering full screen, the option label is not changed to 'Exit Full Screen' in desktop mode. #6921 2023-11-23 15:52:00 +05:30
Aditya Toshniwal 115208c8d8 Reverse engineer serial columns when generating ERD for database/table. #6958 2023-11-23 15:50:54 +05:30
Khushboo Vashi 9611e06dcf Upgrade yarn to fix github action failures. 2023-11-23 15:14:13 +05:30
Khushboo Vashi 22b386165d Try to fix the yarn version mismatch issue. 2023-11-23 12:46:05 +05:30
Aditya Toshniwal 19cbe8c39f More fixes related to rc-dock changes. #6479 2023-11-20 17:45:17 +05:30
Akshay Joshi d8bcc11a95 Remove EPAS 11 and added EPAS 16 in the Binary Path. 2023-11-20 17:31:39 +05:30
Akshay Joshi 9f203cf7d7 Update release note 2023-11-20 11:56:53 +05:30
Khushboo Vashi 06a612481f Update release notes. 2023-11-20 11:36:16 +05:30
Everton Seiei Arakaki 682d6597e4 Fix an issue where OAUTH_ADDITIONAL_CLAIMS does not recognise AzureAD with > 150 groups. #6835 2023-11-20 11:33:39 +05:30
Libor M a59372cbe3 Czech translation for version 8.0 2023-11-17 18:09:44 +05:30
Akshay Joshi 101f6fc103 1) Remove the version folder from the Windows Default Installation path.
2) Rename the release note to 8.0
3) Update the version for release v8.0
2023-11-17 17:52:56 +05:30
Martin Tietz 23c618e1c9 Fix more data type mismatch when checking OAUTH2 claims 2023-11-17 16:30:04 +05:30
Aditya Toshniwal 0bc044fa67 Fixed an issue where Geometry Viewer renders geometry incorrectly after trying to view 3D or non-4326 SRID geometry. #6017 2023-11-17 16:29:01 +05:30
Martin Tietz 5bdccb6e63 Fix a data type mismatch when checking OAUTH2 claims 2023-11-17 15:18:07 +05:30
Domenico Sgarbossa 6d7338e64d Update Italian translation for v7.9 2023-11-17 11:23:26 +05:30
Aditya Toshniwal 0358298090 Fix failing feature tests 2023-11-16 21:01:43 +05:30
Akshay Joshi 0e3dc74bb4 Update message catalogs for v7.9 2023-11-16 18:19:54 +05:30
Akshay Joshi 302e1acabd Fixed an issue where the data type of the array type was not visible for the column in the Foreign Table dialog. #6962 2023-11-16 17:49:26 +05:30
Aditya Toshniwal c9db4a0d16 Add DROP SQL for foreign keys in SQL generated by ERD when using WITH DROP option. #5770 2023-11-16 16:55:26 +05:30
Akshay Joshi cc239149ba Fixed and improve few API test cases. 2023-11-16 14:43:10 +05:30
Aditya Toshniwal c4a5f8d707 Fix a crash issue occurring when debugging a function with arguments when using pgAdmin with external config database. #6904 2023-11-15 17:42:58 +05:30
Aditya Toshniwal 75a2d880f6 More fixes for UI issues found when testing wcDocker changes. #6479 2023-11-14 16:47:40 +05:30
Mirko e5cba59a02 Add JSON key "SharedUsername" to servers.json example 2023-11-13 17:39:49 +05:30
Akshay Joshi 0e8868a650 Remove gettext from empty strings in the title of the storage graph. #6884 2023-11-13 16:20:51 +05:30
Anil Sahoo 7f49b891df Fix an issue in ERD tool where SQL generated is missing columns for the table. #6920 2023-11-13 13:53:10 +05:30
Akshay Joshi 0ac471d160 Fix an issue where import/export data is not working for shared servers. #6875 2023-11-13 13:40:38 +05:30
Yogesh Mahajan 370cb611d7 Clear the password field in the config database on clear saved server password. #6934 2023-11-09 13:02:19 +05:30
Nikhil Mohite d4b57edede Fixed an issue where the change server password is not working in desktop mode #6902 2023-11-09 12:06:42 +05:30
Aditya Toshniwal 85dd1e92ad Fix issues found when testing Flask upgrade and wcDocker changes. #6479 2023-11-08 18:07:32 +05:30
Aditya Toshniwal ef0b30b1ca Continue fixing multiple UI issues found when testing wcDocker changes. #6479 2023-11-06 18:08:16 +05:30
Yogesh Mahajan 0d8adf9ced Ensure backup/restore/maintenance works with invalid pgpass file parameter. #6820 2023-11-06 18:02:52 +05:30
Anil Sahoo 695c008245 Remove the max length of 255 from password exec command in server configuration dialog. #6877 2023-11-06 11:55:29 +05:30
Aditya Toshniwal 96fccd28a9 Upgrade Flask, Flask-SQLAlchemy, Flask-WTF, Flask-Babel, Flask-Security-Too, WTForms, Werkzeug and keep backward compatibility with Python 3.7 2023-11-03 18:19:01 +05:30
Akshay Joshi 5f3965ff0a 1) Replace utcnow() function with datetime.now(timezone.utc) as it is deprecated from Python v3.12.
2) Correct the URL to log an issue in pgAdmin in the ERD tool script.
2023-11-03 16:55:24 +05:30
Anil Sahoo 6062084128 Fixed the query generated when creating subscription where copy_data parameter was missing. #6817 2023-11-03 14:58:48 +05:30
Pravesh Sharma 01d1e6f706 Server config information in the about dialog should be only visible to admin users. #6769 2023-11-03 14:37:25 +05:30
Akshay Joshi 9eb7c1cbea 1) Ensure that eventlet's subprocess is used for Python versions up to 3.11 and await the issue resolution for Python versions 3.12.
2) Fixed unescape sequence for Python 3.12
2023-11-02 16:03:50 +05:30
Pravesh Sharma 5d70803d6d 1. Fixed an issue where psql was not taking the role used to connect in server properties. #5807
2. Corrected title in query tool connection link.
2023-11-02 11:00:27 +05:30
Akshay Joshi 53b5b59f56 Use notarytool instead of altool for notarization, as altool has been deprecated. (#6919) 2023-11-01 15:39:35 +00:00
Aditya Toshniwal 17acce3e7b Continue fixing multiple UI issues found when testing wcDocker changes. #6479 2023-11-01 20:52:38 +05:30
dependabot[bot] d3dd5c0b56 Python dependency: Update keyring requirement from ==23.* to ==24.* (#6552)
Updates the requirements on [keyring](https://github.com/jaraco/keyring) to permit the latest version.
- [Release notes](https://github.com/jaraco/keyring/releases)
- [Changelog](https://github.com/jaraco/keyring/blob/main/NEWS.rst)
- [Commits](https://github.com/jaraco/keyring/compare/v23.0.0...v24.2.0)

---
updated-dependencies:
- dependency-name: keyring
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 17:40:46 +05:30
Khushboo Vashi 71e7a7c481 Update release notes. 2023-11-01 15:32:25 +05:30
Anil Sahoo 0b707be615 Fixed restoration of query tool database connection after dropping and re-creating the database with the same name. #6487 2023-11-01 15:27:18 +05:30
Akshay Joshi 179332ed5a Update yarn.lock file and added .yarnrc.yml 2023-10-31 16:27:42 +05:30
Yogesh Mahajan a8a7574e69 Fixed circular import error occurring while deploying cloud PostgreSQL instance from pgAdmin. #6840
Update AWS, Google Cloud lib version.
2023-10-31 14:07:34 +05:30
Aditya Toshniwal e30d2eca90 Continue fixing multiple UI and SonarQube issues found when testing wcDocker changes. #6479 2023-10-30 16:57:01 +05:30
Aditya Toshniwal 4bc6dcca67 Fix the sorting of size on the statistics panel. #6459 2023-10-30 11:23:46 +05:30
Akshay Joshi 46a8c1ad6a Use Python's subprocess module instead of the eventlet's subprocess as it is not working with Python v3.12 2023-10-27 17:23:33 +05:30
Aditya Toshniwal 3e575e2f43 Fix an annoying yarn version yml change 2023-10-27 15:54:37 +05:30
Aditya Toshniwal b11b2a2f50 Continue fixing multiple UI and SonarQube issues found when testing wcDocker changes. #6479 2023-10-27 15:51:45 +05:30
Yogesh Mahajan 1bfd8d7f3c Fix foreign table api test failures for EPAS. 2023-10-27 12:58:47 +05:30
dependabot[bot] f1da4f5de8 JS dependency: Bump @svgr/webpack from 6.5.1 to 8.1.0 in /web (#6893)
Bumps [@svgr/webpack](https://github.com/gregberge/svgr) from 6.5.1 to 8.1.0.
- [Release notes](https://github.com/gregberge/svgr/releases)
- [Changelog](https://github.com/gregberge/svgr/blob/main/CHANGELOG.md)
- [Commits](https://github.com/gregberge/svgr/compare/v6.5.1...v8.1.0)

---
updated-dependencies:
- dependency-name: "@svgr/webpack"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-27 11:58:55 +05:30
Aditya Toshniwal 5a7583654f Move yarn to berry first before moving to 3.x 2023-10-26 15:17:41 +05:30
Aditya Toshniwal cfa7bef407 Fix the builds failing because of previous commit 2023-10-26 13:31:48 +05:30
Aditya Toshniwal 8997f616a2 Do not use minor version x when setting yarn version 2023-10-26 13:14:01 +05:30
Aditya Toshniwal f50f799b88 Use yarn version 3.x as berry is taking version 4.x now 2023-10-26 12:37:35 +05:30
Aditya Toshniwal 3bcac26ff9 Fix multiple UI and SonarQube issues found when testing wcDocker changes. #6479 2023-10-26 12:06:28 +05:30
Akshay Joshi c5f4a56c0c Fixed an issue where Schema Diff does not work when the user language is set to any language other than English in Preferences. #6784 2023-10-26 11:49:55 +05:30
dependabot[bot] d74320f06e JS dependency: Bump @babel/traverse from 7.22.5 to 7.23.2 in /web (#6881)
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.22.5 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-26 11:43:33 +05:30
dependabot[bot] b003f76903 JS dependency: Bump react-draggable from 4.4.5 to 4.4.6 in /web (#6885)
Bumps [react-draggable](https://github.com/react-grid-layout/react-draggable) from 4.4.5 to 4.4.6.
- [Release notes](https://github.com/react-grid-layout/react-draggable/releases)
- [Changelog](https://github.com/react-grid-layout/react-draggable/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-grid-layout/react-draggable/compare/v4.4.5...v4.4.6)

---
updated-dependencies:
- dependency-name: react-draggable
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-26 11:42:33 +05:30
Khushboo Vashi ebc3460fce Update release notes. 2023-10-25 18:56:40 +05:30
Aditya Toshniwal ed51fe475e Upgrade python package cryptography to latest version 2023-10-25 18:42:31 +05:30
Khushboo Vashi f2bd3933c6 Update release notes. 2023-10-23 17:50:58 +05:30
Aditya Toshniwal 862f101772 Significant changes to use ReactJS extensively.
1. Replace the current layout library wcDocker with ReactJS based rc-dock. #6479
2. Have close buttons on individual panel tabs instead of common. #2821
3. Changes in the context menu on panel tabs - Add close, close all and close others menu items. #5394
4. Allow closing all the tabs, including SQL and Properties. #4733
5. Changes in docking behaviour of different tabs based on user requests and remove lock layout menu.
6. Fix an issue where the scroll position of panels was not remembered on Firefox. #2986
7. Reset layout now will not require page refresh and is done spontaneously.
8. Use the zustand store for storing preferences instead of plain JS objects. This will help reflecting preferences immediately.
9. The above fix incorrect format (no indent) of SQL stored functions/procedures. #6720
10. New version check is moved to an async request now instead of app start to improve startup performance.
11. Remove jQuery and Bootstrap completely.
12. Replace jasmine and karma test runner with jest. Migrate all the JS test cases to jest. This will save time in writing and debugging JS tests.
13. Other important code improvements and cleanup.
2023-10-23 17:43:17 +05:30
Khushboo Vashi 6d555645e9 Update release notes. 2023-10-23 11:22:49 +05:30
Benjamin Blattberg e587ef404c Fix an issue where the default server-group is being deleted if the load-server json file contains no servers. #6602 2023-10-23 11:16:57 +05:30
Aditya Toshniwal fe753bd272 Fix doc build failure 2023-10-21 16:25:53 +05:30
Khushboo Vashi c07c153f15 Fix an issue where the browser window stuck on spinning with an Oauth user without email. #6874 2023-10-20 11:16:35 +05:30
1708 changed files with 89223 additions and 81513 deletions

No files matched your search

+9 -9
View File
@@ -8,7 +8,7 @@ updates:
- "Dependencies"
commit-message:
prefix: "Docker dependency"
- package-ecosystem: "pip"
directory: "/"
schedule:
@@ -17,7 +17,7 @@ updates:
- "Dependencies"
commit-message:
prefix: "Python dependency"
- package-ecosystem: "pip"
directory: "/tools"
schedule:
@@ -25,8 +25,8 @@ updates:
labels:
- "Dependencies"
commit-message:
prefix: "Python dependency"
prefix: "Python dependency"
- package-ecosystem: "pip"
directory: "/web/regression"
schedule:
@@ -34,8 +34,8 @@ updates:
labels:
- "Dependencies"
commit-message:
prefix: "Python dependency"
prefix: "Python dependency"
- package-ecosystem: "npm"
directory: "/runtime"
schedule:
@@ -43,8 +43,8 @@ updates:
labels:
- "Dependencies"
commit-message:
prefix: "Python dependency"
prefix: "Javascript dependency"
- package-ecosystem: "npm"
directory: "/web"
schedule:
@@ -52,4 +52,4 @@ updates:
labels:
- "Dependencies"
commit-message:
prefix: "Python dependency"
prefix: "Javascript dependency"
@@ -19,6 +19,11 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Upgrade yarn
run: |
yarn set version berry
yarn set version 3
- name: Install Node modules
run: |
cd web
+6 -1
View File
@@ -21,7 +21,7 @@ jobs:
strategy:
fail-fast: false
matrix:
pgver: [11, 12, 13, 14, 15]
pgver: [12, 13, 14, 15, 16]
runs-on: ubuntu-latest
@@ -136,6 +136,11 @@ jobs:
}
EOF
- name: Upgrade yarn
run: |
yarn set version berry
yarn set version 3
- name: Build the JS bundle
run: |
cd web
@@ -139,6 +139,11 @@ jobs:
}
EOF
- name: Upgrade yarn
run: |
yarn set version berry
yarn set version 3
- name: Build the JS bundle
run: |
cd web
+6 -1
View File
@@ -22,11 +22,16 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- uses: actions/setup-node@v3
with:
node-version: '18.x'
- uses: actions/checkout@v3
- name: Upgrade yarn
run: |
yarn set version berry
yarn set version 3
- name: Install Node modules
run: |
@@ -36,4 +41,4 @@ jobs:
- name: Run the tests
run: |
cd web
yarn run test:karma-once
yarn run test:js-once
+1 -1
View File
@@ -32,7 +32,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-22.04, windows-latest]
pgver: [11, 12, 13, 14, 15]
pgver: [12, 13, 14, 15, 16]
runs-on: ${{ matrix.os }}
+1 -1
View File
@@ -1,5 +1,5 @@
[pycodestyle]
ignore = E402,W504,W605,E231,W605
ignore = E402,W504,E231
max-line-length = 79
statistics = True
show-source = False
+5 -2
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
#########################################################################
@@ -47,6 +47,7 @@ WORKDIR /pgadmin4/web
# Build the JS vendor code in the app-builder, and then remove the vendor source.
RUN export CPPFLAGS="-DPNG_ARM_NEON_OPT=0" && \
yarn set version berry && \
yarn set version 3 && \
yarn install && \
yarn run bundle && \
rm -rf node_modules \
@@ -55,7 +56,8 @@ RUN export CPPFLAGS="-DPNG_ARM_NEON_OPT=0" && \
.[^.]* \
babel.cfg \
webpack.* \
karma.conf.js \
jest.config.js \
babel.* \
./pgadmin/static/js/generated/.cache
#########################################################################
@@ -191,6 +193,7 @@ RUN apk add \
libjpeg-turbo \
shadow \
sudo \
tzdata \
libedit \
libldap \
libcap && \
+1 -1
View File
@@ -4,7 +4,7 @@ pgAdmin 4
This software is released under the PostgreSQL licence.
-------------------------------------------------------------------------------
Copyright (C) 2013 - 2023, The pgAdmin Development Team
Copyright (C) 2013 - 2024, The pgAdmin Development Team
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose, without fee, and without a written agreement is
+4 -4
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
#########################################################################
@@ -42,7 +42,7 @@ linter:
cd web && yarn run linter
check: install-node bundle linter check-pep8
cd web && yarn run karma start --single-run && python regression/runtests.py
cd web && yarn run test:js-once && python regression/runtests.py
check-audit:
cd web && yarn run audit
@@ -77,10 +77,10 @@ check-feature: install-node bundle
cd web && python regression/runtests.py --pkg feature_tests
check-js: install-node linter
cd web && yarn run karma start --single-run
cd web && yarn run test:js-once
check-js-coverage:
cd web && yarn run test:karma-coverage
cd web && yarn run test:js-coverage
# Include all clean sub-targets in clean
clean: clean-appbundle clean-debian clean-dist clean-docs clean-node clean-pip clean-redhat clean-src
+17 -18
View File
@@ -1,7 +1,7 @@
# pgAdmin 4
# pgAdmin 4
pgAdmin 4 is a rewrite of the popular pgAdmin3 management tool for the
PostgreSQL (http://www.postgresql.org) database.
PostgreSQL (http://www.postgresql.org) database.
In the following documentation and examples, *$PGADMIN4_SRC/* is used to denote
the top-level directory of a copy of the pgAdmin source tree, either from a
@@ -9,9 +9,8 @@ tarball or a git checkout.
## Architecture
pgAdmin 4 is written as a web application in Python, using jQuery and Bootstrap
for the client side processing and UI. On the server side, Flask is being
utilised.
pgAdmin 4 is written as a web application with Python(Flask) on the server side
and ReactJS, HTML5 with CSS for the client side processing and UI.
Although developed using web technologies, pgAdmin 4 can be deployed either on
a web server using a browser, or standalone on a workstation. The runtime/
@@ -22,7 +21,7 @@ which will execute the Python server and display the UI.
To build the runtime, the following packages must be installed:
* NodeJS 12+
* NodeJS 16+
* Yarn
Change into the runtime directory, and run *yarn install*. This will install the
@@ -59,20 +58,20 @@ simple - adapt as required for your distribution:
```bash
$ python3 -m venv venv
```
2. Now activate the virtual environment:
```bash
$ source venv/bin/activate
```
3. Some of the components used by pgAdmin require a very recent version of *pip*,
so update that to the latest:
```bash
$ pip install --upgrade pip
```
4. Ensure that a PostgreSQL installation's bin/ directory is in the path (so
pg_config can be found for building psycopg3), and install the required
packages:
@@ -80,20 +79,20 @@ simple - adapt as required for your distribution:
```bash
(venv) $ PATH=$PATH:/usr/local/pgsql/bin pip install -r $PGADMIN4_SRC/requirements.txt
```
If you are planning to run the regression tests, you also need to install
additional requirements from web/regression/requirements.txt:
```bash
(venv) $ pip install -r $PGADMIN4_SRC/web/regression/requirements.txt
```
5. Create a local configuration file for pgAdmin. Edit
$PGADMIN4_SRC/web/config_local.py and add any desired configuration options
(use the config.py file as a reference - any settings duplicated in
config_local.py will override those in config.py). A typical development
configuration may look like:
```python
from config import *
@@ -126,7 +125,7 @@ simple - adapt as required for your distribution:
'pgadmin4-server.db'
)
```
This configuration allows easy switching between server and desktop modes
for testing.
@@ -137,13 +136,13 @@ simple - adapt as required for your distribution:
```bash
(venv) $ python3 $PGADMIN4_SRC/web/setup.py
```
or by starting pgAdmin 4:
```bash
(venv) $ python3 $PGADMIN4_SRC/web/pgAdmin4.py
```
Whilst it is possible to automatically run setup in desktop mode by running
the runtime, that will not work in server mode as the runtime doesn't allow
command line interaction with the setup program.
@@ -228,7 +227,7 @@ To build a source tarball:
(venv) $ make src
```
To build a PIP Wheel, activate either a Python 3 virtual environment, configured
To build a PIP Wheel, activate either a Python 3 virtual environment, configured
with all the required packages, and then run:
```bash
@@ -266,7 +265,7 @@ See https://www.pgadmin.org/support/ for support options.
If you would like to report a security issue with pgAdmin, please email
**security (at) pgadmin (dot) org**.
Note that this address should only be used for reporting security issues
that you believe you've found in the design or code of pgAdmin, pgAgent,
and the pgAdmin website. It should not be used to ask security questions.
+2 -3
View File
@@ -5,7 +5,7 @@
**********************
The bulk of pgAdmin is a Python web application written using the Flask framework
on the backend, and HTML5 with CSS3, Bootstrap and jQuery on the front end. A
on the backend, and HTML5 with CSS3,ReactJS on the front end. A
desktop runtime is also included for users that prefer a desktop application to
a web application, which is written using NWjs (Node Webkit).
@@ -207,8 +207,7 @@ Front End
pgAdmin uses javascript extensively for the front-end implementation. It uses
require.js to allow the lazy loading (or, say load only when required),
bootstrap and MaterialUI for UI look and feel, React for generating
properties/create dialog for selected node. We have
ReactJS with CSS and MaterialUI for UI look and feel. We have
divided each module in small chunks as much as possible. Not all javascript
modules are required to be loaded (i.e. loading a javascript module for
database will make sense only when a server node is loaded completely.) Please
+1 -1
View File
@@ -16,7 +16,7 @@ review process for any changes submitted for inclusion in pgAdmin.
bulk updates every year). The start date should always be 2013, and the end year
the current year, e.g.
Copyright (C) 2013 - 2023, The pgAdmin Development Team
Copyright (C) 2013 - 2024, The pgAdmin Development Team
* Ensure there's a blank line immediately following any copyright headers.
+4 -6
View File
@@ -22,14 +22,12 @@ purpose or how it works if not obvious from a quick review of the code itself.
CSS 3
*****
CSS3 is used for styling and layout throughout the application. Extensive use is
made of the Bootstrap Framework to aid in that process, however additional
styles must still be created from time to time.
CSS3 is used for styling and layout throughout the application.
Most custom styling comes from individual modules which may advertise static
stylesheets to be included in the module that is loading them via hooks.
Styling overrides (for example, to alter the Bootstrap look and feel) will
Styling overrides (for example, to alter the look and feel) will
typically be found in the **overrides.css** file in the main static file
directory for the application.
@@ -64,7 +62,7 @@ All HTML must be HTML 5 compliant.
Javascript
**********
Client-side code is written in Javascript using jQuery and various plugins.
Client-side code is written in Javascript using ReactJS and various plugins.
Whilst much of the code is rendered from static files, there is also code that
is rendered from templates using Jinja2 (often to inject the users settings) or
constructed on the fly from module hooks.
@@ -122,7 +120,7 @@ with the required file header is shown below::
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+2
View File
@@ -43,6 +43,8 @@ are disabled if inapplicable.)
for the column. Compression is supported only for variable-width data types,
and is used only when the column's storage mode is main or extended. This
option is available from v14 and above.
* Use the drop-down listbox next to *Storage* to set the storage mode for the
column. This option is available from v16 and above.
Click the *Constraints* tab to continue.
+15
View File
@@ -222,3 +222,18 @@ To delete a row from the grid, click the trash icon.
:maxdepth: 2
viewdata_filter
Promote View/Edit Data to Query Tool
************************************
A View/Edit Data tab can be converted to a Query Tool Tab just by editing the query. Once you start editing, it will ask if you really want to move away from View/Edit.
.. image:: images/promote_view_edit_data_warning.png
:alt: Promote View/Edit Data tab to Query Tool tab warning
:align: center
You can disable the dialog by selecting the "Don't Ask again" checkbox. If you wish to resume the confirmation dialog, you can do it from "Prefrences -> Query Tool -> Editor -> Show View/Edit Data Promotion Warning?"
Once you chose to continue, you won't be able to use the features of View/Edit mode like the filter and sorting options, limit, etc. It is a one-way conversion. It will be a query tool now.
+8 -1
View File
@@ -18,7 +18,14 @@ The Entity-Relationship Diagram (ERD) tool is a database design tool that provid
:alt: ERD tool window
:align: center
You can open multiple copies of the ERD tool in individual tabs simultaneously. To close a copy of the ERD tool, click the *X* in the upper-right hand corner of the tab bar.
You can open multiple copies of the ERD tool in individual tabs simultaneously.
You can also generate an ERD from a database, schema or a table.
* The ERD for database will fetch all the tables from all the schemas of the database and plot them with foreign key links.
* The ERD for schema will fetch all the tables from a schema and plot them with foreign key links. If any table refers to a table in another
schema, then that link/foreign key will be removed.
* The ERD for table will fetch all the tables linked directly or indirectly to mentioned table. You can change the depth of traversal from :ref:`Preferences <preferences>`.
Toolbar
*******
+3 -1
View File
@@ -35,8 +35,10 @@ Click the *Definition* tab to continue.
Use the fields in the *Definition* tab to define the function:
* Move the *Custom return type?* switch to provide a user defined return type.
* Use the drop-down listbox next to *Return type* to select the data type
returned by the function, if any.
returned by the function, if any. If *Custom return type?* is enabled this field
will change to an input text field.
* Use the drop-down listbox next to *Language* to select the implementation
language. The default is *sql*.
* Use the fields in the *Arguments* to define an argument. Click the *Add*
Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 113 KiB

After

Width:  |  Height:  |  Size: 190 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 34 KiB

+14 -13
View File
@@ -61,7 +61,7 @@ Exporting Servers
*****************
To export the servers defined in an installation, simply invoke ``setup.py`` with
the ``--dump-servers`` command line option, followed by the name (and if required,
the ``dump-servers`` command line option, followed by the name (and if required,
path) to the desired output file. By default, servers owned by the desktop mode
user will be dumped (pgadmin4@pgadmin.org by default - see the DESKTOP_USER
setting in ``config.py``). This can be overridden with the ``--user`` command
@@ -73,28 +73,28 @@ For example:
.. code-block:: bash
/path/to/python /path/to/setup.py --dump-servers output_file.json
/path/to/python /path/to/setup.py dump-servers output_file.json
# or, to specify a non-default user name:
# or, to specify a non-default user name and auth source (the default is Internal):
/path/to/python /path/to/setup.py --dump-servers output_file.json --user user@example.com
/path/to/python /path/to/setup.py dump-servers output_file.json --user user@example.com --auth_source ldap
# to specify a pgAdmin config DB file:
/path/to/python /path/to/setup.py --dump-servers output_file.json --sqlite-path /path/to/pgadmin4.db
/path/to/python /path/to/setup.py dump-servers output_file.json --sqlite-path /path/to/pgadmin4.db
To export only certain servers, use the ``--servers`` option and list one or
To export only certain servers, use the ``--server`` option and list one or
more server IDs. For example:
.. code-block:: bash
/path/to/python /path/to/setup.py --dump-servers output_file.json --server 1 2 5
/path/to/python /path/to/setup.py dump-servers output_file.json --server 1 --server 2 --server 5
Importing Servers
*****************
To import the servers defined in a JSON file, simply invoke ``setup.py`` with
the ``--load-servers`` command line option, followed by the name (and if required,
the ``load-servers`` command line option, followed by the name (and if required,
path) of the JSON file containing the server definitions. Servers will be owned
by the desktop mode user (pgadmin4@pgadmin.org by default - see the DESKTOP_USER
setting in ``config.py``). This can be overridden with the ``--user`` command
@@ -108,19 +108,19 @@ desktop mode. By default SQLITE_PATH setting in ``config.py`` is taken. For exam
.. code-block:: bash
/path/to/python /path/to/setup.py --load-servers input_file.json
/path/to/python /path/to/setup.py load-servers input_file.json
# or, to replace the list of servers with the newly imported one:
/path/to/python /path/to/setup.py --load-servers input_file.json --replace
/path/to/python /path/to/setup.py load-servers input_file.json --replace
# or, to specify a non-default user name to own the new servers:
# or, to specify a non-default user name and auth source (the default is Internal) to own the new servers:
/path/to/python /path/to/setup.py --load-servers input_file.json --user user@example.com
/path/to/python /path/to/setup.py load-servers input_file.json --user user@example.com
# to specify a pgAdmin config DB file:
/path/to/python /path/to/setup.py --load-servers input_file.json --sqlite-path /path/to/pgadmin4.db
/path/to/python /path/to/setup.py load-servers input_file.json --sqlite-path /path/to/pgadmin4.db
If any Servers are defined with a Server Group that is not already present in
the configuration database, the required Group will be created.
@@ -170,6 +170,7 @@ The following example shows both a minimally defined and a fully defined server:
"SSLCrl": "/path/to/sslcrl.crl",
"SSLCompression": 1,
"Shared": false,
"SharedUsername": "postgres",
"BGColor": "#ff9900",
"FGColor": "#000000",
"Service": "postgresql-10",
+3
View File
@@ -87,6 +87,9 @@ There are 3 ways to configure LDAP:
"LDAP_KEY_FILE","Specifies the path to the server private key file. This parameter
is applicable only if you are using *ldaps* as connection protocol or you have
set *LDAP_USE_STARTTLS* parameter to *True*."
"LDAP_IGNORE_MALFORMED_SCHEMA", "Some flaky LDAP servers returns malformed schema.
If this parameter set to *True*, no exception will be raised and schema is thrown away
but authentication will be done. This parameter should remain False, as recommended."
"**Bind as pgAdmin user**"
"LDAP_BASE_DN","Specifies the base DN from where a server will start the search
for users. For example, an LDAP search for any user will be performed by the server
+1 -1
View File
@@ -13,7 +13,7 @@ documentation is attributed to the
.. topic:: pgAdmin 4
Copyright (C) 2013 - 2023, The pgAdmin Development Team
Copyright (C) 2013 - 2024, The pgAdmin Development Team
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose, without fee, and without a written agreement is
+8 -3
View File
@@ -25,9 +25,6 @@ Use the *File* menu to access the following options:
+-------------------------+---------------------------------------------------------------------------------------------------------+
| *Reset Layout* | If you have modified the workspace, click to restore the default layout. |
+-------------------------+---------------------------------------------------------------------------------------------------------+
| *Lock Layout* | Click to open a submenu to select the level for locking the UI layout |
| | This can also be changed from browser display :ref:`preferences <preferences>` |
+-------------------------+---------------------------------------------------------------------------------------------------------+
| *Runtime* | Click to open a submenu to Configure, View Log and Zoom settings. Only visible when pgAdmin4 runs in |
| | desktop mode. To know more about runtime menu :ref:`click here <desktop_deployment>` |
+-------------------------+---------------------------------------------------------------------------------------------------------+
@@ -45,6 +42,12 @@ following options (in alphabetical order):
+-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
| Option | Action |
+=============================+==========================================================================================================================+
| *Register* | |
| | |
| 1) *Server* | Click to open the :ref:`Server <server_dialog>` dialog to register a server. |
| | |
| 2) *Deploy Cloud Instance*| Click to open the :ref:`Cloud Deployment <cloud_deployment>` dialog to deploy an cloud instance. |
+-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
| *Change Password...* | Click to open the :ref:`Change Password... <change_password_dialog>` dialog to change your password. |
+-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
| *Clear Saved Password* | If you have saved the database server password, click to clear the saved password. |
@@ -55,6 +58,8 @@ following options (in alphabetical order):
+-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
| *Connect Server* | Click to open the :ref:`Connect to Server <connect_to_server>` dialog to establish a connection with a server. |
+-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
| *Copy Server...* | Click to copy the currently selected server. |
+-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
| *Create* | Click *Create* to access a context menu that provides context-sensitive selections. |
| | Your selection opens a *Create* dialog for creating a new object. |
+-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
+4 -2
View File
@@ -43,9 +43,11 @@ and modify the values for the following parameters:
"OAUTH2_AUTO_CREATE_USER", "Set the value to *True* if you want to automatically
create a pgAdmin user corresponding to a successfully authenticated Oauth2 user.
Please note that password is not stored in the pgAdmin database."
"OAUTH2_ADDITIONAL_CLAIMS", "If a dictionary is provided, pgAdmin will check for a matching key and value on the user profile.
In case the profile does not have any match with the provided config, the user will receive an authorization error.
"OAUTH2_ADDITIONAL_CLAIMS", "If a dictionary is provided, pgAdmin will check for a matching key and value on the userinfo endpoint
and in the Id Token. In case there is no match with the provided config, the user will receive an authorization error.
Useful for checking AzureAD_ *wids* or *groups*, GitLab_ *owner*, *maintainer* and *reporter* claims."
"OAUTH2_SSL_CERT_VERIFICATION", "Set this variable to False to disable SSL certificate verification for OAuth2 provider.
This may need to set False, in case of self-signed certificates."
Redirect URL
============
+53 -25
View File
@@ -46,19 +46,6 @@ Use the fields on the *Display* panel to specify general display preferences:
* When the *Hide shared servers?* switch is set to *True*, the client will hide
all the shared servers from the object explorer.
* Use the *Lock layout* field to lock the UI layout at different levels. This
can also be changed from File menu on the :ref:`menu bar <menu_bar>`
+---------------------+-------------------------------------------------------------------+
| Option | Action |
+=====================+===================================================================+
| *None* | No locking. Every panel is resizable and dockable. |
+---------------------+-------------------------------------------------------------------+
| *Prevent docking* | This will disable the docking/undocking of the panels |
+---------------------+-------------------------------------------------------------------+
| *Full* | This will disable resizing, docking/undocking of the panels |
+---------------------+-------------------------------------------------------------------+
* When the *Show empty object collections?* switch is turned off, then all object
collections which are empty will be hidden from browser tree.
* When the *Show system objects?* switch is set to *True*, the client will
@@ -499,26 +486,27 @@ Query Tool window navigation:
Use the fields on the *SQL formatting* panel to specify your preferences for
reformatting of SQL.
* Use the *Comma-first notation* option to specify whether to place commas
before or after column names.
* Use the *Data type case* option to specify whether to change data types
into upper, lower, or preserve case.
* Use the *Expression width* option to specify maximum number of characters
in parenthesized expressions to be kept on single line.
* Use the *Function case* option to specify whether to change function
names into upper, lower, or preserve case.
* Use the *Identifier case* option to specify whether to change identifiers
(object names) into upper, lower, or capitalized case.
* Use the *Keyword case* option to specify whether to change keywords into
upper, lower, or capitalized case.
* Use the *Re-indent aligned?* option to specify that indentations of statements
should be changed, aligned by keywords.
* Use the *Re-indent?* option to specify that indentations of statements should
be changed.
upper, lower, or preserve case.
* Use *Lines between queries* to specify how many empty lines to leave
between SQL statements. If set to zero it puts no new line.
* Use *Logical operator new line* to specify newline placement before or
after logical operators (AND, OR, XOR).
* Use *New line before semicolon?* to specify whether to place query
separator (;) on a separate line.
* Use the *Spaces around operators?* option to specify whether or not to include
spaces on either side of operators.
* Use the *Strip comments?* option to specify whether or not comments should be
removed.
* Use the *Tab size* option to specify the number of spaces per tab or indent.
* Use the *Use spaces?* option to select whether to use spaces or tabs when
indenting.
* Use the *Wrap after N characters* option to specify the column limit for
wrapping column separated lists (e.g. of column names in a table). If set to
0 (zero), each item will be on it's own line.
The Schema Diff Node
********************
@@ -562,3 +550,43 @@ Use the fields on the *Options* panel to specify storage preferences.
* When the *Show hidden files and folders?* switch is set to *True*, the file
manager will display hidden files and folders.
Using 'setup.py' command line script
####################################
.. note:: To manage preferences using ``setup.py`` script, you must use
the Python interpreter that is normally used to run pgAdmin to ensure
that the required Python packages are available. In most packages, this
can be found in the Python Virtual Environment that can be found in the
installation directory. When using platform-native packages, the system
installation of Python may be the one used by pgAdmin.
Manage Preferences
******************
Get Preferences
***************
To get all the preferences listed, invoke ``setup.py`` with ``get-prefs`` command line option.
You can also get this mapping by hovering the individual preference in the Preference UI dialog.
.. code-block:: bash
/path/to/python /path/to/setup.py get-prefs
Save Preferences
****************
To save the preferences, invoke ``setup.py`` with ``set-prefs`` command line option, followed by username,
preference_key=value and auth_source. Multiple preference can be given too by a space separated.
If auth_source is not given, Internal authentication will be consider by default.
.. code-block:: bash
/path/to/python /path/to/setup.py set-prefs user1@gmail.com sqleditor:editor:comma_first=true
# To specify multiple preferences options
/path/to/python /path/to/setup.py set-prefs user1@gmail.com sqleditor:editor:comma_first=true sqleditor:keyboard_shortcuts:toggle_case=true
# to specify an auth_source
/path/to/python /path/to/setup.py set-prefs user1@gmail.com sqleditor:editor:comma_first=true --auth-source=ldap
+3 -3
View File
@@ -73,11 +73,11 @@ key combination to select from a popup menu of autocomplete options.
:alt: Query tool autocomplete feature
:align: center
After entering a query, select the *Execute/Refresh* icon from the toolbar. The
After entering a query, select the *Execute script* icon from the toolbar. The
complete contents of the SQL editor panel will be sent to the database server
for execution. To execute only a section of the code that is displayed in the
SQL editor, highlight the text that you want the server to execute, and click
the *Execute/Refresh* icon.
the *Execute script* icon.
.. image:: images/query_execute_section.png
:alt: Query tool execute query section
@@ -159,7 +159,7 @@ The *Data Output* tab displays the result set of the query in a table format.
You can:
* Select and copy from the displayed result set.
* Use the *Execute/Refresh* options to retrieve query execution information and
* Use the *Execute script* options to retrieve query execution information and
set query execution options.
* Use the *Save results to file* icon to save the content of the *Data Output*
tab as a comma-delimited file.
+1 -1
View File
@@ -116,7 +116,7 @@ Query Execution
+======================+===================================================================================================+================+
| *Stop* | Click the *Stop* icon to cancel the execution of the currently running query. | Accesskey + Q |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Execute/Refresh* | Click the *Execute/Refresh* icon to either execute or refresh the query highlighted in the SQL | F5 |
| *Execute script* | Click the *Execute script* icon to either execute or refresh the query highlighted in the SQL | F5 |
| | editor panel. Click the down arrow to access other execution options: | |
| | | |
| | * Add a check next to *Auto rollback on error?* to instruct the server to automatically roll back| |
+4
View File
@@ -11,6 +11,10 @@ notes for it.
.. toctree::
:maxdepth: 1
release_notes_8_3
release_notes_8_2
release_notes_8_1
release_notes_8_0
release_notes_7_8
release_notes_7_7
release_notes_7_6
+59
View File
@@ -0,0 +1,59 @@
***********
Version 8.0
***********
Release date: 2023-11-23
This release contains a number of bug fixes and new features since the release of pgAdmin 4 v7.8.
Supported Database Servers
**************************
**PostgreSQL**: 12, 13, 14, 15, and 16
**EDB Advanced Server**: 12, 13, 14, 15, and 16
Bundled PostgreSQL Utilities
****************************
**psql**, **pg_dump**, **pg_dumpall**, **pg_restore**: 16.0
New features
************
| `Issue #2821 <https://github.com/pgadmin-org/pgadmin4/issues/2821>`_ - Have close buttons on individual panel tabs instead of common.
| `Issue #4733 <https://github.com/pgadmin-org/pgadmin4/issues/4733>`_ - Allow closing all the tabs, including SQL and Properties.
| `Issue #5394 <https://github.com/pgadmin-org/pgadmin4/issues/5394>`_ - Changes in the context menu on panel tabs - Add close, close all and close others menu items.
Housekeeping
************
| `Issue #6441 <https://github.com/pgadmin-org/pgadmin4/issues/6441>`_ - Update app bundle built to use notarytool instead of altool.
| `Issue #6479 <https://github.com/pgadmin-org/pgadmin4/issues/6479>`_ - Replace the current layout library wcDocker with ReactJS based rc-dock.
| `Issue #6850 <https://github.com/pgadmin-org/pgadmin4/issues/6850>`_ - Upgrade Flask, Werkzeug and other modules depends on the latest version of Flask.
Bug fixes
*********
| `Issue #2986 <https://github.com/pgadmin-org/pgadmin4/issues/2986>`_ - Fix an issue where the scroll position of panels was not remembered on Firefox.
| `Issue #5770 <https://github.com/pgadmin-org/pgadmin4/issues/5770>`_ - Add DROP SQL for foreign keys in SQL generated by ERD when using WITH DROP option.
| `Issue #5807 <https://github.com/pgadmin-org/pgadmin4/issues/5807>`_ - Fixed an issue where psql was not taking the role used to connect in server properties.
| `Issue #6017 <https://github.com/pgadmin-org/pgadmin4/issues/6017>`_ - Fixed an issue where Geometry Viewer renders geometry incorrectly after trying to view 3D or non-4326 SRID geometry.
| `Issue #6459 <https://github.com/pgadmin-org/pgadmin4/issues/6459>`_ - Fix the sorting of size on the statistics panel.
| `Issue #6487 <https://github.com/pgadmin-org/pgadmin4/issues/6487>`_ - Fixed restoration of query tool database connection after dropping and re-creating the database with the same name.
| `Issue #6602 <https://github.com/pgadmin-org/pgadmin4/issues/6602>`_ - Fix an issue where the default server-group is being deleted if the load-server json file contains no servers.
| `Issue #6720 <https://github.com/pgadmin-org/pgadmin4/issues/6720>`_ - Fix an issue of the incorrect format (no indent) of SQL stored functions/procedures.
| `Issue #6769 <https://github.com/pgadmin-org/pgadmin4/issues/6769>`_ - Server config information in the about dialog should be only visible to admin users.
| `Issue #6784 <https://github.com/pgadmin-org/pgadmin4/issues/6784>`_ - Fixed an issue where Schema Diff does not work when the user language is set to any language other than English in Preferences.
| `Issue #6817 <https://github.com/pgadmin-org/pgadmin4/issues/6817>`_ - Fixed the query generated when creating subscription where copy_data parameter was missing.
| `Issue #6820 <https://github.com/pgadmin-org/pgadmin4/issues/6820>`_ - Ensure backup/restore/maintenance works with invalid pgpass file parameter.
| `Issue #6835 <https://github.com/pgadmin-org/pgadmin4/issues/6835>`_ - Fix an issue where OAUTH_ADDITIONAL_CLAIMS does not recognise AzureAD with > 150 groups.
| `Issue #6840 <https://github.com/pgadmin-org/pgadmin4/issues/6840>`_ - Fixed circular import error occurring while deploying cloud PostgreSQL instance from pgAdmin.
| `Issue #6874 <https://github.com/pgadmin-org/pgadmin4/issues/6874>`_ - Fix an issue where the browser window stuck on spinning with an Oauth user without email.
| `Issue #6875 <https://github.com/pgadmin-org/pgadmin4/issues/6875>`_ - Fix an issue where import/export data is not working for shared servers.
| `Issue #6877 <https://github.com/pgadmin-org/pgadmin4/issues/6877>`_ - Remove the max length of 255 from password exec command in server configuration dialog.
| `Issue #6884 <https://github.com/pgadmin-org/pgadmin4/issues/6884>`_ - Remove gettext from empty strings in the title of the storage graph.
| `Issue #6902 <https://github.com/pgadmin-org/pgadmin4/issues/6902>`_ - Fixed an issue where the change server password is not working in desktop mode.
| `Issue #6904 <https://github.com/pgadmin-org/pgadmin4/issues/6904>`_ - Fix a crash issue occurring when debugging a function with arguments when using pgAdmin with external config database.
| `Issue #6920 <https://github.com/pgadmin-org/pgadmin4/issues/6920>`_ - Fix an issue in ERD tool where SQL generated is missing columns for the table.
| `Issue #6934 <https://github.com/pgadmin-org/pgadmin4/issues/6934>`_ - Clear the password field in the config database on clear saved server password.
| `Issue #6962 <https://github.com/pgadmin-org/pgadmin4/issues/6962>`_ - Fixed an issue where the data type of the array type was not visible for the column in the Foreign Table dialog.
+51
View File
@@ -0,0 +1,51 @@
***********
Version 8.1
***********
Release date: 2023-12-14
This release contains a number of bug fixes and new features since the release of pgAdmin 4 v8.0.
Supported Database Servers
**************************
**PostgreSQL**: 12, 13, 14, 15, and 16
**EDB Advanced Server**: 12, 13, 14, 15, and 16
Bundled PostgreSQL Utilities
****************************
**psql**, **pg_dump**, **pg_dumpall**, **pg_restore**: 16.0
New features
************
| `Issue #4580 <https://github.com/pgadmin-org/pgadmin4/issues/4580>`_ - Add support for generating ERD for a schema.
| `Issue #6854 <https://github.com/pgadmin-org/pgadmin4/issues/6854>`_ - Add support for creating a function with custom return type.
Housekeeping
************
| `Issue #6991 <https://github.com/pgadmin-org/pgadmin4/issues/6991>`_ - Fixed several accessibility-related issues for enhanced usability.
Bug fixes
*********
| `Issue #5471 <https://github.com/pgadmin-org/pgadmin4/issues/5471>`_ - Ensure focus is not changed to ssh tunnel password input when user explicitly focus on server password input.
| `Issue #6095 <https://github.com/pgadmin-org/pgadmin4/issues/6095>`_ - Provide a way to bypass the SSL cert verification for OAuth2 provider.
| `Issue #6488 <https://github.com/pgadmin-org/pgadmin4/issues/6488>`_ - Fixed an issue where database name was missing in an error message if name contains any special characters.
| `Issue #6717 <https://github.com/pgadmin-org/pgadmin4/issues/6717>`_ - Ensure that indexes created by constraints are visible in the object explorer when "Show system objects" is enabled.
| `Issue #6803 <https://github.com/pgadmin-org/pgadmin4/issues/6803>`_ - Fixed an issue where reading process logs throws an error when DATA_DIR is moved to a networked drive.
| `Issue #6814 <https://github.com/pgadmin-org/pgadmin4/issues/6814>`_ - Remove the 'Close Window' submenu specifically for OSX to prevent unintended closure of the entire application.
| `Issue #6842 <https://github.com/pgadmin-org/pgadmin4/issues/6842>`_ - Rename all references of 'Execute query' to 'Execute script' to be more relevant.
| `Issue #6887 <https://github.com/pgadmin-org/pgadmin4/issues/6887>`_ - Fixed an issue where syntax error was not highlighting in query tool.
| `Issue #6921 <https://github.com/pgadmin-org/pgadmin4/issues/6921>`_ - Fixed an issue where on entering full screen, the option label is not changed to 'Exit Full Screen' in desktop mode.
| `Issue #6950 <https://github.com/pgadmin-org/pgadmin4/issues/6950>`_ - Ensure that the Authentication Source in the drop-down of the UserManagement dialog aligns with the entries specified for AUTHENTICATION_SOURCES in the configuration file.
| `Issue #6958 <https://github.com/pgadmin-org/pgadmin4/issues/6958>`_ - Reverse engineer serial columns when generating ERD for database/table.
| `Issue #6964 <https://github.com/pgadmin-org/pgadmin4/issues/6964>`_ - Fixed an issue where the Schema was not visible in the dropdown for table properties or when creating a new table.
| `Issue #6968 <https://github.com/pgadmin-org/pgadmin4/issues/6968>`_ - Fixed an issue where option key was not registering in PSQL tool.
| `Issue #6984 <https://github.com/pgadmin-org/pgadmin4/issues/6984>`_ - Fixed an issue where the Vacuum option INDEX_CLEANUP have an incorrect value ('AUTO') for database versions < 14.
| `Issue #6989 <https://github.com/pgadmin-org/pgadmin4/issues/6989>`_ - Fixed an issue where the pgAdmin page went blank when clicking the delete button in the User Management dialog.
| `Issue #7000 <https://github.com/pgadmin-org/pgadmin4/issues/7000>`_ - Ensure that correct timezone is set for Docker deployments.
| `Issue #7011 <https://github.com/pgadmin-org/pgadmin4/issues/7011>`_ - Fixed an issue where all rows and filter rows buttons of object explorer toolbar were disabled for views and other supported nodes.
| `Issue #7017 <https://github.com/pgadmin-org/pgadmin4/issues/7017>`_ - Fixed an issue where schema diff tool is not loading preferences on start.
+50
View File
@@ -0,0 +1,50 @@
***********
Version 8.2
***********
Release date: 2024-01-11
This release contains a number of bug fixes and new features since the release of pgAdmin 4 v8.1.
Supported Database Servers
**************************
**PostgreSQL**: 12, 13, 14, 15, and 16
**EDB Advanced Server**: 12, 13, 14, 15, and 16
Bundled PostgreSQL Utilities
****************************
**psql**, **pg_dump**, **pg_dumpall**, **pg_restore**: 16.0
New features
************
| `Issue #2483 <https://github.com/pgadmin-org/pgadmin4/issues/2483>`_ - Administer pgAdmin Users and Preferences Using the Command Line Interface (CLI).
| `Issue #5908 <https://github.com/pgadmin-org/pgadmin4/issues/5908>`_ - Allow users to convert View/Edit table into a Query tool to enable editing the SQL generated.
| `Issue #6085 <https://github.com/pgadmin-org/pgadmin4/issues/6085>`_ - Added copy server support, allowing the duplication of existing servers with the option to make certain modifications.
| `Issue #7016 <https://github.com/pgadmin-org/pgadmin4/issues/7016>`_ - Added keep-alive support for SSH sessions when connecting to a PostgreSQL server via an SSH tunnel.
Housekeeping
************
| `Issue #6926 <https://github.com/pgadmin-org/pgadmin4/issues/6926>`_ - Ensure that eventlet's subprocess should be used following the resolution of an issue with Python 3.12 by eventlet.
Bug fixes
*********
| `Issue #6193 <https://github.com/pgadmin-org/pgadmin4/issues/6193>`_ - Fixed an issue where query tool title did not change after "Save As" until any new change is made.
| `Issue #6781 <https://github.com/pgadmin-org/pgadmin4/issues/6781>`_ - Fixed an issue where export servers was not adding extension if not specified.
| `Issue #6815 <https://github.com/pgadmin-org/pgadmin4/issues/6815>`_ - Fixed an issue where pgAdmin imports servers to the wrong accounts for the external authentication.
| `Issue #7002 <https://github.com/pgadmin-org/pgadmin4/issues/7002>`_ - Fixed an issue where an error occurred in the SQL tab when using an extended index(pgroonga).
| `Issue #7041 <https://github.com/pgadmin-org/pgadmin4/issues/7041>`_ - Fixed an issue where changes done to a node using edit dialog are not reflecting on the properties tab if the properties tab is active.
| `Issue #7059 <https://github.com/pgadmin-org/pgadmin4/issues/7059>`_ - Fixed an issue where DB Restrictions were not visible on the server dialog.
| `Issue #7061 <https://github.com/pgadmin-org/pgadmin4/issues/7061>`_ - Ensure that the 'Dbo' schema is displayed as a regular schema rather than a system catalog schema.
| `Issue #7062 <https://github.com/pgadmin-org/pgadmin4/issues/7062>`_ - Introduce LDAP configuration parameter LDAP_IGNORE_MALFORMED_SCHEMA to ignore fetching schema from the LDAP server.
| `Issue #7064 <https://github.com/pgadmin-org/pgadmin4/issues/7064>`_ - Fixed an error-'amname' when generating ERD for database containing partition tables.
| `Issue #7066 <https://github.com/pgadmin-org/pgadmin4/issues/7066>`_ - Fixed an issue where object explorer last tree state was not saving.
| `Issue #7070 <https://github.com/pgadmin-org/pgadmin4/issues/7070>`_ - Fixed an issue where pgAgent job schedule dialog is not opening for edit.
| `Issue #7078 <https://github.com/pgadmin-org/pgadmin4/issues/7078>`_ - Fixed an issue where user is not able to cancel or terminate active queries from dashboard.
| `Issue #7082 <https://github.com/pgadmin-org/pgadmin4/issues/7082>`_ - Fixed browser autocomplete related issues on pgAdmin authentication related pages.
| `Issue #7091 <https://github.com/pgadmin-org/pgadmin4/issues/7091>`_ - Fixed an issue where auto commit/rollback setting not persisting across query tool connection change.
| `Issue #7104 <https://github.com/pgadmin-org/pgadmin4/issues/7104>`_ - Fixed an issue where Schema Diff not generating difference for missing columns.
+46
View File
@@ -0,0 +1,46 @@
***********
Version 8.3
***********
Release date: 2024-02-09
This release contains a number of bug fixes and new features since the release of pgAdmin 4 v8.2.
Supported Database Servers
**************************
**PostgreSQL**: 12, 13, 14, 15, and 16
**EDB Advanced Server**: 12, 13, 14, 15, and 16
Bundled PostgreSQL Utilities
****************************
**psql**, **pg_dump**, **pg_dumpall**, **pg_restore**: 16.0
New features
************
| `Issue #4419 <https://github.com/pgadmin-org/pgadmin4/issues/4419>`_ - Allow drag-n-drop columns collection tree node as comma separated columns.
| `Issue #6380 <https://github.com/pgadmin-org/pgadmin4/issues/6380>`_ - Added support to rename columns in Views.
| `Issue #6392 <https://github.com/pgadmin-org/pgadmin4/issues/6392>`_ - Added BYPASSRLS|NOBYPASSRLS option while creating a Role.
| `Issue #6450 <https://github.com/pgadmin-org/pgadmin4/issues/6450>`_ - Added support for column storage syntax while creating table.
| `Issue #6557 <https://github.com/pgadmin-org/pgadmin4/issues/6557>`_ - Use COOKIE_DEFAULT_PATH or SCRIPT_NAME in session cookie path.
| `Issue #6792 <https://github.com/pgadmin-org/pgadmin4/issues/6792>`_ - Added configurable parameter to enable support for PasswordExecCommand in server mode.
Housekeeping
************
Bug fixes
*********
| `Issue #5083 <https://github.com/pgadmin-org/pgadmin4/issues/5083>`_ - Fixed an issue where format sql was messing up operator. Included many other feature changes, more details `here <https://github.com/pgadmin-org/pgadmin4/commit/f7045b58d4d1b98b6a2f035267d2dd01c7235aa6>`_
| `Issue #6785 <https://github.com/pgadmin-org/pgadmin4/issues/6785>`_ - Fixed an issue where formatting inserts empty lines in specific case.
| `Issue #7053 <https://github.com/pgadmin-org/pgadmin4/issues/7053>`_ - Add support for selecting a schema in the backup database dialog with no tables, mviews, views or foreign tables.
| `Issue #7055 <https://github.com/pgadmin-org/pgadmin4/issues/7055>`_ - Fixed a UI border issue on the dependencies tab for columns with icon.
| `Issue #7073 <https://github.com/pgadmin-org/pgadmin4/issues/7073>`_ - Fixed an issue where multiple errors were showing if user does not have connect privileges.
| `Issue #7085 <https://github.com/pgadmin-org/pgadmin4/issues/7085>`_ - Fixed an issue where group membership information was displayed incorrectly.
| `Issue #7113 <https://github.com/pgadmin-org/pgadmin4/issues/7113>`_ - Ensure that the correct SQL is generated when changing the column data type to "char".
| `Issue #7153 <https://github.com/pgadmin-org/pgadmin4/issues/7153>`_ - Fixed an issue pgAdmin fails to launch due to inconsistent PATH variable name on windows.
| `Issue #7166 <https://github.com/pgadmin-org/pgadmin4/issues/7166>`_ - Fix a backend server error when creating a named restore point.
| `Issue #7175 <https://github.com/pgadmin-org/pgadmin4/issues/7175>`_ - Fix wrong default for FORCE_LOWER in the FLASK_GRAVATAR module.
+2 -4
View File
@@ -57,15 +57,13 @@ Use the *Privileges* tab to grant privileges to the role.
drop roles. The default value is *No*.
* Move the *Create databases* switch to the *Yes* position to control whether a
role can create databases. The default value is *No*.
* The *Update catalog?* switch is disabled until the role is given superuser
privileges. Move the *Update catalogs?* switch to the *No* position to control
whether a role can update catalogs. The default value is *Yes* when the
*Superuser* switch is in the *Yes* position.
* Move the *Inherit rights from the parent roles?* switch to the *No* position
if a role does not inherit privileges. The default value is *Yes*.
* Move the *Can initiate streaming replication and backups?* switch to the *Yes*
position to control whether a role can initiate streaming replication or put
the system in and out of backup mode. The default value is *No*.
* Move the *Bypass RLS?* switch to the *Yes* position to control whether a
role can bypasses every row-level security (RLS) policy. The default value is *No*.
.. image:: images/role_membership.png
:alt: Role dialog membership tab
+2 -2
View File
@@ -103,7 +103,7 @@ In order to configure the Python code, follow these steps:
.. code-block:: bash
# python setup.py
# python setup.py setup-db
5. Change the ownership of the configuration database to the user that the web server
processes will run as, for example, assuming that the web server runs as user
@@ -312,4 +312,4 @@ Additional Information
relies on the *sys.executable* variable in Python to do this. In some cases,
you may need to override that value to ensure the correct interpreter is
used, instead of the WSGI host process. For example, uWSGI offers the
*--py-sys-executable* command line option to achieve this.
*--py-sys-executable* command line option to achieve this.
+4
View File
@@ -181,6 +181,10 @@ not be able to connect directly.
password for future use. Use
:ref:`Clear SSH Tunnel Password <clear_saved_passwords>` to remove the saved
password.
* Use the *Keep alive* field to specify interval in seconds defining the period
in which, if no data was sent over the connection, a ‘keepalive’ packet will
be sent (and ignored by the remote host). This can be useful to keep
connections alive over a NAT. You can set to 0 for disable keepalive.
Click the *Advanced* tab to continue.
+2 -1
View File
@@ -2,7 +2,7 @@
html{
background-color: #fff;
}
body {
@@ -10,6 +10,7 @@ body {
font-family: Roboto, Helvetica Neue, -apple-system, BlinkMacSystemFont, Segoe UI, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
-webkit-font-smoothing: antialiased;
background-color: #fff;
height: 100vh;
}
div.body {
+3 -3
View File
@@ -5,9 +5,9 @@
****************
The pgAdmin toolbar provides shortcut buttons for frequently used features like
View Data and the Query Tool which are most frequently used in pgAdmin. This
toolbar is visible on the Browser panel. Buttons get enabled/disabled based on
the selected browser node.
the Query Tool, View/Edit Data, Search Object and the PSQL Tool. This
toolbar is visible on the Object explorer panel. Buttons get enabled/disabled based on
the selected object node.
.. image:: /images/toolbar.png
:alt: pgAdmin Toolbar
+2 -2
View File
@@ -4,8 +4,8 @@
`Tree Control`:index:
*********************
The left pane of the main window displays a tree control (the *pgAdmin* tree
control) that provides access to the objects that reside on a server.
The left pane of the main window displays a tree control (Object explorer)
that provides access to the objects that reside on a server.
.. image:: /images/main_left_pane.png
:alt: object explorer panel
+139
View File
@@ -75,3 +75,142 @@ users, but otherwise have the same capabilities as those with the *User* role.
* Click the *Help* button (?) to access online help.
* Click the *Close* button to save work. You will be prompted to return to the
dialog if your selections cannot be saved.
Using 'setup.py' command line script
####################################
.. note:: To manage users using ``setup.py`` script, you must use
the Python interpreter that is normally used to run pgAdmin to ensure
that the required Python packages are available. In most packages, this
can be found in the Python Virtual Environment that can be found in the
installation directory. When using platform-native packages, the system
installation of Python may be the one used by pgAdmin.
When using PIP wheel package to install pgadmin, all the commands can be used
without Python interpreter.
Some of the examples:
pgadmin4-cli add-user user1@gmail.com password --role 1
pgadmin4-cli get-prefs
Manage Users
*************
Add User
*********
To add user, invoke ``setup.py`` with ``add-user`` command line option, followed by
email and password. role and active will be optional fields.
.. code-block:: bash
/path/to/python /path/to/setup.py add-user user1@gmail.com password
# to specify a role, admin and non-admin users:
/path/to/python /path/to/setup.py add-user user1@gmail.com password --admin
/path/to/python /path/to/setup.py add-user user1@gmail.com password --nonadmin
# to specify user's status
/path/to/python /path/to/setup.py add-user user1@gmail.com password --active
/path/to/python /path/to/setup.py add-user user1@gmail.com password --inactive
Add External User
*****************
To add external authentication user, invoke ``setup.py`` with ``add-external-user`` command line option,
followed by email, password and authentication source. email, role and status will be optional fields.
.. code-block:: bash
/path/to/python /path/to/setup.py add-external-user user1@gmail.com ldap
# to specify an email:
/path/to/python /path/to/setup.py add-external-user ldapuser ldap --email user1@gmail.com
# to specify a role, admin and non-admin user:
/path/to/python /path/to/setup.py add-external-user ldapuser ldap --admin
/path/to/python /path/to/setup.py add-external-user ldapuser ldap --nonadmin
# to specify user's status
/path/to/python /path/to/setup.py add-external-user user1@gmail.com ldap --active
/path/to/python /path/to/setup.py add-external-user user1@gmail.com ldap --inactive
Update User
***********
To update user, invoke ``setup.py`` with ``update-user`` command line option, followed by
email address. password, role and active are updatable fields.
.. code-block:: bash
/path/to/python /path/to/setup.py update-user user1@gmail.com --password new-password
# to specify a role, admin and non-admin user:
/path/to/python /path/to/setup.py update-user user1@gmail.com password --role --admin
/path/to/python /path/to/setup.py update-user user1@gmail.com password --role --nonadmin
# to specify user's status
/path/to/python /path/to/setup.py update-user user1@gmail.com password --active
/path/to/python /path/to/setup.py update-user user1@gmail.com password --inactive
Update External User
********************
To update the external user, invoke ``setup.py`` with ``update-external-user`` command line option,
followed by username and auth source. email, password, role and active are updatable fields.
.. code-block:: bash
# to change email address:
/path/to/python /path/to/setup.py update-external-user ldap ldapuser --email newemail@gmail.com
# to specify a role, admin and non-admin user:
/path/to/python /path/to/setup.py update-user user1@gmail.com password --role --admin
/path/to/python /path/to/setup.py update-user user1@gmail.com password --role --nonadmin
# to change user's status
/path/to/python /path/to/setup.py update-user ldap ldapuser --active
/path/to/python /path/to/setup.py update-user ldap ldapuser --inactive
Delete User
***********
To delete the user, invoke ``setup.py`` with ``delete-user`` command line option, followed by
username and auth_source. For Internal users, email adress will be used instead of username.
.. code-block:: bash
/path/to/python /path/to/setup.py delete-user user1@gmail.com --auth-source internal
/path/to/python /path/to/setup.py delete-user ldapuser --auth-source ldap
Get User
********
To get the user details, invoke ``setup.py`` with ``get-users`` command line option, followed by
username/email address.
.. code-block:: bash
# to list all the users:
/path/to/python /path/to/setup.py get-users
# to get the user's details:
/path/to/python /path/to/setup.py get-users --username user1@gmail.com
Output
******
Each command output can be seen in the json format too by adding --json command line option.
+2 -2
View File
@@ -70,9 +70,9 @@ if [ ! -f /var/lib/pgadmin/pgadmin4.db ]; then
# When running in Desktop mode, no user is created
# so we have to import servers anonymously
if [ "${PGADMIN_CONFIG_SERVER_MODE}" = "False" ]; then
/venv/bin/python3 /pgadmin4/setup.py --load-servers "${PGADMIN_SERVER_JSON_FILE}"
/venv/bin/python3 /pgadmin4/setup.py load-servers "${PGADMIN_SERVER_JSON_FILE}"
else
/venv/bin/python3 /pgadmin4/setup.py --load-servers "${PGADMIN_SERVER_JSON_FILE}" --user "${PGADMIN_DEFAULT_EMAIL}"
/venv/bin/python3 /pgadmin4/setup.py load-servers "${PGADMIN_SERVER_JSON_FILE}" --user "${PGADMIN_DEFAULT_EMAIL}"
fi
fi
fi
+3 -3
View File
@@ -68,6 +68,7 @@ _create_python_virtualenv() {
# Make sure we have the wheel package present, as well as the latest pip
pip3 install --upgrade pip
pip3 install setuptools
pip3 install wheel
# Install the requirements
@@ -86,8 +87,7 @@ _create_python_virtualenv() {
# Figure out some paths for use when completing the venv
# Use "python3" here as we want the venv path
PYMODULES_PATH=$(python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
DIR_PYMODULES_PATH=$(dirname "${PYMODULES_PATH}")
DIR_PYMODULES_PATH=$(python3 -c "from sysconfig import get_path; print(get_path('platstdlib'))")
# Use {SYSTEM_PYTHON_PATH} here as we want the system path
if [ "$1" == "debian" ]; then
@@ -224,7 +224,7 @@ _copy_code() {
cp "${SOURCEDIR}/pkg/linux/config_distro.py" "${SERVERROOT}/usr/${APP_NAME}/web/"
cd "${SERVERROOT}/usr/${APP_NAME}/web/" || exit
rm -f pgadmin4.db config_local.*
rm -rf karma.conf.js package.json node_modules/ regression/ tools/ pgadmin/static/js/generated/.cache
rm -rf jest.config.js babel.* package.json node_modules/ regression/ tools/ pgadmin/static/js/generated/.cache
find . -name "tests" -type d -print0 | xargs -0 rm -rf
find . -name "feature_tests" -type d -print0 | xargs -0 rm -rf
find . -name "__pycache__" -type d -print0 | xargs -0 rm -rf
+1 -1
View File
@@ -72,7 +72,7 @@ fi
# Run setup script first:
echo "Creating configuration database..."
if ! /usr/pgadmin4/venv/bin/python3 /usr/pgadmin4/web/setup.py;
if ! /usr/pgadmin4/venv/bin/python3 /usr/pgadmin4/web/setup.py setup-db;
then
echo "Error setting up server mode. Please examine the output above."
exit 1
+25 -52
View File
@@ -266,8 +266,8 @@ _complete_bundle() {
sed -i '' "s/%APPVER%/${APP_LONG_VERSION}/g" "${BUNDLE_DIR}/Contents/Info.plist"
sed -i '' "s/%APPID%/org.pgadmin.pgadmin4/g" "${BUNDLE_DIR}/Contents/Info.plist"
for FILE in "${BUNDLE_DIR}"/Contents/Resources/*.lproj/InfoPlist.strings; do
sed -i '' 's/CFBundleGetInfoString =.*/CFBundleGetInfoString = "Copyright (C) 2013 - 2023, The pgAdmin Development Team";/g' "${FILE}"
sed -i '' 's/NSHumanReadableCopyright =.*/NSHumanReadableCopyright = "Copyright (C) 2013 - 2023, The pgAdmin Development Team";/g' "${FILE}"
sed -i '' 's/CFBundleGetInfoString =.*/CFBundleGetInfoString = "Copyright (C) 2013 - 2024, The pgAdmin Development Team";/g' "${FILE}"
sed -i '' 's/NSHumanReadableCopyright =.*/NSHumanReadableCopyright = "Copyright (C) 2013 - 2024, The pgAdmin Development Team";/g' "${FILE}"
echo CFBundleDisplayName = \""${APP_NAME}"\"\; >> "${FILE}"
done
@@ -298,7 +298,7 @@ _complete_bundle() {
cp -r "${SOURCE_DIR}/web" "${BUNDLE_DIR}/Contents/Resources/"
cd "${BUNDLE_DIR}/Contents/Resources/web" || exit
rm -f pgadmin4.db config_local.*
rm -rf karma.conf.js package.json .yarn* yarn* .editorconfig .eslint* node_modules/ regression/ tools/ pgadmin/static/js/generated/.cache
rm -rf jest.config.js babel.* package.json .yarn* yarn* .editorconfig .eslint* node_modules/ regression/ tools/ pgadmin/static/js/generated/.cache
find . -name "tests" -type d -print0 | xargs -0 rm -rf
find . -name "feature_tests" -type d -print0 | xargs -0 rm -rf
find . -name "__pycache__" -type d -print0 | xargs -0 rm -rf
@@ -432,59 +432,32 @@ _notarize_pkg() {
return
fi
# Notarize the package. Try three times, to allow for upload issues
for i in {1..3}; do
echo "Uploading DMG for notarisation (attempt ${i} of 3)..."
STATUS=$(xcrun altool --notarize-app \
-f "${DMG_NAME}" \
--asc-provider "${DEVELOPER_NAME}" \
--primary-bundle-id org.pgadmin.pgadmin4 \
-u "${DEVELOPER_USER}" \
-p "${DEVELOPER_ASP}" 2>&1)
RETVAL=$?
echo "Uploading DMG for Notarization ..."
STATUS=$(xcrun notarytool submit "${DMG_NAME}" \
--team-id "${DEVELOPER_TEAM_ID}" \
--apple-id "${DEVELOPER_USER}" \
--password "${DEVELOPER_ASP}" 2>&1)
if [ ${RETVAL} != 0 ]; then
echo "Attempt ${i} failure: ${STATUS}"
else
# Success!
break;
fi
done
# Get the submission ID
SUBMISSION_ID=$(echo "${STATUS}" | awk -F ': ' '/id:/ { print $2; exit; }')
echo "Notarization submission ID: ${SUBMISSION_ID}"
# print error if above command fails
if [ ${RETVAL} != 0 ]; then
echo "Notarization failed."
exit 1
fi
# Get the request ID
REQUEST_UUID=$(echo "${STATUS}" | awk '/RequestUUID/ { print $NF; }')
echo "Notarization request ID: ${REQUEST_UUID}"
# Now we need to wait for the results. Try 60 times.
for i in {1..60}; do
echo "Waiting 30 seconds..."
sleep 30
echo "Requesting notarisation result (attempt ${i} of 60)..."
REQUEST_STATUS=$(xcrun altool --notarization-info "${REQUEST_UUID}" \
--username "${DEVELOPER_USER}" \
--password "${DEVELOPER_ASP}" 2>&1 | \
awk -F ': ' '/Status:/ { print $2; }' )
if [[ "${REQUEST_STATUS}" == "success" ]]; then
break
fi
done
# Print status information
xcrun altool --notarization-info "${REQUEST_UUID}" \
--username "${DEVELOPER_USER}" \
echo "Waiting for Notarization to be completed ..."
xcrun notarytool wait "${SUBMISSION_ID}" \
--team-id "${DEVELOPER_TEAM_ID}" \
--apple-id "${DEVELOPER_USER}" \
--password "${DEVELOPER_ASP}"
if [[ "${REQUEST_STATUS}" != "success" ]]; then
echo "Notarization failed."
exit 1
# Print status information
REQUEST_STATUS=$(xcrun notarytool info "${SUBMISSION_ID}" \
--team-id "${DEVELOPER_TEAM_ID}" \
--apple-id "${DEVELOPER_USER}" \
--password "${DEVELOPER_ASP}" 2>&1 | \
awk -F ': ' '/status:/ { print $2; }')
if [[ "${REQUEST_STATUS}" != "Accepted" ]]; then
echo "Notarization failed."
exit 1
fi
# Staple the notarization
+1 -1
View File
@@ -10,7 +10,7 @@
\fs22 \
\
\f1\i Copyright (C) 2013 - 2023, The pgAdmin Development Team
\f1\i Copyright (C) 2013 - 2024, The pgAdmin Development Team
\f0\i0 \
\
Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies.\
+2 -2
View File
@@ -1,6 +1,6 @@
# In order to enable notarization of the Mac Appbundle, copy this file to
# notarization.conf, and edit the values below to reflect your Apple
# Developer User ID, app-specific password and Provider Shortname.
# Developer User ID, app-specific password and Team ID.
#
# You can use the following command to see the available shortnames for your
# Apple Developer ID (substituting the appropriate username/password):
@@ -9,4 +9,4 @@
DEVELOPER_USER=user@example.com
DEVELOPER_ASP=1234-abcd-5678-efgh
DEVELOPER_NAME=MyCompany
DEVELOPER_TEAM_ID=MyTeamID
+1 -1
View File
@@ -4,7 +4,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
#########################################################################
+3 -2
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
@@ -100,7 +100,8 @@ setup(
},
entry_points={
'console_scripts': ['pgadmin4=pgadmin4.pgAdmin4:main'],
'console_scripts': ['pgadmin4=pgadmin4.pgAdmin4:main',
'pgadmin4-cli=pgadmin4.setup:main'],
},
)
+1 -1
View File
@@ -4,7 +4,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
#########################################################################
Binary file not shown.
+1 -1
View File
@@ -20,7 +20,7 @@ AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={autopf}\{#MyAppName}\{#MyAppVersion}
DefaultDirName={autopf}\{#MyAppName}
DefaultGroupName={#MyAppName}
DisableWelcomePage=no
DisableProgramGroupPage=auto
+23 -15
View File
@@ -8,20 +8,26 @@
#
###############################################################################
Flask==2.2.*
Flask==2.3.*; python_version > '3.7'
Flask==2.2.*; python_version <= '3.7'
Flask-Gravatar==0.*
Flask-Login==0.*
Flask-Mail==0.*
Flask-Migrate==4.*
greenlet==1.1.2; python_version <= '3.10'
Flask-SQLAlchemy==3.0.*
Flask-WTF==1.1.1
Flask-SQLAlchemy==3.1.*; python_version > '3.7'
Flask-SQLAlchemy==3.0.*; python_version <= '3.7'
Flask-WTF==1.2.*; python_version > '3.7'
Flask-WTF==1.1.1; python_version <= '3.7'
Flask-Compress==1.*
Flask-Paranoid==0.*
Flask-Babel==3.1.*
Flask-Security-Too==5.1.*
Flask-Babel==4.0.*; python_version > '3.7'
Flask-Babel==3.1.*; python_version <= '3.7'
Flask-Security-Too==5.2.*; python_version > '3.7'
Flask-Security-Too==5.1.*; python_version <= '3.7'
Flask-SocketIO==5.3.*
WTForms==3.0.*
WTForms==3.1.*; python_version > '3.7'
WTForms==3.0.*; python_version <= '3.7'
passlib==1.*
pytz==2023.*
speaklater3==1.*
@@ -31,26 +37,28 @@ psycopg[c]==3.1.12
python-dateutil==2.*
SQLAlchemy==2.*
bcrypt==4.0.*
# Pinned for #6718
cryptography==40.0.*
cryptography==41.0.*
sshtunnel==0.*
ldap3==2.*
gssapi==1.8.*
eventlet==0.33.3
eventlet==0.34.2
httpagentparser==1.9.*
user-agents==2.2.0
pywinpty==2.0.*; sys_platform=="win32"
Authlib==1.2.*
pyotp==2.*
qrcode==7.*
boto3==1.28.*
botocore==1.31.*
boto3==1.33.*
urllib3==1.26.*
azure-mgmt-rdbms==10.1.0
azure-mgmt-resource==23.0.1
azure-mgmt-subscription==3.1.1
azure-identity==1.13.0
azure-identity==1.15.0
google-api-python-client==2.*
google-auth-oauthlib==1.0.0
Werkzeug==2.2.3
keyring==23.*
google-auth-oauthlib==1.1.0
keyring==24.*; python_version > '3.7'
keyring==23.*; python_version <= '3.7'
Werkzeug==2.3.*; python_version > '3.7'
Werkzeug==2.2.3; python_version <= '3.7'
typer[all]==0.9.*
setuptools==69.*; python_version >= '3.12'
+1 -2
View File
@@ -2,7 +2,7 @@
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2023, The pgAdmin Development Team
// Copyright (C) 2013 - 2024, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
//////////////////////////////////////////////////////////////
@@ -12,7 +12,6 @@ module.exports = {
'browser': true,
'es6': true,
'amd': true,
'jasmine': true,
},
'extends': [
'eslint:recommended',
+7
View File
@@ -0,0 +1,7 @@
checksumBehavior: update
logFilters:
- code: YN0013
level: discard
nodeLinker: node-modules
+1 -1
View File
@@ -2,7 +2,7 @@
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2023, The pgAdmin Development Team
// Copyright (C) 2013 - 2024, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
//////////////////////////////////////////////////////////////
+1 -1
View File
@@ -2,7 +2,7 @@
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2023, The pgAdmin Development Team
// Copyright (C) 2013 - 2024, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
//////////////////////////////////////////////////////////////
+19 -15
View File
@@ -2,7 +2,7 @@
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2023, The pgAdmin Development Team
// Copyright (C) 2013 - 2024, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
//////////////////////////////////////////////////////////////
@@ -80,7 +80,7 @@ function startDesktopMode() {
process.env[key] = updated_path;
}
if (platform() === 'win32' && (key === 'PATH' || key == 'Path')) {
if (platform() === 'win32' && key.toUpperCase() === 'PATH') {
let _libpq_path = path.join(path.dirname(path.dirname(path.resolve(pgadminFile))), 'runtime');
process.env[key] = _libpq_path + ';' + process.env[key];
}
@@ -264,7 +264,10 @@ function launchPgAdminWindow() {
// Create Mac Builtin Menu
if (platform() === 'darwin') {
nativeMenu.createMacBuiltin('pgAdmin 4');
nativeMenu?.items[0].submenu.removeAt(0)
// Remove 'About pgAdmin 4' submenu
nativeMenu?.items[0].submenu.removeAt(0);
// Remove 'Close Window' submenu
nativeMenu?.items[2].submenu.removeAt(1);
pgAdminMainScreen.menu = nativeMenu;
}
@@ -459,18 +462,19 @@ function getRuntimeMenu() {
},
}));
subMenus.append(new nw.MenuItem({ type: 'separator' }));
subMenus.append(new gui.MenuItem({
label: runtimeSubMenus['enter_full_screen'].label,
enabled: runtimeSubMenus['enter_full_screen'].enable,
priority: runtimeSubMenus['enter_full_screen'].priority,
type: 'normal',
checked: false,
key: runtimeSubMenus['enter_full_screen'].key,
modifiers: runtimeSubMenus['enter_full_screen'].modifiers,
click: function () {
misc.toggleFullScreen();
},
}));
subMenus.append(new gui.MenuItem({
label: pgAdminMainScreen?.isFullscreen ? runtimeSubMenus['exit_full_screen'].label : runtimeSubMenus['enter_full_screen'].label,
enabled: runtimeSubMenus['enter_full_screen'].enable,
priority: runtimeSubMenus['enter_full_screen'].priority,
type: 'normal',
checked: false,
key: runtimeSubMenus['enter_full_screen'].key,
modifiers: runtimeSubMenus['enter_full_screen'].modifiers,
click: function () {
this.label = !pgAdminMainScreen?.isFullscreen ? runtimeSubMenus['exit_full_screen'].label : runtimeSubMenus['enter_full_screen'].label;
misc.toggleFullScreen();
},
}));
subMenus.append(new gui.MenuItem({
label: runtimeSubMenus['actual_size'].label,
enabled: runtimeSubMenus['actual_size'].enable,
+1 -1
View File
@@ -2,7 +2,7 @@
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2023, The pgAdmin Development Team
// Copyright (C) 2013 - 2024, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
//////////////////////////////////////////////////////////////
+1 -1
View File
@@ -2,7 +2,7 @@
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2023, The pgAdmin Development Team
// Copyright (C) 2013 - 2024, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
//////////////////////////////////////////////////////////////
+84 -50
View File
@@ -24,9 +24,9 @@ __metadata:
linkType: hard
"@eslint-community/regexpp@npm:^4.6.1":
version: 4.6.2
resolution: "@eslint-community/regexpp@npm:4.6.2"
checksum: a3c341377b46b54fa228f455771b901d1a2717f95d47dcdf40199df30abc000ba020f747f114f08560d119e979d882a94cf46cfc51744544d54b00319c0f2724
version: 4.10.0
resolution: "@eslint-community/regexpp@npm:4.10.0"
checksum: 2a6e345429ea8382aaaf3a61f865cae16ed44d31ca917910033c02dc00d505d939f10b81e079fa14d43b51499c640138e153b7e40743c4c094d9df97d4e56f7b
languageName: node
linkType: hard
@@ -47,21 +47,21 @@ __metadata:
languageName: node
linkType: hard
"@eslint/js@npm:8.50.0":
version: 8.50.0
resolution: "@eslint/js@npm:8.50.0"
checksum: 302478f2acaaa7228729ec6a04f56641590185e1d8cd1c836a6db8a6b8009f80a57349341be9fbb9aa1721a7a569d1be3ffc598a33300d22816f11832095386c
"@eslint/js@npm:8.52.0":
version: 8.52.0
resolution: "@eslint/js@npm:8.52.0"
checksum: 490893b8091a66415f4ac98b963d23eb287264ea3bd6af7ec788f0570705cf64fd6ab84b717785980f55e39d08ff5c7fde6d8e4391ccb507169370ce3a6d091a
languageName: node
linkType: hard
"@humanwhocodes/config-array@npm:^0.11.11":
version: 0.11.11
resolution: "@humanwhocodes/config-array@npm:0.11.11"
"@humanwhocodes/config-array@npm:^0.11.13":
version: 0.11.13
resolution: "@humanwhocodes/config-array@npm:0.11.13"
dependencies:
"@humanwhocodes/object-schema": ^1.2.1
"@humanwhocodes/object-schema": ^2.0.1
debug: ^4.1.1
minimatch: ^3.0.5
checksum: db84507375ab77b8ffdd24f498a5b49ad6b64391d30dd2ac56885501d03964d29637e05b1ed5aefa09d57ac667e28028bc22d2da872bfcd619652fbdb5f4ca19
checksum: f8ea57b0d7ed7f2d64cd3944654976829d9da91c04d9c860e18804729a33f7681f78166ef4c761850b8c324d362f7d53f14c5c44907a6b38b32c703ff85e4805
languageName: node
linkType: hard
@@ -72,10 +72,10 @@ __metadata:
languageName: node
linkType: hard
"@humanwhocodes/object-schema@npm:^1.2.1":
version: 1.2.1
resolution: "@humanwhocodes/object-schema@npm:1.2.1"
checksum: a824a1ec31591231e4bad5787641f59e9633827d0a2eaae131a288d33c9ef0290bd16fda8da6f7c0fcb014147865d12118df10db57f27f41e20da92369fcb3f1
"@humanwhocodes/object-schema@npm:^2.0.1":
version: 2.0.1
resolution: "@humanwhocodes/object-schema@npm:2.0.1"
checksum: 24929487b1ed48795d2f08346a0116cc5ee4634848bce64161fb947109352c562310fd159fc64dda0e8b853307f5794605191a9547f7341158559ca3c8262a45
languageName: node
linkType: hard
@@ -116,18 +116,27 @@ __metadata:
linkType: hard
"@types/node@npm:*":
version: 20.5.0
resolution: "@types/node@npm:20.5.0"
checksum: 659bc5fc93b5c02bd88ca4bfae4f6b9dc307d45884d1dd9d69df85819a9943cdc00cd3c87eec3048866df6a67f52297f74d170e47a44f61edb3e8f770d94e85e
version: 20.8.10
resolution: "@types/node@npm:20.8.10"
dependencies:
undici-types: ~5.26.4
checksum: 7c61190e43e8074a1b571e52ff14c880bc67a0447f2fe5ed0e1a023eb8a23d5f815658edb98890f7578afe0f090433c4a635c7c87311762544e20dd78723e515
languageName: node
linkType: hard
"@types/responselike@npm:^1.0.0":
version: 1.0.0
resolution: "@types/responselike@npm:1.0.0"
version: 1.0.2
resolution: "@types/responselike@npm:1.0.2"
dependencies:
"@types/node": "*"
checksum: e99fc7cc6265407987b30deda54c1c24bb1478803faf6037557a774b2f034c5b097ffd65847daa87e82a61a250d919f35c3588654b0fdaa816906650f596d1b0
checksum: ff1767e947eb7d49849e4566040453efcd894888e85b398f7f8cb731552f303f26aceda573b680a142b77ec5fb6c79535d9c6d047d9f936c386dbf3863d2ae17
languageName: node
linkType: hard
"@ungap/structured-clone@npm:^1.2.0":
version: 1.2.0
resolution: "@ungap/structured-clone@npm:1.2.0"
checksum: 4f656b7b4672f2ce6e272f2427d8b0824ed11546a601d8d5412b9d7704e83db38a8d9f402ecdf2b9063fc164af842ad0ec4a55819f621ed7e7ea4d1efcc74524
languageName: node
linkType: hard
@@ -141,11 +150,11 @@ __metadata:
linkType: hard
"acorn@npm:^8.9.0":
version: 8.10.0
resolution: "acorn@npm:8.10.0"
version: 8.11.2
resolution: "acorn@npm:8.11.2"
bin:
acorn: bin/acorn
checksum: 538ba38af0cc9e5ef983aee196c4b8b4d87c0c94532334fa7e065b2c8a1f85863467bb774231aae91613fcda5e68740c15d97b1967ae3394d20faddddd8af61d
checksum: 818450408684da89423e3daae24e4dc9b68692db8ab49ea4569c7c5abb7a3f23669438bf129cc81dfdada95e1c9b944ee1bfca2c57a05a4dc73834a612fbf6a7
languageName: node
linkType: hard
@@ -206,13 +215,13 @@ __metadata:
linkType: hard
"axios@npm:^1.5.1":
version: 1.5.1
resolution: "axios@npm:1.5.1"
version: 1.6.0
resolution: "axios@npm:1.6.0"
dependencies:
follow-redirects: ^1.15.0
form-data: ^4.0.0
proxy-from-env: ^1.1.0
checksum: 4444f06601f4ede154183767863d2b8e472b4a6bfc5253597ed6d21899887e1fd0ee2b3de792ac4f8459fe2e359d2aa07c216e45fd8b9e4e0688a6ebf48a5a8d
checksum: c7c9f2ae9e0b9bad7d6f9a4dff030930b12ee667dedf54c3c776714f91681feb743c509ac0796ae5c01e12c4ab4a2bee74905068dd200fbc1ab86f9814578fb0
languageName: node
linkType: hard
@@ -619,16 +628,17 @@ __metadata:
linkType: hard
"eslint@npm:^8.50.0":
version: 8.50.0
resolution: "eslint@npm:8.50.0"
version: 8.52.0
resolution: "eslint@npm:8.52.0"
dependencies:
"@eslint-community/eslint-utils": ^4.2.0
"@eslint-community/regexpp": ^4.6.1
"@eslint/eslintrc": ^2.1.2
"@eslint/js": 8.50.0
"@humanwhocodes/config-array": ^0.11.11
"@eslint/js": 8.52.0
"@humanwhocodes/config-array": ^0.11.13
"@humanwhocodes/module-importer": ^1.0.1
"@nodelib/fs.walk": ^1.2.8
"@ungap/structured-clone": ^1.2.0
ajv: ^6.12.4
chalk: ^4.0.0
cross-spawn: ^7.0.2
@@ -661,7 +671,7 @@ __metadata:
text-table: ^0.2.0
bin:
eslint: bin/eslint.js
checksum: 9ebfe5615dc84700000d218e32ddfdcfc227ca600f65f18e5541ec34f8902a00356a9a8804d9468fd6c8637a5ef6a3897291dad91ba6579d5b32ffeae5e31768
checksum: fd22d1e9bd7090e31b00cbc7a3b98f3b76020a4c4641f987ae7d0c8f52e1b88c3b268bdfdabac2e1a93513e5d11339b718ff45cbff48a44c35d7e52feba510ed
languageName: node
linkType: hard
@@ -813,29 +823,30 @@ __metadata:
linkType: hard
"flat-cache@npm:^3.0.4":
version: 3.0.4
resolution: "flat-cache@npm:3.0.4"
version: 3.1.1
resolution: "flat-cache@npm:3.1.1"
dependencies:
flatted: ^3.1.0
flatted: ^3.2.9
keyv: ^4.5.3
rimraf: ^3.0.2
checksum: 4fdd10ecbcbf7d520f9040dd1340eb5dfe951e6f0ecf2252edeec03ee68d989ec8b9a20f4434270e71bcfd57800dc09b3344fca3966b2eb8f613072c7d9a2365
checksum: 4958cfe0f46acf84953d4e16676ef5f0d38eab3a92d532a1e8d5f88f11eea8b36d5d598070ff2aeae15f1fde18f8d7d089eefaf9db10b5a587cc1c9072325c7a
languageName: node
linkType: hard
"flatted@npm:^3.1.0":
version: 3.2.7
resolution: "flatted@npm:3.2.7"
checksum: 427633049d55bdb80201c68f7eb1cbd533e03eac541f97d3aecab8c5526f12a20ccecaeede08b57503e772c769e7f8680b37e8d482d1e5f8d7e2194687f9ea35
"flatted@npm:^3.2.9":
version: 3.2.9
resolution: "flatted@npm:3.2.9"
checksum: f14167fbe26a9d20f6fca8d998e8f1f41df72c8e81f9f2c9d61ed2bea058248f5e1cbd05e7f88c0e5087a6a0b822a1e5e2b446e879f3cfbe0b07ba2d7f80b026
languageName: node
linkType: hard
"follow-redirects@npm:^1.15.0":
version: 1.15.2
resolution: "follow-redirects@npm:1.15.2"
version: 1.15.3
resolution: "follow-redirects@npm:1.15.3"
peerDependenciesMeta:
debug:
optional: true
checksum: faa66059b66358ba65c234c2f2a37fcec029dc22775f35d9ad6abac56003268baf41e55f9ee645957b32c7d9f62baf1f0b906e68267276f54ec4b4c597c2b190
checksum: 584da22ec5420c837bd096559ebfb8fe69d82512d5585004e36a3b4a6ef6d5905780e0c74508c7b72f907d1fa2b7bd339e613859e9c304d0dc96af2027fd0231
languageName: node
linkType: hard
@@ -914,11 +925,11 @@ __metadata:
linkType: hard
"globals@npm:^13.19.0":
version: 13.21.0
resolution: "globals@npm:13.21.0"
version: 13.23.0
resolution: "globals@npm:13.23.0"
dependencies:
type-fest: ^0.20.2
checksum: 86c92ca8a04efd864c10852cd9abb1ebe6d447dcc72936783e66eaba1087d7dba5c9c3421a48d6ca722c319378754dbcc3f3f732dbe47592d7de908edf58a773
checksum: 194c97cf8d1ef6ba59417234c2386549c4103b6e5f24b1ff1952de61a4753e5d2069435ba629de711a6480b1b1d114a98e2ab27f85e966d5a10c319c3bbd3dc3
languageName: node
linkType: hard
@@ -1151,6 +1162,13 @@ __metadata:
languageName: node
linkType: hard
"json-buffer@npm:3.0.1":
version: 3.0.1
resolution: "json-buffer@npm:3.0.1"
checksum: 9026b03edc2847eefa2e37646c579300a1f3a4586cfb62bf857832b60c852042d0d6ae55d1afb8926163fa54c2b01d83ae24705f34990348bdac6273a29d4581
languageName: node
linkType: hard
"json-schema-traverse@npm:^0.4.1":
version: 0.4.1
resolution: "json-schema-traverse@npm:0.4.1"
@@ -1165,6 +1183,15 @@ __metadata:
languageName: node
linkType: hard
"keyv@npm:^4.5.3":
version: 4.5.4
resolution: "keyv@npm:4.5.4"
dependencies:
json-buffer: 3.0.1
checksum: 74a24395b1c34bd44ad5cb2b49140d087553e170625240b86755a6604cd65aa16efdbdeae5cdb17ba1284a0fbb25ad06263755dbc71b8d8b06f74232ce3cdd72
languageName: node
linkType: hard
"lcid@npm:^1.0.0":
version: 1.0.0
resolution: "lcid@npm:1.0.0"
@@ -1494,9 +1521,9 @@ __metadata:
linkType: hard
"punycode@npm:^2.1.0":
version: 2.3.0
resolution: "punycode@npm:2.3.0"
checksum: 39f760e09a2a3bbfe8f5287cf733ecdad69d6af2fe6f97ca95f24b8921858b91e9ea3c9eeec6e08cede96181b3bb33f95c6ffd8c77e63986508aa2e8159fa200
version: 2.3.1
resolution: "punycode@npm:2.3.1"
checksum: bb0a0ceedca4c3c57a9b981b90601579058903c62be23c5e8e843d2c2d4148a3ecf029d5133486fb0e1822b098ba8bba09e89d6b21742d02fa26bda6441a6fb2
languageName: node
linkType: hard
@@ -1784,6 +1811,13 @@ __metadata:
languageName: node
linkType: hard
"undici-types@npm:~5.26.4":
version: 5.26.5
resolution: "undici-types@npm:5.26.5"
checksum: 3192ef6f3fd5df652f2dc1cd782b49d6ff14dc98e5dced492aa8a8c65425227da5da6aafe22523c67f035a272c599bb89cfe803c1db6311e44bed3042fc25487
languageName: node
linkType: hard
"unzip-response@npm:^2.0.1":
version: 2.0.1
resolution: "unzip-response@npm:2.0.1"
+1 -1
View File
@@ -4,7 +4,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -4,7 +4,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -4,7 +4,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -4,7 +4,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+2
View File
@@ -1,3 +1,5 @@
requests>=2.21.0
requests[security]>=2.21.0
safety>=1.9.0
Sphinx==7.2.6
sphinxcontrib-youtube==1.4.1
+2 -2
View File
@@ -4,7 +4,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
@@ -21,7 +21,7 @@ PG_CODES_URLS = [
"https://raw.githubusercontent.com/postgres/postgres/master/src/pl/"
"plpgsql/src/pl_scanner.c",
]
PG_CODES_REGEX = "PG_KEYWORD\(\"([a-z]*)\"[A-Z_, ]*\)"
PG_CODES_REGEX = r"PG_KEYWORD\(\"([a-z]*)\"[A-Z_, ]*\)"
PG_SQL_DOCS_URL = \
"https://www.postgresql.org/docs/current/sql-keywords-appendix.html"
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
# #########################################################################
+13 -3
View File
@@ -2,7 +2,7 @@
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2023, The pgAdmin Development Team
// Copyright (C) 2013 - 2024, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
//////////////////////////////////////////////////////////////
@@ -12,7 +12,6 @@ module.exports = {
'browser': true,
'es6': true,
'amd': true,
'jasmine': true,
},
'extends': [
'eslint:recommended',
@@ -41,10 +40,11 @@ module.exports = {
'plugins': [
'react',
'@babel',
'jest'
],
'overrides': [
{
'files': ['**/*.ts', '**/*.tsx'],
'files': ['**/*.{ts,tsx}'],
'plugins': [
'@typescript-eslint',
],
@@ -55,10 +55,20 @@ module.exports = {
'@typescript-eslint/no-this-alias': ['off'],
}
},
{
'files': ['**/*{spec,test}.{js,jsx}', './regression/javascript/**/*.{js}'],
'extends': ['eslint:recommended'],
'env': {
'jest': true
}
},
],
'globals': {
'_': true,
'module': true,
'__dirname': true,
'global': true,
'jest': true
},
'rules': {
'indent': [
+5 -3
View File
@@ -1,5 +1,7 @@
nodeLinker: node-modules
checksumBehavior: update
logFilters:
- code: YN0013
level: discard
- code: YN0013
level: discard
nodeLinker: node-modules
+4
View File
@@ -0,0 +1,4 @@
{
"presets": [["@babel/preset-env", {"modules": "commonjs", "useBuiltIns": "usage", "corejs": 3}], "@babel/preset-react", "@babel/preset-typescript"],
"plugins": ["@babel/plugin-proposal-class-properties", "@babel/proposal-object-rest-spread", "@babel/plugin-transform-runtime"]
}
+30 -17
View File
@@ -4,7 +4,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
# config.py - Core application configuration settings
@@ -49,8 +49,8 @@ APP_ICON = 'pg-icon'
#
# Application version number components
APP_RELEASE = 7
APP_REVISION = 8
APP_RELEASE = 8
APP_REVISION = 3
# Application version suffix, e.g. 'beta1', 'dev'. Usually an empty string
# for GA releases.
@@ -59,7 +59,7 @@ APP_SUFFIX = ''
# Numeric application version for upgrade checks. Should be in the format:
# [X]XYYZZ, where X is the release version, Y is the revision, with a leading
# zero if needed, and Z represents the suffix, with a leading zero if needed
APP_VERSION_INT = 70800
APP_VERSION_INT = 80300
# DO NOT CHANGE!
# The application version string, constructed from the components
@@ -69,7 +69,7 @@ else:
APP_VERSION = '%s.%s-%s' % (APP_RELEASE, APP_REVISION, APP_SUFFIX)
# Copyright string for display in the app
APP_COPYRIGHT = 'Copyright (C) 2013 - 2023, The pgAdmin Development Team'
APP_COPYRIGHT = 'Copyright (C) 2013 - 2024, The pgAdmin Development Team'
##########################################################################
# Misc stuff
@@ -230,8 +230,8 @@ PROXY_X_PREFIX_COUNT = 0
# COMPRESSION
COMPRESS_MIMETYPES = [
'text/html', 'text/css', 'text/xml', 'application/json',
'application/javascript'
'text/html', 'text/css', 'text/xml', 'text/javascript',
'application/json', 'application/javascript'
]
COMPRESS_LEVEL = 9
COMPRESS_MIN_SIZE = 500
@@ -414,10 +414,6 @@ SECURITY_EMAIL_SUBJECT_PASSWORD_CHANGE_NOTICE = \
##########################################################################
# Email address validation
##########################################################################
# flask-security-too will validate email addresses and check deliverability
# by default. Disable the deliverability check by default, which was the old
# behaviour in <= v5.3
CHECK_EMAIL_DELIVERABILITY = False
SECURITY_EMAIL_VALIDATOR_ARGS = \
{"check_deliverability": CHECK_EMAIL_DELIVERABILITY}
@@ -724,6 +720,13 @@ LDAP_CA_CERT_FILE = ''
LDAP_CERT_FILE = ''
LDAP_KEY_FILE = ''
##########################################################################
# Some flaky LDAP servers returns malformed schema. If True, no exception
# will be raised and schema is thrown away but authentication will be done.
# This parameter should remain False, as recommended.
LDAP_IGNORE_MALFORMED_SCHEMA = False
##########################################################################
# Kerberos Configuration
##########################################################################
@@ -791,8 +794,9 @@ OAUTH2_CONFIG = [
'OAUTH2_ICON': None,
# UI button colour, ex: #0000ff
'OAUTH2_BUTTON_COLOR': None,
# The additional claims to check on user ID Token. This is useful to
# provide additional authorization checks before allowing access.
# The additional claims to check on user ID Token or Userinfo response.
# This is useful to provide additional authorization checks
# before allowing access.
# Example for GitLab: allowing all maintainers teams, and a specific
# developers group to access pgadmin:
# 'OAUTH2_ADDITIONAL_CLAIMS': {
@@ -810,11 +814,12 @@ OAUTH2_CONFIG = [
# 'groups': ["0760b6cf-170e-4a14-91b3-4b78e0739963"],
# 'wids': ["cf1c38e5-3621-4004-a7cb-879624dced7c"],
# }
# Example for any key value string check:
# 'OAUTH2_ADDITIONAL_CLAIMS': {
# 'group': "0760b6cf-170e-4a14-91b3-4b78e0739963",
# }
'OAUTH2_ADDITIONAL_CLAIMS': None,
# Set this variable to False to disable SSL certificate verification
# for OAuth2 provider.
# This may need to set False, in case of self-signed certificates.
# Ref: https://github.com/psf/requests/issues/6071
'OAUTH2_SSL_CERT_VERIFICATION': True
}
]
@@ -904,6 +909,14 @@ AUTO_DISCOVER_SERVERS = True
#############################################################################
SERVER_HEARTBEAT_TIMEOUT = 30 # In seconds
#############################################################################
# ENABLE_SERVER_PASS_EXEC_CMD is used to enable/disable Password exec command
# field in server properties. This is used to specify a shell command to be
# executed to retrieve a password to be used for server authentication.
# This setting is applicable only for server mode.
#############################################################################
ENABLE_SERVER_PASS_EXEC_CMD = False
#############################################################################
# Patch the default config with custom config and other manipulations
#############################################################################
+57
View File
@@ -0,0 +1,57 @@
const webpackShimAlias = require('./webpack.shim').resolveAlias;
const webpackAliasToJestModules = ()=>{
const ret = {
'\\.svg': '<rootDir>/regression/javascript/__mocks__/svg.js'
};
Object.keys(webpackShimAlias).forEach((an)=>{
// eg - sources: ./pgadmin/static/js/ to '^sources/(.*)$': '<rootDir>/pgadmin/static/js/$1'
let ap = webpackShimAlias[an].replace(__dirname, '<rootDir>');
if(ap.endsWith('/') || ap.endsWith('\\')) {
ret[`^${an}/(.*)$`] = ap + '$1';
return;
}
ret[`^${an}$`] = ap;
});
// Overrides
ret['^translations$'] = '<rootDir>/regression/javascript/fake_translations';
ret['^pgadmin.browser.messages$'] = '<rootDir>/regression/javascript/fake_messages';
ret['^pgadmin.browser.endpoints$'] = '<rootDir>/regression/javascript/fake_endpoints';
ret['^pgadmin.browser.translations$'] = '<rootDir>/regression/javascript/fake_translations';
ret['^pgadmin.user_management.current_user$'] = '<rootDir>/regression/javascript/fake_current_user';
ret['^pgadmin.server.supported_servers$'] = '<rootDir>/regression/javascript/fake_supported_servers';
const sources = ret['^sources/(.*)$'];
delete ret['^sources/(.*)$'];
ret['^sources/pgadmin$'] = '<rootDir>/regression/javascript/fake_pgadmin';
ret['^sources/gettext$'] = '<rootDir>/regression/javascript/fake_gettext';
ret['^sources/(.*)$'] = sources;
// Only for tests
ret['^pgadmin.schema.dir/(.*)$'] = '<rootDir>/pgadmin/browser/server_groups/servers/databases/schemas/static/js/$1';
ret['^browser/(.*)$'] = '<rootDir>/pgadmin/browser/static/js/$1';
return ret;
};
module.exports = {
'roots': ['<rootDir>/pgadmin/', '<rootDir>/regression/javascript'],
'moduleFileExtensions': ['js', 'jsx', 'ts', 'tsx'],
'moduleNameMapper': webpackAliasToJestModules(),
'transform': {
'^.+\\.(js|jsx|mjs|cjs|ts|tsx)$': 'babel-jest',
},
'setupFilesAfterEnv': [
'<rootDir>/regression/javascript/setup-jest.js',
],
'testMatch': [
'<rootDir>/regression/javascript/**/*{spec,test}.{js,jsx,ts,tsx}'
],
'testEnvironment': 'jsdom',
'transformIgnorePatterns': [
'[/\\\\]node_modules[/\\\\](?!react-dnd|dnd-core|@react-dnd).+\\.(js|jsx|mjs|cjs|ts|tsx)$',
'^.+\\.module\\.(css|sass|scss)$'
]
};
-106
View File
@@ -1,106 +0,0 @@
/////////////////////////////////////////////////////////////
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2023, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
//////////////////////////////////////////////////////////////
// Karma configuration
const webpackConfig = require('./webpack.test.config.js');
const isDocker = require('is-docker')();
const webpack = require('webpack');
module.exports = function (config) {
config.set({
frameworks: ['jasmine', 'source-map-support'],
reporters: ['progress', 'kjhtml'],
plugins: [
'karma-webpack',
'karma-chrome-launcher',
'karma-jasmine',
'karma-jasmine-html-reporter',
'karma-source-map-support',
'karma-sourcemap-loader',
'karma-coverage',
new webpack.SourceMapDevToolPlugin({
/*
* filename: null, // if no value is provided the sourcemap is inlined
*/
filename: '[name].js.map',
test: /\.js$/i, // process .js files only
}),
],
files: [
{pattern: 'pgadmin/static/**/*.js', included: false, watched: true},
{pattern: 'pgadmin/browser/static/js/**/*.js', included: false, watched: true},
{pattern: 'regression/javascript/**/*.js', watched: true},
],
// list of files to exclude
exclude: [
'pgadmin/static/vendor/**/*[Tt]est.js',
'pgadmin/static/vendor/**/*[Ss]pec.js',
],
// preprocess matching files before serving them to the browser
// available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
preprocessors: {
'pgadmin/**/js/**/*.js?': ['sourcemap'],
'regression/javascript/**/*.js': ['webpack', 'sourcemap'],
},
// optionally, configure the reporter
coverageReporter: {
reporters: [
// reporters not supporting the `file` property
{ type: 'html', subdir: 'report-html' },
{ type: 'lcovonly', subdir: 'report-lcov' },
],
dir : 'coverage/',
includeAllSources: true,
},
webpack: webpackConfig,
webpackMiddleware: {
stats: 'errors-only',
},
port: 9876,
// enable / disable colors in the output (reporters and logs)
colors: true,
// level of logging
// possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
logLevel: config.LOG_WARN,
// enable / disable watching file and executing tests whenever any file changes
autoWatch: true,
usePolling: true,
// start these browsers
// available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
customLaunchers: {
ChromeCustom: {
base: 'ChromeHeadless',
// We must disable the Chrome sandbox when running Chrome inside Docker (Chrome's sandbox needs
// more permissions than Docker allows by default)
flags: isDocker ? ['--no-sandbox'] : [],
},
},
browsers: ['ChromeCustom'],
// Continuous Integration mode
// if true, Karma captures browsers, runs the tests and exits
singleRun: false,
// Concurrency level
// how many browser should be started simultaneous
concurrency: Infinity,
});
};
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
##
## pgAdmin 4 - PostgreSQL Tools
##
## Copyright (C) 2013 - 2023, The pgAdmin Development Team
## Copyright (C) 2013 - 2024, The pgAdmin Development Team
## This software is released under the PostgreSQL Licence
##
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+39
View File
@@ -0,0 +1,39 @@
##########################################################################
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
"""Update DB to version 38
Removed max length from passexec_cmd column of server configuration.
Revision ID: 44926ac97232
Revises: 44b9ce549393
Create Date: 2023-11-03 19:56:51.277160
"""
import sqlalchemy as sa
from alembic import op
# revision identifiers, used by Alembic.
revision = '44926ac97232'
down_revision = '44b9ce549393'
branch_labels = None
depends_on = None
def upgrade():
with op.batch_alter_table("server") as batch_op:
batch_op.alter_column('passexec_cmd',
existing_type=sa.String(length=256),
type_=sa.String())
# ### end Alembic commands ###
def downgrade():
# pgAdmin only upgrades, downgrade not implemented.
pass
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
Loaded 100 of 1708 files, more files were not shown because too many files have changed in this diff. Show more