Compare commits

..
230 Commits
Author SHA1 Message Date
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
Aditya Toshniwal 3416184236 Fix more UI issues related to System statistics dashboard 2023-10-18 13:31:43 +05:30
Aditya Toshniwal 6e3ee1c607 Fix an issue where servers are not listed in add new connection dialog. 2023-10-18 11:43:42 +05:30
Aditya Toshniwal b512404c85 Update release notes 2023-10-17 15:19:40 +05:30
Pravesh Sharma 5bb6e9133f Fixed query history slowness issue by storing query only for those having certain threshold max length. #6666 2023-10-17 15:17:53 +05:30
Aditya Toshniwal 344c236d72 Fix following issues in system stats:
1. Graphs rendering in opposite directions on tab change.
2. Y-axis label width should be dynamic.
3. Tooltip values should be formatted.
2023-10-17 15:01:52 +05:30
Khushboo Vashi b4b2a4ff67 Fix an issue where user login is not working if username/email contains single quote in server mode. #6865 2023-10-17 13:49:18 +05:30
Akshay Joshi 205a661922 Update version for v7.8 release 2023-10-16 15:11:27 +05:30
Pravesh Sharma eead9b77e7 Fixed issue where MSQL for delete column was not generating. #5749 2023-10-16 15:04:31 +05:30
Aditya Toshniwal 47e734dbf2 Fix an issue in graphical explain plan where query tool crashes when the plan has parallel workers details and sort node is clicked for details. #6858 2023-10-16 11:40:43 +05:30
Libor M ce372a73bf Czech translation for version 7.8 2023-10-16 11:25:29 +05:30
Akshay Joshi 10c5d25735 Update message catalogs 2023-10-12 17:59:09 +05:30
Akshay Joshi 81dcc91747 Added 'hostaddr' and used host string as it is while creating SSHTunnel. 2023-10-12 17:57:40 +05:30
Aditya Toshniwal 3a62fc5a2a Fix issues found during testing. #6229, #6836 2023-10-12 16:58:46 +05:30
Aditya Toshniwal 10adb6a11b Add support for setting prepare threshold in server connection. #6285 2023-10-12 16:54:06 +05:30
Khushboo Vashi 82fade7645 Fix System Stat dashboard UI issues. 2023-10-12 14:04:58 +05:30
Akshay Joshi 37dced23f0 Remove an extra space in --disable-components 2023-10-11 19:14:01 +05:30
Akshay Joshi 6f857bdbcb Replace the logic to download/install PostgreSQL on Windows in the GitHub actions. Use stack builder instead of Chocolatey. 2023-10-11 18:24:12 +05:30
Aditya Toshniwal 6ba9c192ce Fix failing JS test cases after scale related commit. #6851 2023-10-11 16:31:02 +05:30
Aditya Toshniwal 221af6caa6 Fix an issue where scale in columns is not allowed to have value as 0 or below. #6851 2023-10-11 15:06:57 +05:30
Aditya Toshniwal e22492ad51 Fixed an issue where non-super PostgreSQL users are not able to terminate their own connections from dashboard. #6836 2023-10-11 13:43:31 +05:30
Akshay Joshi 2b8efc6361 Update release note 2023-10-11 13:34:02 +05:30
Pravesh Sharma 73430a2062 Fixed an issue where user was not able to assign new/old columns as primary key once column with primary key is deleted. #5749 2023-10-11 13:29:19 +05:30
Aditya Toshniwal fc411bfc49 Allow setting custom username for shared servers, with default as username of server being shared. #6229 2023-10-11 12:56:06 +05:30
Yogesh Mahajan 4450145d31 Fixed issues reported while testing foreign table properties. #640 2023-10-11 11:53:14 +05:30
Sahil Harpal cd84200135 Fix system stat dashboard UI issues. 2023-10-11 11:27:21 +05:30
Nikhil Mohite 6997d0149e Fetch database objects after opening the backup dialog. #6799 2023-10-10 15:28:25 +05:30
Aditya Toshniwal 5981f4bd13 In GUI tests, do not try to set the binary path in preferences if it is blank 2023-10-09 12:42:52 +05:30
Anil Sahoo 5113fda7a6 Fix an issue where global/native keyboard shortcuts are not working when any cell of data output grid has focus. #6579 (#6834) 2023-10-06 13:28:16 +05:30
Yogesh Mahajan 7ce07f7dcf Fixed issues reported while testing foreign table node. #640 2023-10-06 12:28:40 +05:30
Aditya Toshniwal 078a959e3d Remove the Pillow dependency completely. 2023-10-05 12:40:29 +05:30
Dave Page b4f517f7ff Rename tasks in workflows to allow rule enforcement in Github. 2023-10-05 11:57:24 +05:30
dependabot[bot] 36dc2e9d2a JS dependency: Bump eslint from 8.47.0 to 8.50.0 in /runtime (#6789)
Bumps [eslint](https://github.com/eslint/eslint) from 8.47.0 to 8.50.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.47.0...v8.50.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-05 11:33:41 +05:30
Aditya Toshniwal 858c85adbe Upgrade Pillow to latest based on Python v3.7 compatibility. 2023-10-05 11:30:50 +05:30
dependabot[bot] 2cd86449d0 JS dependency: Bump webpack from 5.88.0 to 5.88.2 in /web (#6641)
Bumps [webpack](https://github.com/webpack/webpack) from 5.88.0 to 5.88.2.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.88.0...v5.88.2)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  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-04 18:37:38 +05:30
dependabot[bot] c37fb061bd JS dependency: Bump eslint-plugin-react in /web (#6688)
Bumps [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) from 7.32.2 to 7.33.2.
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.32.2...v7.33.2)

---
updated-dependencies:
- dependency-name: eslint-plugin-react
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-04 18:33:52 +05:30
dependabot[bot] dc9cc3730b Python dependency: Bump axios from 1.5.0 to 1.5.1 in /runtime (#6796)
Bumps [axios](https://github.com/axios/axios) from 1.5.0 to 1.5.1.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.5.0...v1.5.1)

---
updated-dependencies:
- dependency-name: axios
  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-04 18:25:10 +05:30
dependabot[bot] 872b60de5c Python dependency: Bump postcss from 8.4.24 to 8.4.31 in /web (#6819)
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.24 to 8.4.31.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.24...8.4.31)

---
updated-dependencies:
- dependency-name: postcss
  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-10-04 18:24:46 +05:30
Aditya Toshniwal 5d2ce142dd Fixed an issue in ERD tool where the downloaded images have a few links cut. #4995 2023-10-04 18:23:41 +05:30
Akshay Joshi 9666bd6c8d 1) Added 'load_balance_hosts' connection string parameter for PG 16 and above. #6802
2) Added EPAS 11 support back as its EOL is in November.
2023-10-04 17:55:37 +05:30
Khushboo Vashi 0b3c79865e Fix the issue where backend APIs are called even if System Stat extension is not installed for the database. 2023-10-04 15:04:33 +05:30
Nikhil Mohite 9c903f944c Fixed an issue where the user is unable to select objects on the backup dialog due to tree flickring #6799. 2023-10-04 12:13:21 +05:30
Nikhil Mohite 541d9dfcb4 Fix API test cases for backup dialog. 2023-09-29 14:49:11 +05:30
Aditya Toshniwal b9d3006915 Fix failing RE-SQL test cases for foreign tables on EPAS servers. 2023-09-29 13:38:22 +05:30
Khushboo Vashi 68b7ddb592 Fix UI issues for System Statistics panel. 2023-09-28 15:23:15 +05:30
Akshay Joshi 4309aa3ba7 Ensure that the backup works properly for PG 16 on the latest docker image. #6790 2023-09-27 17:09:49 +05:30
Yogesh Mahajan f9bbadfc6a Pin the cryptography version to fix PyO3 modules initialisation error. #6718 2023-09-27 16:45:48 +05:30
Khushboo Vashi c6f8918983 Update release notes. 2023-09-27 16:06:54 +05:30
Sahil Harpal 16c95d21a7 GUI representation of the system's activity using the system_stats extension. #6797 2023-09-27 16:04:48 +05:30
Akshay Joshi bae912fa40 Added PG version 16 and removed PG version 11 from github actions. 2023-09-27 13:26:21 +05:30
Akshay Joshi ca3ec76db6 Added version PG 16 and removed PG 11 2023-09-27 12:49:16 +05:30
Akshay Joshi 4050545f7c Fixed an issue where the wrong message 'Current database has been moved or renamed' is displayed when debugging any function. #6482 2023-09-26 18:07:25 +05:30
Khushboo Vashi 975bcd9fb0 Update release notes. 2023-09-26 15:14:55 +05:30
Yogesh Mahajan 3cd547f879 Implement column node and its features for foreign table. #640, #6373, #6674 2023-09-26 15:03:03 +05:30
Akshay Joshi 5736e173ea 1) Fixed an issue where PG 16 binaries not getting copied into the docker container.
2) Remove support for PostgreSQL 11.
2023-09-26 13:45:08 +05:30
Dave Page 5a26cad588 Use PG16 as the default in the container. 2023-09-21 15:35:44 +05:30
Aditya Toshniwal 3b616b2fb1 Handle a missing case in previous commit where a PG binary may not be present on some systems. #6763 2023-09-20 12:47:06 +05:30
Aditya Toshniwal 35f05e49b3 Fix the security issue of validate bin path to consider and fix more scenarios. #6763 2023-09-20 11:17:07 +05:30
Akshay Joshi 61fa8b16c9 Update version for release 7.7 2023-09-18 18:57:29 +05:30
Pravesh Sharma 3258851425 Access method for partitions not visible when opening table properties. #6378 2023-09-18 18:49:11 +05:30
Nikhil Mohite 0f5450c6d2 Fixed the following issues found in testing of #642
1. When all nodes are collapsed & you select the schema node, table node remains partially selected.
2. When paren node is expanded with above operation, Child selection is not visible
3. Prevent scrolling to top on selection of node
4. The checkbox state is NOT remembered on switching of the tab.
2023-09-18 16:23:20 +05:30
Aditya Toshniwal 07f18a1b05 Fix an issue where user get logged out if password in changed. #6274 2023-09-18 14:06:38 +05:30
Aditya Toshniwal 02ecc82e73 Fix a security related issue where an authenticated user can run remote command using validate binary path API (CVE-2023-5002). #6763 (#6764) 2023-09-18 14:01:11 +05:30
rlbxku1r 0d111e0fb6 Update Japanese translation for v7.7 2023-09-18 13:45:13 +05:30
Domenico Sgarbossa 7af597eca2 Updated Italian translations for v7.7 2023-09-18 12:13:49 +05:30
Akshay Joshi 64c71becc6 Update message catalogs for v7.7 2023-09-14 18:06:56 +05:30
Akshay Joshi ffec77d50b Added compression method option while creating a column. #6379 2023-09-14 11:56:00 +05:30
Pravesh Sharma d69b4282c8 Fixed issues reported while testing feature #6378 2023-09-13 16:19:07 +05:30
Nikhil Mohite aa973fc8ae Added support to select/deselect objects in the Backup dialog. #642 2023-09-13 11:07:28 +05:30
Pravesh Sharma 8c91d40932 Fixed RESQL test case failure for EPAS 15. #6400 2023-09-13 10:50:29 +05:30
Aditya Toshniwal 2f5fb6a996 Fix an issue where user is not able to change the password when SMTP is not configured. #6274.
Fix an issue where changing the password shows success but the new password is not working. #6730.
2023-09-12 15:16:09 +05:30
Pravesh Sharma cfc338c5f0 Fix an issue where login form doesn't appear if internal auth source is removed. #6378 2023-09-12 11:40:34 +05:30
Anil Sahoo 32403920fe Enhancement of properties tab for column's collection by adding Primary Key and Not NULL columns. #2411 2023-09-07 11:54:02 +05:30
Akshay Joshi e9384615dc Fixed linter error. 2023-09-06 11:43:55 +05:30
Akshay Joshi 07d965ea46 Ensure that Materialized view size fields in Statistics should be human-readable. #6712 2023-09-06 11:31:04 +05:30
Pravesh Sharma a43b70e360 1. Added USING method while creating the table. #6378
2. Added USING method while creating the materialized view. #6400
2023-09-06 11:22:30 +05:30
Khushboo Vashi 095e11247d Update release notes. 2023-09-05 18:18:36 +05:30
Akshay Joshi 88162c683e Unpin the 'python-socketio' as the issue is fixed in the latest version of Flask-SocketIO v5.3.6 2023-09-05 16:29:29 +05:30
Akshay Joshi cf3c696f7e Pin python-socketio to 5.8.0 as the latest version throwing error for the test client. 2023-09-05 11:54:43 +05:30
Everton Seiei Arakaki 02eaf787e9 Add support for additional ID token claim checks for OAuth 2 authentication. #6736 2023-09-05 11:28:18 +05:30
Dave Page e5c249e81c Remove version from SSL libs 2023-09-04 15:35:56 +01:00
Akshay Joshi c0b868b53b Added Strategy, Locale Provider, ICU Locale, ICU Rules, and OID options while creating a database. #6383 2023-09-04 16:03:06 +05:30
dependabot[bot] 39a14920e3 Python dependency: Bump axios from 1.4.0 to 1.5.0 in /runtime (#6725)
Bumps [axios](https://github.com/axios/axios) from 1.4.0 to 1.5.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.4.0...v1.5.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-04 15:05:16 +05:30
sprayzcs 5cf9dea9a8 Change grep regex in the docker's entrypoint to find env variables starting with PGADMIN_CONFIG_ only. 2023-09-04 13:06:15 +05:30
Anil Sahoo 0b7eafaca0 Added the 'data type' column in the properties tab of the Columns collection node. #2411 2023-08-31 12:33:08 +05:30
Khushboo Vashi ed8aeed818 Remove backslash from the directory path to fix the SBOM generation issue on Windows. 2023-08-31 12:30:40 +05:30
Khushboo Vashi 0b91244f91 Another attempt to fix SBOM Windows issue. 2023-08-30 11:21:08 +05:30
Khushboo Vashi 46c67a2f4e Fix SBOM generation issue on Windows. 2023-08-28 15:42:39 +05:30
Akshay Joshi c87e925991 Update release note 2023-08-25 12:51:47 +05:30
Anil Sahoo 5fb80af90e Added all the new options of the 'WITH' clause in the subscription dialog. #4805 2023-08-25 12:48:31 +05:30
Akshay Joshi 77467209c2 1) Added release note for v7.7
2) Added exception handling while removing the test database file.
2023-08-25 11:14:54 +05:30
Yogesh Mahajan cd613ded0a Ensure user is redirected to login page after failed login. #6704 2023-08-25 10:38:50 +05:30
Aditya Toshniwal e8283173ba Remove imagemin-pngquant as we already have a PNG optimizer imagemin-optipng 2023-08-23 12:23:38 +05:30
1897 changed files with 79789 additions and 58777 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"
+1 -1
View File
@@ -13,7 +13,7 @@ concurrency:
cancel-in-progress: true
jobs:
build:
build-container:
runs-on: ubuntu-latest
steps:
+1 -1
View File
@@ -13,7 +13,7 @@ concurrency:
cancel-in-progress: true
jobs:
build:
build-docs:
runs-on: ubuntu-latest
steps:
+6 -1
View File
@@ -13,12 +13,17 @@ concurrency:
cancel-in-progress: true
jobs:
build:
check-javascript-style:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Upgrade yarn
run: |
yarn set version berry
yarn set version 3
- name: Install Node modules
run: |
cd web
+1 -1
View File
@@ -13,7 +13,7 @@ concurrency:
cancel-in-progress: true
jobs:
build:
build-python-package:
runs-on: ubuntu-latest
steps:
+1 -1
View File
@@ -13,7 +13,7 @@ concurrency:
cancel-in-progress: true
jobs:
build:
check-python-style:
runs-on: ubuntu-latest
steps:
+1 -1
View File
@@ -13,7 +13,7 @@ concurrency:
cancel-in-progress: true
jobs:
build:
build-tarball:
runs-on: ubuntu-latest
steps:
+1 -1
View File
@@ -13,7 +13,7 @@ concurrency:
cancel-in-progress: true
jobs:
build:
check-translations:
runs-on: ubuntu-latest
steps:
+7 -2
View File
@@ -13,7 +13,7 @@ concurrency:
cancel-in-progress: true
jobs:
build:
run-feature-tests-epas:
# Only run if the tests are enabled
# TODO: Figure out a way to test for the presence of the secrets instead
if: vars.ENABLE_EPAS_TESTS == 'true'
@@ -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
+7 -2
View File
@@ -16,11 +16,11 @@ concurrency:
cancel-in-progress: true
jobs:
build:
run-feature-tests-pg:
strategy:
fail-fast: false
matrix:
pgver: [11, 12, 13, 14, 15]
pgver: [12, 13, 14, 15, 16]
runs-on: ubuntu-latest
@@ -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
+8 -3
View File
@@ -13,7 +13,7 @@ concurrency:
cancel-in-progress: true
jobs:
build:
run-javascript-tests:
strategy:
fail-fast: false
matrix:
@@ -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
+2 -2
View File
@@ -23,7 +23,7 @@ concurrency:
cancel-in-progress: true
jobs:
build:
run-python-tests-epas:
# Only run if the tests are enabled
# TODO: Figure out a way to test for the presence of the secrets instead
if: vars.ENABLE_EPAS_TESTS == 'true'
@@ -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 }}
+5 -3
View File
@@ -16,12 +16,12 @@ concurrency:
cancel-in-progress: true
jobs:
build:
run-python-tests-pg:
strategy:
fail-fast: false
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
pgver: [11, 12, 13, 14, 15]
pgver: [12, 13, 14, 15, 16]
runs-on: ${{ matrix.os }}
@@ -57,7 +57,9 @@ jobs:
- name: Install platform dependencies on Windows
if: ${{ matrix.os == 'windows-latest' }}
run: |
choco install -y postgresql${{ matrix.pgver }} --params "/Password:postgres /Port:59${{ matrix.pgver }}" --ia "--prefix C:\PostgreSQL\${{ matrix.pgver }} --datadir C:\PostgreSQL\${{ matrix.pgver }}\data --install_runtimes 0 --disable-components pgAdmin,stackbuilder --enable-components server,commandlinetools"
FOR /f "delims=" %%F IN ('python tools\get_sb_package.py "https://www.postgresql.org/applications-v2.xml" "postgresql_${{ matrix.pgver }}" "windows-x64"') DO SET INSTALLER_EXE=%%F
ECHO Running %INSTALLER_EXE%...
%INSTALLER_EXE% --prefix C:\PostgreSQL\${{ matrix.pgver }} --datadir C:\PostgreSQL\${{ matrix.pgver }}\data --serverport 59${{ matrix.pgver }} --superpassword postgres --install_runtimes 0 --mode unattended --unattendedmodeui none --disable-components pgAdmin,stackbuilder --enable-components server,commandlinetools"
choco install -y mitkerberos
REM Ignore error 3010 (reboot required)
+1 -1
View File
@@ -18,7 +18,7 @@ concurrency:
cancel-in-progress: false
jobs:
build:
run-sonarqube-scan:
# Only run if the project key is set
if: vars.SONARQUBE_PROJECT_KEY != null
+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
+19 -11
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
#########################################################################
@@ -114,20 +116,15 @@ RUN rm -rf /pgadmin4/docs/en_US/_build/html/_static/*.png
# Create additional builders to get all of the PostgreSQL utilities
#########################################################################
FROM postgres:11-alpine AS pg11-builder
FROM postgres:12-alpine AS pg12-builder
FROM postgres:13-alpine AS pg13-builder
FROM postgres:14-alpine AS pg14-builder
FROM postgres:15-alpine AS pg15-builder
FROM postgres:16-alpine AS pg16-builder
FROM alpine:latest AS tool-builder
# Copy the PG binaries
COPY --from=pg11-builder /usr/local/bin/pg_dump /usr/local/pgsql/pgsql-11/
COPY --from=pg11-builder /usr/local/bin/pg_dumpall /usr/local/pgsql/pgsql-11/
COPY --from=pg11-builder /usr/local/bin/pg_restore /usr/local/pgsql/pgsql-11/
COPY --from=pg11-builder /usr/local/bin/psql /usr/local/pgsql/pgsql-11/
COPY --from=pg12-builder /usr/local/bin/pg_dump /usr/local/pgsql/pgsql-12/
COPY --from=pg12-builder /usr/local/bin/pg_dumpall /usr/local/pgsql/pgsql-12/
COPY --from=pg12-builder /usr/local/bin/pg_restore /usr/local/pgsql/pgsql-12/
@@ -148,6 +145,11 @@ COPY --from=pg15-builder /usr/local/bin/pg_dumpall /usr/local/pgsql/pgsql-15/
COPY --from=pg15-builder /usr/local/bin/pg_restore /usr/local/pgsql/pgsql-15/
COPY --from=pg15-builder /usr/local/bin/psql /usr/local/pgsql/pgsql-15/
COPY --from=pg16-builder /usr/local/bin/pg_dump /usr/local/pgsql/pgsql-16/
COPY --from=pg16-builder /usr/local/bin/pg_dumpall /usr/local/pgsql/pgsql-16/
COPY --from=pg16-builder /usr/local/bin/pg_restore /usr/local/pgsql/pgsql-16/
COPY --from=pg16-builder /usr/local/bin/psql /usr/local/pgsql/pgsql-16/
#########################################################################
# Assemble everything into the final container.
#########################################################################
@@ -159,9 +161,14 @@ COPY --from=env-builder /venv /venv
# Copy in the tools
COPY --from=tool-builder /usr/local/pgsql /usr/local/
COPY --from=pg15-builder /usr/local/lib/libpq.so.5.15 /usr/lib/
RUN ln -s libpq.so.5.15 /usr/lib/libpq.so.5 && \
ln -s libpq.so.5.15 /usr/lib/libpq.so
COPY --from=pg16-builder /usr/local/lib/libpq.so.5.16 /usr/lib/
COPY --from=pg16-builder /usr/lib/libzstd.so.1.5.5 /usr/lib/
COPY --from=pg16-builder /usr/lib/liblz4.so.1.9.4 /usr/lib/
RUN ln -s libpq.so.5.16 /usr/lib/libpq.so.5 && \
ln -s libpq.so.5.16 /usr/lib/libpq.so && \
ln -s libzstd.so.1.5.5 /usr/lib/libzstd.so.1 && \
ln -s liblz4.so.1.9.4 /usr/lib/liblz4.so.1
WORKDIR /pgadmin4
ENV PYTHONPATH=/pgadmin4
@@ -186,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
@@ -26,8 +26,8 @@ CALL :CLEAN || EXIT /B 1
CALL :CREATE_VIRTUAL_ENV || EXIT /B 1
CALL :CREATE_PYTHON_ENV || EXIT /B 1
CALL :CREATE_RUNTIME_ENV || EXIT /B 1
CALL :CREATE_INSTALLER || EXIT /B 1
CALL :GENERATE_SBOM || EXIT /B 1
CALL :CREATE_INSTALLER || EXIT /B 1
CALL :SIGN_INSTALLER || EXIT /B 1
EXIT /B %ERRORLEVEL%
@@ -315,8 +315,8 @@ REM Main build sequence Ends
ECHO Staging PostgreSQL components...
COPY "%PGADMIN_POSTGRES_DIR%\bin\libpq.dll" "%BUILDROOT%\runtime" > nul || EXIT /B 1
COPY "%PGADMIN_POSTGRES_DIR%\bin\libcrypto-1_1-x64.dll" "%BUILDROOT%\runtime" > nul || EXIT /B 1
COPY "%PGADMIN_POSTGRES_DIR%\bin\libssl-1_1-x64.dll" "%BUILDROOT%\runtime" > nul || EXIT /B 1
COPY "%PGADMIN_POSTGRES_DIR%\bin\libcrypto-*-x64.dll" "%BUILDROOT%\runtime" > nul || EXIT /B 1
COPY "%PGADMIN_POSTGRES_DIR%\bin\libssl-*-x64.dll" "%BUILDROOT%\runtime" > nul || EXIT /B 1
IF EXIST "%PGADMIN_POSTGRES_DIR%\bin\libintl-*.dll" COPY "%PGADMIN_POSTGRES_DIR%\bin\libintl-*.dll" "%BUILDROOT%\runtime" > nul
IF EXIST "%PGADMIN_POSTGRES_DIR%\bin\libiconv-*.dll" COPY "%PGADMIN_POSTGRES_DIR%\bin\libiconv-*.dll" "%BUILDROOT%\runtime" > nul
COPY "%PGADMIN_POSTGRES_DIR%\bin\zlib.dll" "%BUILDROOT%\runtime" > nul || EXIT /B 1
@@ -364,7 +364,7 @@ REM Main build sequence Ends
:GENERATE_SBOM
ECHO Generating SBOM...
syft "%BUILDROOT%\" -o cyclonedx-json > "%BUILDROOT%\sbom.json"
CALL syft "%BUILDROOT%" -o cyclonedx-json > "%BUILDROOT%\sbom.json"
:SIGN_INSTALLER
ECHO Attempting to sign the installer...
+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.
+10
View File
@@ -251,6 +251,16 @@ tab to provide other backup options.
table locks at the beginning of the dump. Instead, fail if unable to lock a
table within the specified timeout.
Click the *Objects* tab to continue.
.. image:: images/backup_object_selection.png
:alt: Select objects in backup dialog
:align: center
* Select the objects from tree to take backup of selected objects only.
* If Schema is selected then it will take the backup of that selected schema only.
* If any Table, View, Materialized View, Sequences, or Foreign Table is selected then it will take the backup of those selected objects.
When you’ve specified the details that will be incorporated into the pg_dump
command:
+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
#
##########################################################################
+4
View File
@@ -39,6 +39,10 @@ are disabled if inapplicable.)
a text value.
* Use the drop-down listbox next to *Collation* to apply a collation setting to
the column.
* Use the drop-down listbox next to *Compression* to set the compression method
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.
Click the *Constraints* tab to continue.
+2 -2
View File
@@ -53,11 +53,11 @@ The default binary paths set in the container are as follows:
.. code-block:: bash
DEFAULT_BINARY_PATHS = {
'pg-16': '/usr/local/pgsql-16',
'pg-15': '/usr/local/pgsql-15',
'pg-14': '/usr/local/pgsql-14',
'pg-13': '/usr/local/pgsql-13',
'pg-12': '/usr/local/pgsql-12',
'pg-11': '/usr/local/pgsql-11'
'pg-12': '/usr/local/pgsql-12'
}
this may be changed in the :ref:`preferences`.
+14
View File
@@ -19,6 +19,9 @@ Use the fields in the *General* tab to identify the database:
* Use the *Database* field to add a descriptive name for the database. The name
will be displayed in the *pgAdmin* tree control.
* Use the *OID* field to specify the object identifier to be used for the new
database. Users can specify the value greater than 16383. This option is available
from v15 and above.
* Select the owner of the database from the drop-down listbox in the *Owner*
field.
* Store notes about the database in the *Comment* field.
@@ -38,11 +41,22 @@ Use the *Definition* tab to set properties for the database:
* Select a tablespace from the drop-down listbox in the *Tablespace* field. The
selected tablespace will be the default tablespace used to contain database
objects.
* Select the strategy from the drop-down listbox in the *Strategy* field while
creating a new database. This option is available from v15 and above.
* Select the locale provider from the drop-down listbox in the *Locale Provider*
field to set the default collation for this database. Possible values are: icu, libc.
This option is available from v15 and above.
* Select the collation order from the drop-down listbox in the *Collation* field.
* Select the character classification from the drop-down listbox in the
*Character Type* field. This affects the categorization of characters, e.g.
lower, upper and digit. The default, or a blank field, uses the character
classification of the template database.
* Select the icu locale from the drop-down listbox in the *ICU Locale* to
specifies the ICU locale ID if the ICU locale provider is used.
This option is available from v15 and above.
* Specify the icu rules in the *ICU Rules* field as additional collation
rules to customize the behavior of the default collation of this database.
This option is available from v16 and above.
* Specify a connection limit in the *Connection Limit* field to configure the
maximum number of connection requests. The default value (*-1*) allows
unlimited connections to the database.
+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.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 110 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: 64 KiB

After

Width:  |  Height:  |  Size: 88 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.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 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: 49 KiB

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 67 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: 44 KiB

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 94 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
+14 -11
View File
@@ -31,17 +31,6 @@ Use the fields in the *General* tab to identify the materialized view:
Click the *Definition* tab to continue.
.. image:: images/materialized_view_definition.png
:alt: Materialized view dialog definition tab
:align: center
Use the text editor field in the *Definition* tab to provide the query that will
populate the materialized view. Please note that updating the definition of existing
materialized view would result in loss of Parameter(Table, Toast), Security(Privileges & Security labels),
Indexes and other dependent objects.
Click the *Storage* tab to continue.
.. image:: images/materialized_view_storage.png
:alt: Materialized view dialog storage tab
:align: center
@@ -52,10 +41,24 @@ Use the fields in the *Storage* tab to maintain the materialized view:
cannot be queried until you invoke REFRESH MATERIALIZED VIEW.
* Use the drop-down listbox next to *Tablespace* to select a location for the
materialized view.
* Use the drop-down list box next to Access Method to specify the table access method to use to store the contents
for the new materialized view; the method needs to be an access method of type TABLE. This field is optional.
This option is available from v12 and above.
* Use the *Fill Factor* field to specify a fill factor for the materialized
view. The fill factor for a table is a percentage between 10 and 100. 100
(complete packing) is the default.
Click the *Code* tab to continue.
.. image:: images/materialized_view_code.png
:alt: Materialized view dialog definition tab
:align: center
Use the text editor field in the *Code* tab to provide the query that will
populate the materialized view. Please note that updating the definition of existing
materialized view would result in loss of Parameter(Table, Toast), Security(Privileges & Security labels),
Indexes and other dependent objects.
Click the *Parameter* tab to continue.
.. image:: images/materialized_view_parameter.png
+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. |
+-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
+9
View File
@@ -12,6 +12,10 @@ installed in Server mode. You can copy these settings from *config.py* file
and modify the values for the following parameters:
.. _AzureAD: https://learn.microsoft.com/en-us/security/zero-trust/develop/configure-tokens-group-claims-app-roles
.. _GitLab: https://docs.gitlab.com/ee/integration/openid_connect_provider.html#shared-information
.. csv-table::
:header: "**Parameter**", "**Description**"
:class: longtable
@@ -39,6 +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 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
============
+40 -13
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
@@ -562,3 +549,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| |
+5
View File
@@ -11,6 +11,11 @@ notes for it.
.. toctree::
:maxdepth: 1
release_notes_8_2
release_notes_8_1
release_notes_8_0
release_notes_7_8
release_notes_7_7
release_notes_7_6
release_notes_7_5
release_notes_7_4
+44
View File
@@ -0,0 +1,44 @@
***********
Version 7.7
***********
Release date: 2023-09-21
This release contains a number of bug fixes and new features since the release of pgAdmin 4 v7.6.
Supported Database Servers
**************************
**PostgreSQL**: 11, 12, 13, 14 and 15
**EDB Advanced Server**: 11, 12, 13, 14 and 15
Bundled PostgreSQL Utilities
****************************
**psql**, **pg_dump**, **pg_dumpall**, **pg_restore**: 15.4
New features
************
| `Issue #642 <https://github.com/pgadmin-org/pgadmin4/issues/642>`_ - Added support to select/deselect objects in the Backup dialog.
| `Issue #4805 <https://github.com/pgadmin-org/pgadmin4/issues/4805>`_ - Added all the new options of the 'WITH' clause in the subscription dialog.
| `Issue #6378 <https://github.com/pgadmin-org/pgadmin4/issues/6378>`_ - Added USING method while creating the table.
| `Issue #6379 <https://github.com/pgadmin-org/pgadmin4/issues/6379>`_ - Added compression method option while creating a column.
| `Issue #6383 <https://github.com/pgadmin-org/pgadmin4/issues/6383>`_ - Added Strategy, Locale Provider, ICU Locale, ICU Rules, and OID options while creating a database.
| `Issue #6400 <https://github.com/pgadmin-org/pgadmin4/issues/6400>`_ - Added USING method while creating the materialized view.
| `Issue #6736 <https://github.com/pgadmin-org/pgadmin4/issues/6736>`_ - Add support for additional ID token claim checks for OAuth 2 authentication.
Housekeeping
************
| `Issue #2411 <https://github.com/pgadmin-org/pgadmin4/issues/2411>`_ - Added the 'data type' column in the properties tab of the Columns collection node.
Bug fixes
*********
| `Issue #6274 <https://github.com/pgadmin-org/pgadmin4/issues/6274>`_ - Fix an issue where user is not able to change the password when SMTP is not configured.
| `Issue #6704 <https://github.com/pgadmin-org/pgadmin4/issues/6704>`_ - Ensure user is redirected to login page after failed login.
| `Issue #6712 <https://github.com/pgadmin-org/pgadmin4/issues/6712>`_ - Ensure that Materialized view size fields in "Statistics" should be human-readable.
| `Issue #6730 <https://github.com/pgadmin-org/pgadmin4/issues/6730>`_ - Fix an issue where changing the password shows success but the new password is not working.
| `Issue #6738 <https://github.com/pgadmin-org/pgadmin4/issues/6738>`_ - Fix an issue where login form doesn't appear if internal auth source is removed.
| `Issue #6764 <https://github.com/pgadmin-org/pgadmin4/issues/6764>`_ - Fix a security related issue where an authenticated user can run remote command using validate binary path API (CVE-2023-5002).
+51
View File
@@ -0,0 +1,51 @@
***********
Version 7.8
***********
Release date: 2023-10-19
This release contains a number of bug fixes and new features since the release of pgAdmin 4 v7.7.
Supported Database Servers
**************************
**PostgreSQL**: 12, 13, 14, 15, and 16
**EDB Advanced Server**: 12, 13, 14 and 15
Bundled PostgreSQL Utilities
****************************
**psql**, **pg_dump**, **pg_dumpall**, **pg_restore**: 16.0
New features
************
| `Issue #640 <https://github.com/pgadmin-org/pgadmin4/issues/640>`_ - Add support for foreign table's new functionality for PG 11 and above.
| `Issue #6229 <https://github.com/pgadmin-org/pgadmin4/issues/6229>`_ - Allow setting custom username for shared servers, with default as username of server being shared.
| `Issue #6373 <https://github.com/pgadmin-org/pgadmin4/issues/6373>`_ - Add 'GENERATED ALWAYS AS..' option while creating column constraints for Foreign Table.
| `Issue #6797 <https://github.com/pgadmin-org/pgadmin4/issues/6797>`_ - GUI representation of the system's activity using the 'system_stats' extension.
| `Issue #6802 <https://github.com/pgadmin-org/pgadmin4/issues/6802>`_ - Added 'load_balance_hosts' connection string parameter for PG 16 and above.
Housekeeping
************
| `Issue #6782 <https://github.com/pgadmin-org/pgadmin4/issues/6782>`_ - Use PG16 as the default PostgreSQL version.
Bug fixes
*********
| `Issue #4995 <https://github.com/pgadmin-org/pgadmin4/issues/4995>`_ - Fixed an issue in ERD tool where the downloaded images have a few links cut.
| `Issue #5749 <https://github.com/pgadmin-org/pgadmin4/issues/5749>`_ - Fixed an issue where user was not able to assign new/old columns as primary key once column with primary key is deleted.
| `Issue #6285 <https://github.com/pgadmin-org/pgadmin4/issues/6285>`_ - Add support for setting prepare threshold in server connection.
| `Issue #6482 <https://github.com/pgadmin-org/pgadmin4/issues/6482>`_ - Fixed an issue where the wrong message "Current database has been moved or renamed" is displayed when debugging any function.
| `Issue #6538 <https://github.com/pgadmin-org/pgadmin4/issues/6538>`_ - Fixed an issue where Processes tab displays wrong server name in some scenario.
| `Issue #6579 <https://github.com/pgadmin-org/pgadmin4/issues/6579>`_ - Fix an issue where global/native keyboard shortcuts are not working when any cell of data output grid has focus.
| `Issue #6666 <https://github.com/pgadmin-org/pgadmin4/issues/6666>`_ - Fixed query history slowness issue by storing query only for those having certain threshold max length.
| `Issue #6674 <https://github.com/pgadmin-org/pgadmin4/issues/6674>`_ - Fix an issue where foreign table column name becomes "none" if the user changes any column data type.
| `Issue #6718 <https://github.com/pgadmin-org/pgadmin4/issues/6718>`_ - Pin the cryptography version to fix PyO3 modules initialisation error.
| `Issue #6790 <https://github.com/pgadmin-org/pgadmin4/issues/6790>`_ - Ensure that the backup works properly for PG 16 on the latest docker image.
| `Issue #6799 <https://github.com/pgadmin-org/pgadmin4/issues/6799>`_ - Fixed an issue where the user is unable to select objects on the backup dialog due to tree flickering.
| `Issue #6836 <https://github.com/pgadmin-org/pgadmin4/issues/6836>`_ - Fixed an issue where non-super PostgreSQL users are not able to terminate their own connections from dashboard.
| `Issue #6851 <https://github.com/pgadmin-org/pgadmin4/issues/6851>`_ - Fix an issue where scale in columns is not allowed to have value as 0 or below.
| `Issue #6858 <https://github.com/pgadmin-org/pgadmin4/issues/6858>`_ - Fix an issue in graphical explain plan where query tool crashes when the plan has parallel workers details and sort node is clicked for details.
| `Issue #6865 <https://github.com/pgadmin-org/pgadmin4/issues/6865>`_ - Fix an issue where user login is not working if username/email contains single quote in server mode.
+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.
+13
View File
@@ -44,6 +44,9 @@ Use the fields in the *General* tab to identify the server:
Please note that once the server is shared, it's icon is changed in the
object explorer.
* Use the *Shared Username* field to fill the username of the shared server
connection. By default, it will take the username of the server being shared.
* Provide a comment about the server in the *Comments* field.
Click the *Connection* tab to continue.
@@ -178,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.
@@ -203,6 +210,12 @@ Use the fields in the *Advanced* tab to configure a connection:
the password will not expire until your pgAdmin session does.
Zero means the command will be executed for each new connection or reconnection that is made.
If the generated password is not valid indefinitely, set this value to slightly before it will expire.
* Use the *Prepare threshold* field to specify the number of times a query is
executed before it is prepared. If it is set to 0, every query is prepared
the first time it is executed. If it is set to blank, prepared statements are disabled
on the connection. This is particularly useful with external connection poolers,
such as PgBouncer, which is not compatible with prepared statements. Set this to
blank in such cases.
.. note:: The password file option is only supported when pgAdmin is using libpq
v10.0 or later to connect to the server.
+13 -2
View File
@@ -6,7 +6,7 @@
Use the *Subscription* dialog to create a subscription. A subscription defines the connection to another database and set of publications (one or more) to which it wants to subscribe.
The *subscription* dialog organizes the development of a subscription through the following dialog tabs: *General*, *Connection* and *With*. The *SQL* tab displays the SQL code generated by dialog selections.
The *subscription* dialog organizes the development of a subscription through the following dialog tabs: *General*, *Connection*, *SSL* and *With*. The *SQL* tab displays the SQL code generated by dialog selections.
.. image:: images/subscription_general.png
:alt: Subscription dialog general tab
@@ -83,7 +83,11 @@ icon that is located to the right of each of the following fields.
Click the *With* tab to continue.
.. image:: images/subscription_with.png
.. image:: images/subscription_with_1.png
:alt: Subscription dialog with tab
:align: center
.. image:: images/subscription_with_2.png
:alt: Subscription dialog with tab
:align: center
@@ -95,6 +99,13 @@ Use the *With* tab to define some parameters for a subscription:
* The *Connect?* specifies whether the CREATE SUBSCRIPTION should connect to the publisher at all. By default, it is set to *Yes*. Setting this to *No* will change default values of enabled, create_slot and copy_data to *No*.
* Use the *Slot Name* field to specify the name of the replication slot to use. By default, it uses the name of the subscription for the slot name.
* Use the *Synchronous commit* field to override the synchronous_commit setting. By default, it is set to *off*. It is safe to use off for logical replication: If the subscriber loses transactions because of missing synchronization, the data will be sent again from the publisher.
* Use the *Streaming* field to specify whether to enable streaming of in-progress transactions for this subscription. The default value is *off*, meaning all transactions are fully decoded on the publisher and only then sent to the subscriber as a whole. This option is available only on PostgreSQL 14 and above.
* Use the *Binary?* switch to specify whether the subscription will request the publisher to send the data in binary format (as opposed to text). The default is *false*. This option is available only on PostgreSQL 14 and above.
* Use the *Two phase?* switch to specify whether two-phase commit is enabled for this subscription. The default is *false*. This option is available only on PostgreSQL 15 and above.
* Use the *Disable on error?* switch to specify whether the subscription should be automatically disabled if any errors are detected by subscription workers during data replication from the publisher. The default is *false*. This option is available only on PostgreSQL 15 and above.
* Move the *Run as owner?* switch to *true* position to specify all replication actions are performed as the subscription owner. If *false*, replication workers will perform actions on each table as the owner of that table. The default is *false*. This option is available only on PostgreSQL 16 and above.
* Use the *Password required?* to specify whether connections to the publisher made as a result of this subscription must use password authentication. This setting is ignored when the subscription is owned by a superuser. The default is true. Only superusers can set this value to *false*. This option is available only on PostgreSQL 16 and above.
* Use the *Origin* to specify whether the subscription will request the publisher to only send changes that don't have an origin or send changes regardless of origin. The default is *any*. This option is available only on PostgreSQL 16 and above.
Click the *SQL* tab to continue.
+3
View File
@@ -394,6 +394,9 @@ Use the fields in the *Advanced* tab to define advanced features for the table:
* Use the drop-down listbox next to *Of type* to copy the table structure from
the specified composite type. Please note that a typed table will be dropped
if the type is dropped (with DROP TYPE ... CASCADE).
* Use the drop-down list box next to Access Method to specify the table access method to use to store
the contents for the new table; the method needs to be an access method of type TABLE. This field is optional.
This option is available from v12 and above.
* Use the *Fill Factor* field to specify a fill factor for the table. The fill
factor for a table is a percentage between 10 and 100. 100 (complete packing)
is the default.
+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.
+6 -7
View File
@@ -19,19 +19,18 @@ CA_FILE = '/etc/ssl/certs/ca-certificates.crt'
LOG_FILE = '/dev/null'
HELP_PATH = '../../docs'
DEFAULT_BINARY_PATHS = {
'pg': '/usr/local/pgsql-15',
'pg': '/usr/local/pgsql-16',
'pg-16': '/usr/local/pgsql-16',
'pg-15': '/usr/local/pgsql-15',
'pg-14': '/usr/local/pgsql-14',
'pg-13': '/usr/local/pgsql-13',
'pg-12': '/usr/local/pgsql-12',
'pg-11': '/usr/local/pgsql-11',
'pg-10': '/usr/local/pgsql-10'
'pg-12': '/usr/local/pgsql-12'
}
EOF
# This is a bit kludgy, but necessary as the container uses BusyBox/ash as
# it's shell and not bash which would allow a much cleaner implementation
for var in $(env | grep PGADMIN_CONFIG_ | cut -d "=" -f 1); do
for var in $(env | grep "^PGADMIN_CONFIG_" | cut -d "=" -f 1); do
# shellcheck disable=SC2086
# shellcheck disable=SC2046
echo ${var#PGADMIN_CONFIG_} = $(eval "echo \$$var") >> /pgadmin4/config_distro.py
@@ -71,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,26 +8,32 @@
#
###############################################################################
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.*
sqlparse==0.*
psutil==5.9.*
psycopg[c]==3.1.9
psycopg[c]==3.1.12
python-dateutil==2.*
SQLAlchemy==2.*
bcrypt==4.0.*
@@ -35,22 +41,24 @@ 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.*
Pillow==9.*
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
+2 -2
View File
@@ -23,11 +23,11 @@
"256": "assets/pgAdmin4.png"
},
"dependencies": {
"axios": "^1.4.0",
"axios": "^1.5.1",
"bootstrap": "^4.5.3"
},
"devDependencies": {
"eslint": "^8.42.0",
"eslint": "^8.50.0",
"nw": "0.77.0"
},
"scripts": {
+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
//
//////////////////////////////////////////////////////////////
+18 -14
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
//
//////////////////////////////////////////////////////////////
@@ -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,
Loaded 100 of 1897 files, more files were not shown because too many files have changed in this diff. Show more