Compare commits

..
202 Commits
Author SHA1 Message Date
Anil Sahoo cad6025ce9 Fixed an issue on Linux systems where the /upgrade_check API in server mode raised a KeyError. 2025-08-20 08:29:11 +05:30
Aditya Toshniwal f8b894d52b Update version for release v9.7 2025-08-18 15:59:05 +05:30
Aditya Toshniwal 9d0ec04667 Add support for changing cursor blink rate within the editors. #8712 2025-08-18 12:34:31 +05:30
webmasterzamora 24b4d35565 Spanish translation for version 9.7 2025-08-18 12:27:09 +05:30
Libor M. 0c8571de9e Czech translation for version 9.7 2025-08-18 12:26:16 +05:30
Akshay Joshi 2075dd5270 Updated message catalogs for v9.7 2025-08-14 16:23:49 +05:30
Yogesh Mahajan 7d0241008b Ensure that disabling "Save Application State" in Preferences prevents tool data from being saved and stops it from being restored on application restart. #9067 2025-08-14 13:47:30 +05:30
Akshay Joshi ecb652c7c5 Updated Python and JavaScript dependencies. 2025-08-12 11:54:03 +05:30
Pravesh Sharma 9b5f0f0f63 Fixed an issue where downloading images on the ERD tool was not working in desktop mode. #9047 2025-08-12 11:51:58 +05:30
Akshay Joshi 1eb7c9d3e2 Added support for builtin locale provider while creating Collation. #8931 2025-08-11 11:42:14 +05:30
Akshay Joshi a4c5e5683c Remove python version check for setuptools. 2025-08-07 18:56:51 +05:30
Khushboo Vashi d53a34b8df Fixed the issue where updating the name of a table column does not reflect in the corresponding primary key constraint. #7617 2025-08-07 16:36:38 +05:30
Anil Sahoo 8a4a3814ab Fixed an issue where custom column widths in the result grid of Query Tool or View/Edit Data were reset after re-executing a query. #7057 2025-08-07 15:32:40 +05:30
Akshay Joshi 6aaf47ddb4 Fixed JavaScript test cases. Replace deprecated inputProps with slotProps. 2025-08-06 18:54:04 +05:30
Akshay Joshi 4d078ab747 Updated Python and JavaScript dependecies. 2025-08-05 13:10:42 +05:30
excavator-matt 96de08212a Clarify version in issue template (#9020) 2025-08-04 14:43:55 +01:00
Anil Sahoo 2dd27d20c1 Fixed an issue where adding breakpoints caused errors, and stepping out of a nested function removed breakpoints from the parent function. #8982 2025-08-04 16:59:38 +05:30
Aditya Toshniwal 86c2769221 Check if sharp is failing on bundle before running image minimizer 2025-08-04 12:35:29 +05:30
Akshay Joshi 1316a3d7d8 Added all new connection string parameters introduced in PostgreSQL 16 and later. #8935 2025-08-04 12:02:30 +05:30
Aditya Toshniwal 9f866b0b27 Make image minimising optional based on sharp package availability. 2025-08-04 11:38:47 +05:30
Pravesh Sharma 829d6323b8 Fixed an issue where CPU usage was very high on Windows when opening the psql tool. #8864 2025-08-01 12:41:16 +05:30
Akshay Joshi 559c6cfa65 Added GENERIC_PLAN, MEMORY, SERIALIZE option to EXPLAIN/EXPLAIN ANALYZE command. #6456 2025-08-01 12:40:07 +05:30
Yogesh Mahajan 1f7fbb91f7 Ensure the scratch pad in the Query Tool is not restored after it is closed. #9007
Update the documentation for parameters that require file paths. #9008
2025-07-31 17:24:27 +05:30
Rohit Bhati 3b9359945e Added PKEY index in the index statistics summary. #8971 2025-07-31 17:12:15 +05:30
Aditya Toshniwal 99b822e472 Add support for server tag-based filtering in the Object Explorer. #8917 2025-07-31 17:06:40 +05:30
Aditya Toshniwal b2ec3a5acc Fixed an issue where pgAdmin failed to update the server connection status when the server was disconnected in the background and a refresh was performed on that server. #8149 2025-07-31 12:43:49 +05:30
Anil Sahoo 9eec4f5b8c Add support for automatic updates in the pgAdmin 4 Desktop application on macOS. #5766 2025-07-31 11:30:19 +05:30
Dave Page 6db0cc5c5d Ensure we have the tools to configure SELinux policies.
The semanage utility is required to configure the policy for the 
pgAdmin log/lib directories in server mode, but it may not always 
be installed on a system.
2025-07-30 11:45:07 +05:30
Aditya Toshniwal a197c85f3a Replace shortened URLs using goog.gl as goog.gl links will no longer be available 2025-07-30 10:17:06 +05:30
Akshay Joshi aa0a1f676d Fix PEP8 2025-07-29 18:12:40 +05:30
Akshay Joshi 5963593fed Replace keyword PROCEDURE with FUNCTION while creating trigger and event trigger. #6384 2025-07-29 17:48:41 +05:30
Akshay Joshi e0e99ddbb5 1) Updated release note.
2) Updated logic for release converter
2025-07-29 15:48:16 +05:30
Rohit Bhati 85510b961f Make Dashboard tables to be vertically resizable. #8650 2025-07-29 15:31:47 +05:30
Rohit Bhati bf229c0d79 Ensure DB restriction type is preserved while import and export server. #8867 2025-07-29 15:26:01 +05:30
Akshay Joshi 33dcb36db5 1) Added release note
2) Updated JavaScript dependencies
2025-07-29 11:57:07 +05:30
Pravesh Sharma 8a4eb4f8ad Fixed an issue in Firefox where the query window would shift to the left after opening the history tab or selecting a column header in the results grid. #8756 2025-07-28 16:27:31 +05:30
Pravesh Sharma 62eb330423 Introduced an ‘Editor’ preferences category and migrated all editor related settings into it. #8861 2025-07-28 14:09:16 +05:30
Murtuza Zabuawala e73d8f4532 Fixed incorrect behaviour of the option deduplicate items after creating the index. #8969 2025-07-28 13:23:39 +05:30
Akshay Joshi 79aeb5204c Updated Python and JavaScript dependencies. 2025-07-28 11:31:40 +05:30
Akshay Joshi de48d4ecda Updated release date. 2025-07-23 17:56:15 +05:30
Aditya Toshniwal 0d204d0554 Update yarn.lock as previous commit is changing the yarn.lock file on yarn install 2025-07-22 17:19:24 +05:30
Aditya Toshniwal 37bdd22e24 Update form-data in yarn.lock to fix a security issue found in form-data 2025-07-22 17:01:52 +05:30
Aditya Toshniwal 2a43d1c939 Nullify git:hash script in package.json for source code tarball release since commit hash is already included 2025-07-22 16:08:51 +05:30
c4f7a18ec5 Fixed following issues found while testing v9.6 candidate build:
1. Migration failed on Debian 11.
2. Menu shortcuts should not for opening search object and query tool when not in default workspace.

Co-authored-by: Yogesh Mahajan <yogesh.mahajan@enterprisedb.com>
Co-authored-by: Pravesh Sharma <pravesh.sharma@enterprisedb.com>
2025-07-22 16:00:29 +05:30
Aditya Toshniwal fdc38f75f8 Update version for release v9.6 2025-07-21 15:34:04 +05:30
Yogesh Mahajan 56d5cab13e Ensure that reconnect dialogs are shown when restoring pgAdmin sessions for the Query Tool or View/Edit Data, if the server password was not saved. #8901 2025-07-21 15:11:12 +05:30
Aditya Toshniwal bec47845be Add support for showing pgAdmin shortcuts on Electron menus. #1923 2025-07-21 15:07:17 +05:30
Libor M. 6dc5807192 Czech translation for version 9.6 2025-07-19 10:20:56 +05:30
Khushboo Vashi ea085cd009 Fix pagination issues in the query tool data output when using a server-side cursor. 2025-07-18 17:54:06 +05:30
Domenico Sgarbossa 6fdb82dd76 Italian translation updated for v9.6 2025-07-18 09:09:24 +05:30
Aditya Toshniwal a3e1a3672c Updated message catalogs for v9.6 2025-07-17 18:29:52 +05:30
Akshay Joshi 8046c238d8 Make the 'Password' and 'Save Password' options visible in edit mode in the Server Dialog. 2025-07-17 18:19:20 +05:30
Yogesh Mahajan 82730da392 Fixed following issues reported while testing application restore changes: #8901
1. Preserve updated tab titles on session restore
2. Ensure query tools opened via the 'Generate Script' are editable.
3. On restore, ensure the query content is correctly loaded into the query tool when it is opened from tools like ERD.
2025-07-17 16:28:57 +05:30
Akshay Joshi fe2332f606 Fixed merge conflict issues. 2025-07-17 12:44:53 +05:30
Akshay Joshi d26b63fdf5 Use 'Drop' instead of 'Delete' for object commands to make destructive actions more deliberate. #8958 2025-07-16 18:02:24 +05:30
Rohit Bhati 770a0f27af Ensure that keyboard shortcuts are displayed in tooltips, context menus, and the main menu. #1923 2025-07-16 17:51:26 +05:30
Pravesh Sharma ced002a6ad Fixed an issue where json editor in result grid was crashing if null value is set in the json editor. #8907 2025-07-16 17:49:00 +05:30
Aditya Toshniwal 3aad58751a Fixed security vulnerabilities identified in the yarn.lock file. 2025-07-15 17:41:31 +05:30
Akshay Joshi 61a420c9fc Updated release note. 2025-07-15 11:52:36 +05:30
Khushboo Vashi 8c662424b2 Display a confirmation message for the server-side cursor transaction status when closing the query tool.
Resolve the pagination issue by fetching an additional row to determine the availability of the next record set when using a server-side cursor.
2025-07-15 11:51:14 +05:30
Grégoire Bellon-Gervais 13ade4c0b2 Enable the PKCE workflow for OAuth 2 authentication. #8941 2025-07-15 11:36:05 +05:30
Yogesh Mahajan 1195f14327 Improved the application restore which includes: #8901
1. Leverage rc-dock layout to restore the application state.
2. Move the save and load file endpoints to the file manager module.
3. Ensure that the order and layout of tabs is maintained on restore.
4. Persist the changed title of tabs on restore.
2025-07-15 11:21:57 +05:30
Aditya Toshniwal 65a35ab23d Fixed windows signature issue by passing SignTool using /S arg ISCC.exe instead of specifying the path in installer.iss 2025-07-14 15:12:29 +05:30
Aditya Toshniwal b31c8f78c5 Fixed windows signature issue and specify SignTool in installer.iss file instead of calling signtool directly 2025-07-14 10:57:46 +05:30
Akshay Joshi 82e6b57d04 1) Added new columns in pg_stats table.
2) Updated release note.
2025-07-10 19:11:33 +05:30
Aditya Toshniwal 1e4e00886a Fixed a windows build issue where uninstaller failed to sign. #8420 2025-07-10 18:55:36 +05:30
Jun 0fd7d0dedb Added support for setting a custom SESSION_DIGEST_METHOD in pgAdmin 4 to facilitate FIPS compliance. #7979 2025-07-10 16:10:31 +05:30
Anil Sahoo 0ebf78ca61 Fixed an issue in the Search Objects tool where selecting a node occasionally selected an incorrect node. #8675 2025-07-10 15:37:31 +05:30
Aditya Toshniwalandstephannn 60c8e5fe05 Fixed an issue where windows installer is not signing tmp files generated by InnoSetup. #8420
Co-authored-by: stephannn <stephannn@users.noreply.github.com>
2025-07-10 15:35:02 +05:30
Akshay Joshi 1d68074a59 Fixed macros test cases when run on more than one server. 2025-07-09 16:01:51 +05:30
Akshay Joshi 8723896da0 Updated Python and JavaScript dependencies. 2025-07-08 18:50:32 +05:30
Akshay Joshi e4f17e5a6c Ensure that pgAdmin 4 is compatible with PG/EPAS v18. #8828 2025-07-08 18:34:39 +05:30
Ethan Bayliss 454ba52c88 Update zstd library link to 1.5.7 in Dockerfile 2025-07-03 11:57:40 +05:30
Akshay Joshi d5c0fac885 Revert "Javascript dependency: Bump pbkdf2 from 3.1.2 to 3.1.3 in /web"
This reverts commit 385148cf6e.
2025-07-02 16:46:55 +05:30
Akshay Joshi 3f7683854b Remove some code for Python 3.8 2025-07-02 15:59:22 +05:30
dependabot[bot] 385148cf6e Javascript dependency: Bump pbkdf2 from 3.1.2 to 3.1.3 in /web 2025-07-02 15:58:11 +05:30
Khushboo Vashi f207818afa Implemented a server-side cursor to enhance performance when retrieving large datasets. #5797 2025-07-02 12:47:01 +05:30
Akshay Joshi 1280cf5108 Updated Python and Javascript dependencies. 2025-07-01 12:22:22 +05:30
Akshay Joshi a5714903ac Fixed an issue where the Query Tool’s 'Edit Options' menu was unresponsive when clicked. 2025-06-27 18:29:15 +05:30
Akshay Joshi dd0c0cd3e1 Updated release date in the release note. 2025-06-27 13:36:31 +05:30
Yogesh Mahajan 51d3fe54f3 Ensure proper error message shown if any error occurs while restoring psql tool. 2025-06-27 13:35:24 +05:30
Akshay Joshi 7c2b773ad1 Allow the user to set a master password if an error occurs while accessing the OS secret storage. 2025-06-25 17:11:52 +05:30
Aditya Toshniwal f3a87de967 Fixed terminal size detection issue in PSQL when opening multiple tabs rapidly. 2025-06-25 14:58:46 +05:30
Akshay Joshi 536191cef6 Downgrade selenium version, as latest version don't support urllib3 v2.5.* 2025-06-24 15:55:19 +05:30
Khushboo Vashi 43d70de5bb Reinstall Python packages regardless of their presence in the system-wide installation. 2025-06-24 15:50:45 +05:30
Yogesh Mahajan 6fab59a13c Ensure the generate script button in schema diff populates diff query in query tool. 2025-06-24 15:28:36 +05:30
Akshay Joshi 03f18d5242 Updated release note. 2025-06-23 18:08:27 +05:30
Akshay Joshi 66cddab4a4 Updated version for release v9.5 2025-06-23 15:57:53 +05:30
Akshay Joshi 3e9169b282 1) Upgrade urllib3 to 2.5.*
2) Fixed one issue for #3319
2025-06-23 15:55:26 +05:30
Aditya Toshniwal 77fa10304b Fixed a UI layout issue that occurred after upgrading from pgAdmin v9.2 when all tabs had been closed prior to the upgrade. #8830 2025-06-23 15:51:42 +05:30
Domenico Sgarbossa 68bd329da9 Italian translations for version 9.5 2025-06-23 11:34:16 +05:30
Libor M. 14e40cedca Czech translation for version 9.5 2025-06-23 11:33:52 +05:30
Akshay Joshi 6382f31f9a Updated message catalogs for v9.5 2025-06-19 16:48:36 +05:30
Dirk Heinrichs 44496a300e Add a flag to allow access to system Python packages on recent Linux distributions. #7173 2025-06-19 16:21:15 +05:30
Pravesh Sharma 08d250e5ef 1. Fixed issues reported while testing changes for editor preferences. #2659
2. Updated preferences docs.
2025-06-19 16:09:39 +05:30
Yogesh Mahajan f07eabedbe Ensure that restored query tool tabs display the correct title. #3319 2025-06-19 12:12:54 +05:30
Aditya Toshniwal 5df2c7686c Fix issues found while testing changes for preferences tab and search. #6743 2025-06-19 11:49:37 +05:30
Akshay Joshi 7946ee78f6 Ensure that Keyboard shortcuts for save and download actions should not called when their respective UI buttons are disabled. #8803 2025-06-17 16:19:41 +05:30
Akshay Joshi 335a39bc75 Updated JavaScript dependencies. 2025-06-16 18:57:56 +05:30
Macchiarch d50a7dbd1a Corrected the translation of "min"-> "minuti" 2025-06-16 11:12:10 +05:30
Akshay Joshi 6714bb114c Fixed an issue in SQL syntax highlighting where the same color was used for both variable names and datatypes. #8235 2025-06-13 16:55:54 +05:30
Pravesh Sharma cda498f779 Added support for customizing keyboard shortcuts in the Query Tool's Edit menu. #2659 2025-06-13 15:48:54 +05:30
Yogesh Mahajan 67c18cb082 Fix the SonarQube issues and issues reported during testing. #3319 2025-06-13 13:14:36 +05:30
Akshay Joshi 22fd919220 1) Added copyright header from the missing files.
2) Update release note.
3) Update Javascript dependecies.
2025-06-12 19:14:41 +05:30
Aditya Toshniwal 1e0e9c4f7d 1) Open preferences in a new tab instead of a dialog for better user experience. #6743
2) Add a search box to enable searching within the preferences tab. #2864
2025-06-12 19:03:54 +05:30
Rohit Bhati 814250aade Added role-based restrictions for editing server connections. #1947 2025-06-10 12:19:41 +05:30
Daniel Nylander 2e072baf72 Updated Swedish translation. 2025-06-09 19:15:11 +05:30
Akshay Joshi 7f22d6135a Added Swedish language in config.py 2025-06-09 16:58:08 +05:30
Daniel Nylander 331fd76b42 Adding Swedish translation 2025-06-09 16:52:45 +05:30
Akshay Joshi 1259d72643 Plugin workspace-tools is included by default starting from Yarn 4. 2025-06-09 11:57:02 +05:30
Akshay Joshi cab1bc3cb4 Update yarn to version 4. 2025-06-06 19:08:32 +05:30
Akshay Joshi 4cd331f0ca Fixed an issue where the Columns node was not visible under Catalog Objects. #8834 2025-06-06 12:34:20 +05:30
Akshay Joshi e4e2761fe3 Fixed an issue where data export using a query opened the wrong dialog type. #8808 2025-06-05 17:04:33 +05:30
Akshay Joshi 45653180ed Fixed an issue where data export using a query failed when the query contained a newline character. #8809 2025-06-05 16:58:10 +05:30
Yogesh Mahajan 68e559c613 Added support to preserve the workspace, query windows, and pgAdmin state during an abrupt shutdown or restart. #3319 2025-06-05 16:50:38 +05:30
Akshay Joshi c2ef9d06ca 1) Remove migrations folder from the exclude list of .pycodestyle file.
2) Fixed all the PEP8 issues in the migration files.
2025-06-04 12:36:42 +05:30
Rohit Bhati db5943bd8f Add a new permission to allow disabling "Change Password" feature for a pgAdmin role. #1926 2025-06-03 16:20:30 +05:30
Akshay Joshi b6f64c4ba4 Updated Python and JavaScript dependencies. 2025-06-03 13:40:47 +05:30
Akshay Joshi a3e43e4e97 Fixed an issue where utilities such as pg_dump and pg_restore failed to log error messages when required dependency files were missing. #7466 2025-06-03 13:33:58 +05:30
Allen HernandezandAllen Hernandez 0a2db9bc59 Supports JSON logging for gunicorn process within Docker. #8665
Co-authored-by: Allen Hernandez <2349718+AllenSH12@users.noreply.github.com>
2025-06-03 13:33:09 +05:30
Akshay Joshi 12b263c20b Changed the version of libzstd.so from 1.5.6 to 1.5.7 for Docker builds. 2025-06-03 12:55:12 +05:30
Aditya Toshniwal 4a4d4569ae Improved PL/PGSQL code folding and support nested blocks. #6118 2025-06-02 15:58:07 +05:30
Pravesh Sharma 3286b4e32f Fixed an issue in the query tool where using multiple cursors to copy text resulted in only the first line being copied. #8691 2025-05-30 14:45:48 +05:30
Khushboo Vashi 63f2c7fe00 Remove the reference to the DEPENDENCIES file from the macOS build. 2025-05-30 09:47:43 +05:30
Akshay Joshi 7504f6216a Fixed an issue where the Schema Diff Tool incorrectly reported differences due to variations in the order of the privileges. #8032 2025-05-29 19:08:56 +05:30
Khushboo Vashi 58715daf10 Remove all references to the DEPENDENCIES file. 2025-05-29 16:01:56 +05:30
Khushboo Vashi 1ad8736d72 Removing the script for managing project dependencies, as SBOM is already in use. 2025-05-29 15:22:30 +05:30
Akshay Joshi 79ec042e0d Updated Python and Javascript dependencies. 2025-05-29 13:37:21 +05:30
Aditya Toshniwal 7c74b7cdb7 - Pin Electron to v35.4.0 as the v36 is not working on many OS.
- Pin html-to-image to v1.11.11 as latest version breaks ERD image downloads.
2025-05-27 13:02:11 +05:30
Khushboo Vashi e8826863e0 Updated version for v9.4 2025-05-26 18:47:53 +05:30
Pravesh Sharma 4f79deac0b Fixed CSS issue found during testing of issue 6510 2025-05-26 18:32:07 +05:30
Akshay Joshi 695166bde5 Revert "Trying to fix pip error on Windows build machine. pin the pip version to 24.2"
This reverts commit 9ce0e77e61.
2025-05-26 18:10:31 +05:30
Akshay Joshi 9ce0e77e61 Trying to fix pip error on Windows build machine. pin the pip version to 24.2 2025-05-26 13:28:28 +05:30
Libor M. 0b911bf58c Updated Czech translation for v9.4. 2025-05-26 11:14:34 +05:30
yuki 15ca0ba1b6 Updated Portuguese (Brazilian) translation for v9.4 2025-05-26 11:13:57 +05:30
Aditya Toshniwal c6183c9d03 Fixed more issues found while testing changes for large file download. #3369 2025-05-24 15:25:07 +05:30
Aditya Toshniwal dfd896db10 Fixed an issue where pgAdmin failed to focus when previously unfocused and then quit. #8760 2025-05-24 15:23:17 +05:30
yuki ac8f8fb0b0 Updated Portuguese (Brazilian) translation for v9.4
Added new translations there were missing.
2025-05-23 11:31:42 +05:30
Domenico Sgarbossa d6ae6b2773 Updated Italian translation for v9.4 2025-05-22 18:51:25 +05:30
Akshay Joshi a42f789ff0 Fixed an issue where correct error message not displayed when sql statement contains Arabic letters. #7926 2025-05-22 18:49:42 +05:30
Aditya Toshniwal 5d8ec6e5b0 Fix issues found while testing changes for large file download. #3369 2025-05-22 16:41:17 +05:30
Akshay Joshi e711a1bbc6 Updated message catalogs for v9.4 2025-05-22 15:58:58 +05:30
Pravesh Sharma b6e1223e88 Fixed an issue where the result grid slowed down when any column contained a large amount of data. #6510 2025-05-21 18:57:47 +05:30
Akshay Joshi 28921be00f Updated Python and Javascript dependencies. 2025-05-20 14:07:38 +05:30
Anil Sahoo 4e8f29f328 Fixed an issue where light theme briefly appears when pgAdmin loads or tools open, even when a dark or system UI theme is preferred. #8711 2025-05-20 10:36:29 +05:30
Aditya Toshniwal 126e1fb53d Enabled large file downloads for desktop users within the query tool. #3369 2025-05-14 15:30:17 +05:30
Allen HernandezandAllen Hernandez ebf4963758 Fixes venv notations for web build
2) Removes venv notation from web bundling directions
3) Add venv notation after activation

---------
Co-authored-by: Allen Hernandez <2349718+AllenSH12@users.noreply.github.com>
2025-05-14 14:17:13 +05:30
Akshay Joshi eece396b30 Fixed an issue where the PSQL tool would hang when the database encoding was set to SQL_ASCII and certain commands were executed. 2025-05-14 14:05:29 +05:30
Anil Sahoo abcb5f8830 Fixed an issue where the options key was not working as expected in the PSQL tool. #6968 2025-05-14 13:46:16 +05:30
Akshay Joshi ebb4c9994f Update Python and Javascript dependencies. 2025-05-13 12:59:25 +05:30
Aditya Toshniwal 971eee32ea Update MUI from v6 to v7. 2025-05-13 12:51:00 +05:30
Rohit Bhati af84d6b1e0 Handle result grid data changes in View/Edit Data mode by automatically reconnecting to the server if a disconnection occurs. #8608 2025-05-13 11:35:58 +05:30
Koren Peretz 2cb69f09b9 Update the Dockerfile to use UID 5050 instead of the pgadmin user to prevent Kubernetes deployments from failing when securityContext.runAsNonRoot is set to true without specifying securityContext.runAsUser. 2025-05-09 15:24:42 +05:30
Akshay Joshi 0403079a4b 1) Fixed an issue where the Cancel button did not work when attempting to delete a user from the User Management.
2) Fixed an issue where automatic user creation via LDAP failed if an existing Internal user with the same username was already present.
2025-05-09 13:28:23 +05:30
Anil Sahoo 97984eb3ec Fix an issue where, after a database disconnection, the server would disconnect, and the reconnect dialog would repeatedly appear when clicking the Execute button. #8607 2025-05-08 15:48:49 +05:30
Aditya Toshniwal c46fd30446 Fix JS test cases failing because of latest version of @tanstack/react-virtual. 2025-05-07 17:07:56 +05:30
Rohit Bhati ff8a301f6a Enhance contrast for selected and hovered items in the Object Explorer to improve visibility and accessibility. #8595 2025-05-07 12:33:04 +05:30
Aditya Toshniwal 27bd28ee97 Replace Grid with Grid2 as the former is deprecated by MUI 2025-05-06 19:39:33 +05:30
Akshay Joshi fb4d25d907 1) Updated Python and JavaScript dependencies.
2) Updated release note.
2025-05-06 19:07:29 +05:30
Pravesh Sharma ca6f52e7c7 Fixed issues related to column range selection using shift + click. #8713 2025-05-06 15:52:20 +05:30
Yogesh Mahajan 3bdeb9ace1 Implement API fetch error display for select dropdown. #8668 2025-05-06 10:52:42 +05:30
Akshay Joshi f64b59e735 Updated release note. 2025-05-05 14:59:48 +05:30
Pravesh Sharma 5d78f4a89f Fix the issue where an error is displayed when a table is dropped while a query is running. #6564 2025-05-02 14:12:06 +05:30
Anil Sahoo 695f870ce1 Fixed an issue where the query tool returns "cannot unpack non-iterable Response object" when running any query with a database name change. #8607 2025-05-02 10:57:43 +05:30
Akshay Joshi 593b111fdf Add all missing options to the Import/Export Data functionality, and update the syntax of the COPY command to align with the latest standards. #8583
Add support for exporting table data based on a custom query. #8681
2025-04-30 17:51:04 +05:30
Aditya Toshniwal 82efd188c4 Fix pep8 issues from the last commit 2025-04-30 15:38:44 +05:30
Aditya Toshniwal 9df7275429 Add a python script to parse a release note file and convert to Email, Markdown and HTML formats required for pgAdmin release 2025-04-30 15:31:20 +05:30
Akshay Joshi 829876c2e0 1) Sorted requirements.txt alphabetically.
2) Remove packages for Python 3.8.
3) Update JavaScript dependencies.
4) Update Python packages.
2025-04-30 12:43:02 +05:30
Akshay Joshi 41ba6bd1f4 Delete .python-version file 2025-04-29 15:07:31 +05:30
Khushboo Vashi aa282711f8 Try to fix the Fedora build failure. 2025-04-28 14:33:46 +05:30
Akshay Joshi 5a501603ac Updated version for v9.3 2025-04-28 11:00:39 +05:30
Libor M. e7f8cb4ea3 Czech translation for version 9.3 2025-04-28 10:58:35 +05:30
Pravesh Sharma 78d9aa5b76 Fixed issue found while testing PostGIS spatial type constructor support. #2256 2025-04-25 11:13:18 +05:30
Domenico Sgarbossa 038029eb2d Italian translation for v9.3 2025-04-24 18:43:33 +05:30
Aditya Toshniwal a14cc1bd77 Updated message catalogs for v9.3. 2025-04-24 16:19:42 +05:30
Yogesh Mahajan 33389fc48e Fix feature test failures for PG servers. 2025-04-24 15:57:48 +05:30
Aditya Toshniwal d468c16ca2 Fixed more issues found while testing role permissions feature. #7310 2025-04-23 15:47:51 +05:30
Khushboo Vashi fcf7cf5eb2 Update release notes. 2025-04-23 15:41:43 +05:30
Pravesh Sharma b08e90ea88 Add support for type constructors for PostGIS spatial types. #2256 2025-04-23 15:35:42 +05:30
Yogesh Mahajan 75dc42cf24 Allow OAuth 2 login using the username claim if the email is absent from the user profile. #8652 2025-04-23 15:21:25 +05:30
Aditya Toshniwal ec3d142ad9 Fix issues while testing role permissions feature. #7310 2025-04-21 15:14:18 +05:30
Aditya Toshniwal 280f0b0038 Revert "Rebase fork pgadmin-org/react-data-grid to get latest changes and update pgAdmin package.json"
It requires React 19.

This reverts commit 7307c52250.
2025-04-21 15:12:27 +05:30
Aditya Toshniwal 7307c52250 Rebase fork pgadmin-org/react-data-grid to get latest changes and update pgAdmin package.json 2025-04-21 13:48:43 +05:30
Aditya Toshniwal e8cb962890 Add Cache-Control no-cache,no-store,must-revalidate header to dynamically generated utils.js file. #3688 2025-04-16 11:23:35 +05:30
Akshay Joshi 934f17c65e Ensure that the server list is alphabetically sorted in the Query Tool/PSQL workspace. #8636 2025-04-15 16:12:49 +05:30
Akshay Joshi 55f36912f9 Updated JavaScript dependencies. 2025-04-15 11:52:44 +05:30
Akshay Joshi 7b1ad5fa67 Fixed an issue where changes to foreign key constraints were not detected in the schema diff. #8627 2025-04-15 11:46:12 +05:30
Aditya Toshniwal 7d8a915ee0 Add support for custom roles and role permissions management in pgAdmin. #7310 2025-04-15 11:25:31 +05:30
Aditya Toshniwal 8b4df8beb1 Change the shortcut for canceling a running query as it conflicts with the shortcut to open a new query tool. #8628 2025-04-14 13:46:59 +05:30
Aditya Toshniwal f98a74b526 Fixed an issue where the user management tab is not opening in the classic layout. #8651 2025-04-14 13:32:05 +05:30
Aditya Toshniwal 8a0eae2bb0 Fixed an issue where drag and drop function with no parameters does not work. #8613 2025-04-14 12:57:26 +05:30
Aditya Toshniwal 18f47a59c5 Fixed an issue where the query tool went blank when converting history dates to the appropriate locale format. #8632 2025-04-14 12:43:05 +05:30
Akshay Joshi 31b1af2f84 Fixed an issue where filtering on a view caused an error. #8630 2025-04-09 19:00:32 +05:30
Akshay Joshi 4c56e49c66 Updated Javascript dependencies. 2025-04-09 11:56:07 +05:30
Rohit Bhati 2de2c30545 Fixed an issue where Ctrl/Cmd+A in cell editor would select all rows. #8572 2025-04-08 18:29:05 +05:30
Kijong Han 51897dc804 Fixed an issue where shift + click on rows/columns for range selection did not work in the query tool data output window. #5266 2025-04-08 12:43:05 +05:30
Akshay Joshi bbef00a151 Fixed an issue where the scroll position in the Object Explorer was not retained when switching workspaces. #8497 2025-04-07 13:31:00 +05:30
Akshay Joshi 627aa5d695 Added ability to use SQL in the 'DB Restriction' field. #2767 2025-04-04 15:53:12 +05:30
Akshay Joshi 0d8b3c4389 Ensure that graph data is updated even when the Dashboard tab is inactive. #8556 2025-04-04 11:39:37 +05:30
Khushboo Vashi 8031c35160 Fixed an issue where the debugger hangs when stepping into nested function/procedure. #8443 2025-04-03 19:20:28 +05:30
Akshay Joshi 8cf14222ff Updated Javascript dependencies. 2025-04-03 19:07:02 +05:30
Mike Christensen 10b15b3986 Added support for font ligatures. #8629 2025-04-03 19:06:40 +05:30
570 changed files with 92228 additions and 49296 deletions

No files matched your search

+1 -1
View File
@@ -34,7 +34,7 @@ If applicable, add screenshots to help explain your problem.
**Desktop (please complete the following information):**
- OS: [e.g. Windows 10, OSX monterey]
- Version: [e.g. 6.15]
- pgAdmin version: [e.g. 6.15]
- Mode: [e.g Desktop or Server]
- Browser (if running in server mode): [e.g. chrome, safari]
- Package type: [e.g. RPM, DEB, Python, Container, etc.]
+1 -1
View File
@@ -22,7 +22,7 @@ jobs:
- name: Upgrade yarn
run: |
yarn set version berry
yarn set version 3
yarn set version 4
- name: Install Node modules
run: |
+1 -1
View File
@@ -144,7 +144,7 @@ jobs:
- name: Upgrade yarn
run: |
yarn set version berry
yarn set version 3
yarn set version 4
- name: Build the JS bundle
run: |
+2 -2
View File
@@ -131,7 +131,7 @@ jobs:
"comment": "PostgreSQL ${{ matrix.pgver }} Server",
"db_username": "postgres",
"host": "/var/run/postgresql",
"db_password": "postgres",
"db_password": "",
"db_port": 59${{ matrix.pgver }},
"maintenance_db": "postgres",
"sslmode": "prefer",
@@ -154,7 +154,7 @@ jobs:
- name: Upgrade yarn
run: |
yarn set version berry
yarn set version 3
yarn set version 4
- name: Build the JS bundle
run: |
+1 -1
View File
@@ -31,7 +31,7 @@ jobs:
- name: Upgrade yarn
run: |
yarn set version berry
yarn set version 3
yarn set version 4
- name: Install Node modules
run: |
+10 -1
View File
@@ -39,6 +39,11 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Update python version
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Setup the EDB APT repo on Linux
if: ${{ matrix.os == 'ubuntu-22.04' }}
run: |
@@ -48,7 +53,7 @@ jobs:
if: ${{ matrix.os == 'ubuntu-22.04' }}
run: |
sudo apt update
sudo apt install -y libpq-dev libffi-dev libssl-dev libkrb5-dev zlib1g-dev edb-as${{ matrix.pgver }}-server edb-as${{ matrix.pgver }}-server-pldebugger
sudo apt install -y libpq-dev libffi-dev libssl-dev libkrb5-dev zlib1g-dev edb-as${{ matrix.pgver }}-server edb-as${{ matrix.pgver }}-server-pldebugger edb-as${{ matrix.pgver }}-postgis34
- name: Install pgagent on Linux
if: ${{ matrix.os == 'ubuntu-22.04' && matrix.pgver <= 16 }}
@@ -105,6 +110,10 @@ jobs:
- name: Create pgagent extension on Linux
if: ${{ matrix.os == 'ubuntu-22.04' && matrix.pgver <= 16 }}
run: psql -U enterprisedb -d postgres -p 58${{ matrix.pgver }} -c 'CREATE EXTENSION IF NOT EXISTS pgagent;'
- name: Create postgis extension on Linux
if: ${{ matrix.os == 'ubuntu-22.04' }}
run: psql -U enterprisedb -d postgres -p 58${{ matrix.pgver }} -c 'CREATE EXTENSION IF NOT EXISTS postgis;'
- name: Install Python dependencies on Linux
if: ${{ matrix.os == 'ubuntu-22.04' }}
+7 -1
View File
@@ -28,6 +28,11 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Update python version
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Setup the PGDG APT repo on Linux
if: ${{ matrix.os == 'ubuntu-22.04' }}
run: |
@@ -51,7 +56,7 @@ jobs:
if: ${{ matrix.os == 'ubuntu-22.04' }}
run: |
sudo apt update
sudo apt install -y libpq-dev libffi-dev libssl-dev libkrb5-dev zlib1g-dev postgresql-${{ matrix.pgver }} postgresql-${{ matrix.pgver }}-pldebugger pgagent
sudo apt install -y libpq-dev libffi-dev libssl-dev libkrb5-dev zlib1g-dev postgresql-${{ matrix.pgver }} postgresql-${{ matrix.pgver }}-pldebugger pgagent postgresql-${{ matrix.pgver }}-postgis-3
- name: Install platform dependencies on macOS
if: ${{ matrix.os == 'macos-latest' }}
@@ -113,6 +118,7 @@ jobs:
psql -U postgres -p 59${{ matrix.pgver }} -c 'CREATE EXTENSION pgagent;'
psql -U postgres -p 59${{ matrix.pgver }} -c 'CREATE EXTENSION pldbgapi;'
psql -U postgres -p 59${{ matrix.pgver }} -c 'CREATE EXTENSION postgis;'
- name: Start PostgreSQL on macOS
if: ${{ matrix.os == 'macos-latest' }}
+1 -1
View File
@@ -6,4 +6,4 @@ show-source = False
show-pep8 = False
count = True
format = pylint
exclude = migrations,node_modules,config_local.py,config_distro.py
exclude = node_modules,config_local.py,config_distro.py
-1
View File
@@ -1 +0,0 @@
3.8.0
-586
View File
@@ -1,586 +0,0 @@
pgAdmin 4 Dependency Inventory
==============================
pgAdmin 4 is built on Python, Javascript and NW.js (node-webkit), and is
dependent on various third party libraries. These are automatically compiled
from the system, requirements.txt and packages.json and listed below.
Runtime Dependencies
====================
Name Version Licence URL
---- ------- ------- ---
Python 3.6+ PSF https://www.python.org/
nw 0.50.2 MIT git://github.com/nwjs/npm-installer.git
asynckit 0.4.0 MIT git+https://github.com/alexindigo/asynckit.git
axios 1.4.0 MIT https://github.com/axios/axios.git
bootstrap 4.6.2 MIT git+https://github.com/twbs/bootstrap.git
combined-stream 1.0.8 MIT git://github.com/felixge/node-combined-stream.git
delayed-stream 1.0.0 MIT git://github.com/felixge/node-delayed-stream.git
follow-redirects 1.15.2 MIT git@github.com:follow-redirects/follow-redirects.git
form-data 4.0.0 MIT git://github.com/form-data/form-data.git
mime-db 1.52.0 MIT https://github.com/jshttp/mime-db.git
mime-types 2.1.35 MIT https://github.com/jshttp/mime-types.git
proxy-from-env 1.1.0 MIT https://github.com/Rob--W/proxy-from-env.git
12 dependencies listed.
Python Dependencies
===================
Name Version Licence URL
---- ------- ------- ---
Flask 2.2.4 BSD-3-Clause https://palletsprojects.com/p/flask
Flask-Gravatar 0.5.0 BSD https://github.com/zzzsochi/Flask-Gravatar/
Flask-Login 0.6.2 MIT https://github.com/maxcountryman/flask-login
Flask-Mail 0.9.1 BSD https://github.com/rduplain/flask-mail
Flask-Migrate 4.0.4 MIT https://github.com/miguelgrinberg/flask-migrate
Flask-SQLAlchemy 3.0.3 BSD-3-Clause Unknown
Flask-WTF 1.1.1 BSD-3-Clause https://github.com/wtforms/flask-wtf/
Flask-Compress 1.13 MIT https://github.com/colour-science/flask-compress
Flask-Paranoid 0.3.0 UNKNOWN https://github.com/miguelgrinberg/flask-paranoid
flask-babel 3.1.0 BSD-3-Clause https://github.com/python-babel/flask-babel
Flask-Security-Too 5.1.2 MIT https://github.com/Flask-Middleware/flask-security
Flask-SocketIO 5.3.3 Unknown https://github.com/miguelgrinberg/flask-socketio
WTForms 3.0.1 BSD-3-Clause https://wtforms.readthedocs.io/
passlib 1.7.4 BSD https://passlib.readthedocs.io
pytz 2023.3 MIT http://pythonhosted.org/pytz
speaklater3 1.4 UNKNOWN https://github.com/ThomasWaldmann/speaklater
sqlparse 0.4.4 Unknown Unknown
psutil 5.9.5 BSD-3-Clause https://github.com/giampaolo/psutil
psycopg 3.1.8 GNU Lesser General Public License v3 (LGPLv3) https://psycopg.org/psycopg3/
python-dateutil 2.8.2 Dual License https://github.com/dateutil/dateutil
SQLAlchemy 2.0.11 MIT https://www.sqlalchemy.org
bcrypt 4.0.1 Apache License, Version 2.0 https://github.com/pyca/bcrypt/
cryptography 40.0.2 (Apache-2.0 OR BSD-3-Clause) AND PSF-2.0 https://github.com/pyca/cryptography
sshtunnel 0.4.0 MIT https://github.com/pahaz/sshtunnel
ldap3 2.9.1 LGPL v3 https://github.com/cannatag/ldap3
gssapi 1.8.2 LICENSE.txt https://github.com/pythongssapi/python-gssapi
eventlet 0.33.3 Unknown http://eventlet.net
httpagentparser 1.9.5 http://www.opensource.org/licenses/mit-license.php https://github.com/shon/httpagentparser
user-agents 2.2.0 MIT https://github.com/selwin/python-user-agents
pywinpty 2.0.* Unknown Unknown
Authlib 1.2.0 BSD 3-Clause License https://authlib.org/
pyotp 2.8.0 MIT License https://github.com/pyotp/pyotp
qrcode 7.4.2 BSD https://github.com/lincolnloop/python-qrcode
Pillow 9.5.0 HPND https://python-pillow.org
boto3 1.26.121 Apache License 2.0 https://github.com/boto/boto3
botocore 1.29.121 Apache License 2.0 https://github.com/boto/botocore
urllib3 1.26.15 MIT https://urllib3.readthedocs.io/
azure-mgmt-rdbms 10.1.0 MIT License https://github.com/Azure/azure-sdk-for-python
azure-mgmt-resource 23.0.1 MIT License https://github.com/Azure/azure-sdk-for-python
azure-mgmt-subscription 3.1.1 MIT License https://github.com/Azure/azure-sdk-for-python
azure-identity 1.13.0 MIT License https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/identity/azure-identity
google-api-python-client 2.86.0 Apache 2.0 https://github.com/googleapis/google-api-python-client/
google-auth-oauthlib 1.0.0 Apache 2.0 https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib
Werkzeug 2.2.3 BSD-3-Clause https://palletsprojects.com/p/werkzeug/
keyring 23.13.1 Unknown https://github.com/jaraco/keyring
NOTE: This report was generated using Python 3.11. Full information may not be
shown for Python modules that are not required with this version.
45 dependencies listed.
Javascript Dependencies
=======================
Name Version Licence URL
---- ------- ------- ---
@ampproject/remapping 2.2.1 Apache-2.0 git+https://github.com/ampproject/remapping.git
anti-trojan-source 1.4.1 Apache-2.0 https://github.com/lirantal/anti-trojan-source.git
eve 0.5.4 Apache-2.0 git@github.com:adobe-webplatform/eve.git
jmespath 0.16.0 Apache-2.0 git://github.com/jmespath/jmespath.js
jsoneditor 9.10.2 Apache-2.0 https://github.com/josdejong/jsoneditor.git
paths-js 0.4.11 Apache-2.0 https://github.com/andreaferretti/paths-js.git
rc-dock 3.2.18 Apache-2.0 https://github.com/ticlo/rc-dock.git
rc-new-window 0.1.13 Apache-2.0 https://github.com/ticlo/rc-new-window.git
snapsvg 0.5.1 Apache-2.0 git@github.com:adobe-webplatform/Snap.svg.git
spdx-correct 3.2.0 Apache-2.0 https://github.com/jslicense/spdx-correct.js.git
validate-npm-package-license 3.0.4 Apache-2.0 https://github.com/kemitchell/validate-npm-package-license.js.git
@babel/code-frame 7.22.5 MIT https://github.com/babel/babel.git
@babel/compat-data 7.22.5 MIT https://github.com/babel/babel.git
@babel/core 7.22.5 MIT https://github.com/babel/babel.git
@babel/generator 7.22.5 MIT https://github.com/babel/babel.git
@babel/helper-annotate-as-pure 7.22.5 MIT https://github.com/babel/babel.git
@babel/helper-compilation-targets 7.22.5 MIT https://github.com/babel/babel.git
@babel/helper-create-class-features-plugin 7.22.5 MIT https://github.com/babel/babel.git
@babel/helper-environment-visitor 7.22.5 MIT https://github.com/babel/babel.git
@babel/helper-function-name 7.22.5 MIT https://github.com/babel/babel.git
@babel/helper-hoist-variables 7.22.5 MIT https://github.com/babel/babel.git
@babel/helper-member-expression-to-functions 7.22.5 MIT https://github.com/babel/babel.git
@babel/helper-module-imports 7.22.5 MIT https://github.com/babel/babel.git
@babel/helper-module-transforms 7.22.5 MIT https://github.com/babel/babel.git
@babel/helper-optimise-call-expression 7.22.5 MIT https://github.com/babel/babel.git
@babel/helper-plugin-utils 7.22.5 MIT https://github.com/babel/babel.git
@babel/helper-replace-supers 7.22.5 MIT https://github.com/babel/babel.git
@babel/helper-simple-access 7.22.5 MIT https://github.com/babel/babel.git
@babel/helper-skip-transparent-expression-wrappers 7.22.5 MIT https://github.com/babel/babel.git
@babel/helper-split-export-declaration 7.22.5 MIT https://github.com/babel/babel.git
@babel/helper-string-parser 7.22.5 MIT https://github.com/babel/babel.git
@babel/helper-validator-identifier 7.22.5 MIT https://github.com/babel/babel.git
@babel/helper-validator-option 7.22.5 MIT https://github.com/babel/babel.git
@babel/helpers 7.22.5 MIT https://github.com/babel/babel.git
@babel/highlight 7.22.5 MIT https://github.com/babel/babel.git
@babel/parser 7.22.5 MIT https://github.com/babel/babel.git
@babel/plugin-proposal-class-properties 7.18.6 MIT https://github.com/babel/babel.git
@babel/plugin-syntax-jsx 7.22.5 MIT https://github.com/babel/babel.git
@babel/plugin-transform-react-display-name 7.22.5 MIT https://github.com/babel/babel.git
@babel/plugin-transform-react-jsx 7.22.5 MIT https://github.com/babel/babel.git
@babel/plugin-transform-react-jsx-development 7.22.5 MIT https://github.com/babel/babel.git
@babel/plugin-transform-react-pure-annotations 7.22.5 MIT https://github.com/babel/babel.git
@babel/preset-react 7.22.5 MIT https://github.com/babel/babel.git
@babel/runtime 7.22.5 MIT https://github.com/babel/babel.git
@babel/template 7.22.5 MIT https://github.com/babel/babel.git
@babel/traverse 7.22.5 MIT https://github.com/babel/babel.git
@babel/types 7.22.5 MIT https://github.com/babel/babel.git
@date-io/core 1.3.13 MIT https://github.com/dmtrKovalenko/date-io
@date-io/date-fns 1.3.13 MIT https://github.com/dmtrKovalenko/date-io
@emotion/babel-plugin 11.11.0 MIT https://github.com/emotion-js/emotion/tree/main/packages/babel-plugin
@emotion/cache 11.11.0 MIT https://github.com/emotion-js/emotion/tree/main/packages/cache
@emotion/hash 0.8.0 MIT https://github.com/emotion-js/emotion/tree/master/packages/hash
@emotion/hash 0.9.1 MIT https://github.com/emotion-js/emotion/tree/main/packages/hash
@emotion/is-prop-valid 1.2.1 MIT https://github.com/emotion-js/emotion/tree/main/packages/is-prop-valid
@emotion/memoize 0.8.1 MIT https://github.com/emotion-js/emotion/tree/main/packages/memoize
@emotion/react 11.11.1 MIT https://github.com/emotion-js/emotion/tree/main/packages/react
@emotion/serialize 1.1.2 MIT https://github.com/emotion-js/emotion/tree/main/packages/serialize
@emotion/sheet 1.2.2 MIT https://github.com/emotion-js/emotion/tree/main/packages/sheet
@emotion/stylis 0.8.5 MIT https://github.com/emotion-js/emotion/tree/master/packages/stylis
@emotion/unitless 0.8.1 MIT https://github.com/emotion-js/emotion/tree/main/packages/unitless
@emotion/unitless 0.7.5 MIT https://github.com/emotion-js/emotion/tree/master/packages/unitless
@emotion/use-insertion-effect-with-fallbacks 1.0.1 MIT https://github.com/emotion-js/emotion/tree/main/packages/use-insertion-effect-with-fallbacks
@emotion/utils 1.2.1 MIT https://github.com/emotion-js/emotion/tree/main/packages/utils
@emotion/weak-memoize 0.3.1 MIT https://github.com/emotion-js/emotion/tree/main/packages/weak-memoize
@floating-ui/core 1.3.1 MIT https://github.com/floating-ui/floating-ui.git
@floating-ui/dom 1.4.2 MIT https://github.com/floating-ui/floating-ui.git
@istanbuljs/schema 0.1.3 MIT git+https://github.com/istanbuljs/schema.git
@jridgewell/gen-mapping 0.3.3 MIT https://github.com/jridgewell/gen-mapping
@jridgewell/resolve-uri 3.1.0 MIT https://github.com/jridgewell/resolve-uri
@jridgewell/set-array 1.1.2 MIT https://github.com/jridgewell/set-array
@jridgewell/sourcemap-codec 1.4.15 MIT git+https://github.com/jridgewell/sourcemap-codec.git
@jridgewell/sourcemap-codec 1.4.14 MIT git+https://github.com/jridgewell/sourcemap-codec.git
@jridgewell/trace-mapping 0.3.18 MIT git+https://github.com/jridgewell/trace-mapping.git
@material-ui/core 4.12.4 MIT https://github.com/mui-org/material-ui.git
@material-ui/icons 4.11.3 MIT https://github.com/mui-org/material-ui.git
@material-ui/lab 4.0.0-alpha.61 MIT https://github.com/mui-org/material-ui.git
@material-ui/pickers 3.3.10 MIT https://github.com/mui-org/material-ui-pickers
@material-ui/styles 4.11.5 MIT https://github.com/mui-org/material-ui.git
@material-ui/system 4.12.2 MIT https://github.com/mui-org/material-ui.git
@material-ui/types 5.1.0 MIT https://github.com/mui-org/material-ui.git
@material-ui/utils 4.11.3 MIT https://github.com/mui-org/material-ui.git
@nodelib/fs.scandir 2.1.5 MIT https://github.com/nodelib/nodelib/tree/master/packages/fs/fs.scandir
@nodelib/fs.stat 2.0.5 MIT https://github.com/nodelib/nodelib/tree/master/packages/fs/fs.stat
@nodelib/fs.walk 1.2.8 MIT https://github.com/nodelib/nodelib/tree/master/packages/fs/fs.walk
@projectstorm/geometry 6.7.4 MIT https://github.com/projectstorm/react-diagrams.git
@projectstorm/react-canvas-core 6.7.4 MIT https://github.com/projectstorm/react-diagrams.git
@projectstorm/react-diagrams 6.7.4 MIT https://github.com/projectstorm/react-diagrams.git
@projectstorm/react-diagrams-core 6.7.4 MIT https://github.com/projectstorm/react-diagrams.git
@projectstorm/react-diagrams-defaults 6.7.4 MIT https://github.com/projectstorm/react-diagrams.git
@projectstorm/react-diagrams-routing 6.7.4 MIT https://github.com/projectstorm/react-diagrams.git
@rc-component/portal 1.1.1 MIT https://github.com/react-component/portal.git
@rc-component/trigger 1.13.6 MIT https://github.com/react-component/trigger.git
@react-dnd/asap 5.0.2 MIT https://github.com/react-dnd/react-dnd
@react-dnd/invariant 4.0.2 MIT https://github.com/react-dnd/react-dnd
@react-dnd/shallowequal 4.0.2 MIT https://github.com/react-dnd/react-dnd
@remix-run/router 1.6.3 MIT https://github.com/remix-run/react-router
@simonwep/pickr 1.8.2 MIT https://github.com/Simonwep/pickr.git
@sindresorhus/is 0.7.0 MIT https://github.com/sindresorhus/is.git
@socket.io/component-emitter 3.1.0 MIT https://github.com/socketio/emitter.git
@szhsin/react-menu 2.3.4 MIT https://github.com/szhsin/react-menu.git
@types/classnames 2.3.1 MIT Unknown
@types/minimist 1.2.2 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
@types/node 20.3.1 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
@types/normalize-package-data 2.4.1 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
@types/parse-json 4.0.0 MIT https://www.github.com/DefinitelyTyped/DefinitelyTyped.git
@types/prop-types 15.7.5 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
@types/react 18.2.13 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
@types/react 16.14.43 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
@types/react 17.0.62 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
@types/react-dom 17.0.20 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
@types/react-transition-group 4.4.6 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
@types/scheduler 0.16.3 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
@types/styled-jsx 2.2.9 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
ajv 8.12.0 MIT https://github.com/ajv-validator/ajv.git
ajv 6.12.6 MIT https://github.com/ajv-validator/ajv.git
ansi-styles 3.2.1 MIT https://github.com/chalk/ansi-styles.git
array-union 3.0.1 MIT https://github.com/sindresorhus/array-union.git
arrify 1.0.1 MIT https://github.com/sindresorhus/arrify.git
aspen-core 1.0.5 MIT git+https://github.com/neeksandhu/aspen-core.git
aspen-decorations 1.1.1 MIT git+https://github.com/neeksandhu/aspen-decorations.git
aspen-tree-model 1.0.5 MIT git+https://github.com/neeksandhu/aspen-tree-model.git
async 2.6.4 MIT https://github.com/caolan/async.git
attr-accept 2.2.2 MIT https://github.com/react-dropzone/attr-accept.git
axios 0.21.4 MIT https://github.com/axios/axios.git
babel-plugin-macros 3.1.0 MIT https://github.com/kentcdodds/babel-plugin-macros
babel-plugin-styled-components 2.1.3 MIT https://github.com/styled-components/babel-plugin-styled-components.git
babel-plugin-syntax-jsx 6.18.0 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-jsx
babelify 10.0.0 MIT https://github.com/babel/babelify.git
balanced-match 1.0.2 MIT git://github.com/juliangruber/balanced-match.git
base64-arraybuffer 1.0.2 MIT https://github.com/niklasvh/base64-arraybuffer
bignumber.js 9.1.1 MIT https://github.com/MikeMcl/bignumber.js.git
bootstrap 4.6.2 MIT git+https://github.com/twbs/bootstrap.git
bowser 2.11.0 MIT git+https://github.com/lancedikson/bowser.git
brace 0.11.1 MIT git://github.com/thlorenz/brace.git
brace-expansion 1.1.11 MIT git://github.com/juliangruber/brace-expansion.git
braces 3.0.2 MIT https://github.com/micromatch/braces.git
browserfs 1.4.3 MIT https://github.com/jvilk/BrowserFS.git
browserslist 4.21.9 MIT https://github.com/browserslist/browserslist.git
callsites 3.1.0 MIT https://github.com/sindresorhus/callsites.git
camelcase 6.3.0 MIT https://github.com/sindresorhus/camelcase.git
camelcase-keys 7.0.2 MIT https://github.com/sindresorhus/camelcase-keys.git
camelize 1.0.1 MIT git://github.com/ljharb/camelize.git
caniuse-api 3.0.0 MIT https://github.com/nyalab/caniuse-api.git
chalk 2.4.2 MIT https://github.com/chalk/chalk.git
chart.js 3.9.1 MIT https://github.com/chartjs/Chart.js.git
chartjs-plugin-zoom 2.0.1 MIT https://github.com/chartjs/chartjs-plugin-zoom.git
classnames 2.3.2 MIT https://github.com/JedWatson/classnames.git
closest 0.0.1 MIT https://github.com/ForbesLindesay/closest.git
clsx 1.2.1 MIT https://github.com/lukeed/clsx.git
codemirror 5.65.13 MIT https://github.com/codemirror/CodeMirror.git
color-convert 1.9.3 MIT https://github.com/Qix-/color-convert.git
color-name 1.1.3 MIT git@github.com:dfcreative/color-name.git
colord 2.9.3 MIT https://github.com/omgovich/colord.git
commander 7.2.0 MIT https://github.com/tj/commander.js.git
concat-map 0.0.1 MIT git://github.com/substack/node-concat-map.git
convert-source-map 1.9.0 MIT git://github.com/thlorenz/convert-source-map.git
convert-units 2.3.4 MIT git://github.com/ben-ng/convert-units.git
core-js 3.31.0 MIT https://github.com/zloirock/core-js.git
cosmiconfig 7.1.0 MIT git+https://github.com/davidtheclark/cosmiconfig.git
css-line-break 2.1.0 MIT git+ssh://git@github.com/niklasvh/css-line-break.git
css-to-react-native 3.2.0 MIT git+https://github.com/styled-components/css-to-react-native.git
css-tree 1.1.3 MIT https://github.com/csstree/csstree.git
css-vendor 2.0.8 MIT git@github.com:cssinjs/css-vendor.git
cssesc 3.0.0 MIT https://github.com/mathiasbynens/cssesc.git
cssnano 5.1.15 MIT https://github.com/cssnano/cssnano.git
cssnano-preset-default 5.2.14 MIT https://github.com/cssnano/cssnano.git
cssnano-utils 3.1.0 MIT https://github.com/cssnano/cssnano.git
csso 4.2.0 MIT https://github.com/css/csso.git
csstype 2.6.21 MIT https://github.com/frenic/csstype
csstype 3.1.2 MIT https://github.com/frenic/csstype
dagre 0.8.5 MIT https://github.com/dagrejs/dagre.git
date-fns 2.30.0 MIT https://github.com/date-fns/date-fns
debug 4.3.4 MIT git://github.com/debug-js/debug.git
decamelize 5.0.1 MIT https://github.com/sindresorhus/decamelize.git
decamelize 1.2.0 MIT https://github.com/sindresorhus/decamelize.git
decamelize-keys 1.1.1 MIT https://github.com/sindresorhus/decamelize-keys.git
deep-diff 1.0.2 MIT git://github.com/flitbit/diff.git
diff-arrays-of-objects 1.1.9 MIT git+https://github.com/malcolmvr/diff-arrays-of-objects.git
dir-glob 3.0.1 MIT https://github.com/kevva/dir-glob.git
dnd-core 16.0.1 MIT https://github.com/react-dnd/react-dnd.git
dom-align 1.12.4 MIT git@github.com:yiminghe/dom-align.git
dom-helpers 5.2.1 MIT git+https://github.com/react-bootstrap/dom-helpers.git
dom-serializer 1.4.1 MIT git://github.com/cheeriojs/dom-renderer.git
engine.io-client 6.5.0 MIT https://github.com/socketio/engine.io-client.git
engine.io-parser 5.1.0 MIT git@github.com:socketio/engine.io-parser.git
error-ex 1.3.2 MIT https://github.com/qix-/node-error-ex.git
escalade 3.1.1 MIT https://github.com/lukeed/escalade.git
escape-string-regexp 1.0.5 MIT https://github.com/sindresorhus/escape-string-regexp.git
escape-string-regexp 4.0.0 MIT https://github.com/sindresorhus/escape-string-regexp.git
fast-deep-equal 3.1.3 MIT git+https://github.com/epoberezkin/fast-deep-equal.git
fast-glob 3.2.12 MIT https://github.com/mrmlnc/fast-glob.git
fast-json-stable-stringify 2.1.0 MIT git://github.com/epoberezkin/fast-json-stable-stringify.git
fast-memoize 2.5.2 MIT git+https://github.com/caiogondim/fast-memoize.git
file-selector 0.6.0 MIT https://github.com/react-dropzone/file-selector.git
filename-reserved-regex 2.0.0 MIT https://github.com/sindresorhus/filename-reserved-regex.git
fill-range 7.0.1 MIT https://github.com/jonschlinkert/fill-range.git
find-root 1.1.0 MIT git@github.com:js-n/find-root.git
find-up 5.0.0 MIT https://github.com/sindresorhus/find-up.git
follow-redirects 1.15.2 MIT git@github.com:follow-redirects/follow-redirects.git
function-bind 1.1.1 MIT git://github.com/Raynos/function-bind.git
gensync 1.0.0-beta.2 MIT https://github.com/loganfsmyth/gensync.git
globals 11.12.0 MIT https://github.com/sindresorhus/globals.git
globby 12.2.0 MIT https://github.com/sindresorhus/globby.git
graphlib 2.1.8 MIT https://github.com/dagrejs/graphlib.git
hammerjs 2.0.8 MIT git://github.com/hammerjs/hammer.js.git
hard-rejection 2.1.0 MIT https://github.com/sindresorhus/hard-rejection.git
has 1.0.3 MIT git://github.com/tarruda/has.git
has-flag 3.0.0 MIT https://github.com/sindresorhus/has-flag.git
has-flag 4.0.0 MIT https://github.com/sindresorhus/has-flag.git
html-escaper 2.0.2 MIT https://github.com/WebReflection/html-escaper.git
html2canvas 1.4.1 MIT git@github.com:niklasvh/html2canvas.git
ignore 5.2.4 MIT git@github.com:kaelzhang/node-ignore.git
immutability-helper 3.1.1 MIT git+https://github.com/kolodny/immutability-helper.git
import-fresh 3.3.0 MIT https://github.com/sindresorhus/import-fresh.git
indent-string 5.0.0 MIT https://github.com/sindresorhus/indent-string.git
insert-if 1.2.0 MIT git+https://github.com/chipto/insert-if.git
ip-address 7.1.0 MIT git://github.com/beaugunderson/ip-address.git
is-any-array 2.0.1 MIT https://github.com/cheminfo-js/is-any-array.git
is-arrayish 0.2.1 MIT https://github.com/qix-/node-is-arrayish.git
is-core-module 2.12.1 MIT git+https://github.com/inspect-js/is-core-module.git
is-extglob 2.1.1 MIT https://github.com/jonschlinkert/is-extglob.git
is-glob 4.0.3 MIT https://github.com/micromatch/is-glob.git
is-in-browser 1.1.3 MIT git+https://github.com/tuxsudo/is-in-browser.git
is-number 7.0.0 MIT https://github.com/jonschlinkert/is-number.git
is-plain-obj 1.1.0 MIT https://github.com/sindresorhus/is-plain-obj.git
is-relative 1.0.0 MIT https://github.com/jonschlinkert/is-relative.git
is-unc-path 1.0.0 MIT https://github.com/jonschlinkert/is-unc-path.git
javascript-natural-sort 0.7.1 MIT https://github.com/Bill4Time/javascript-natural-sort.git
jquery 3.7.0 MIT https://github.com/jquery/jquery.git
jquery-contextmenu 2.9.2 MIT git://github.com/swisnl/jQuery-contextMenu.git
js-tokens 4.0.0 MIT https://github.com/lydell/js-tokens.git
jsbn 1.1.0 MIT https://github.com/andyperlitch/jsbn.git
jsesc 2.5.2 MIT https://github.com/mathiasbynens/jsesc.git
json-bignumber 1.1.1 MIT git@github.com:wbuss/JSONBigNumber.git
json-parse-even-better-errors 2.3.1 MIT https://github.com/npm/json-parse-even-better-errors
json-schema-traverse 1.0.0 MIT git+https://github.com/epoberezkin/json-schema-traverse.git
json-schema-traverse 0.4.1 MIT git+https://github.com/epoberezkin/json-schema-traverse.git
json-source-map 0.6.1 MIT git+https://github.com/epoberezkin/json-source-map.git
json5 2.2.3 MIT git+https://github.com/json5/json5.git
jss 10.10.0 MIT https://github.com/cssinjs/jss.git
jss-plugin-camel-case 10.10.0 MIT https://github.com/cssinjs/jss.git
jss-plugin-default-unit 10.10.0 MIT https://github.com/cssinjs/jss.git
jss-plugin-global 10.10.0 MIT https://github.com/cssinjs/jss.git
jss-plugin-nested 10.10.0 MIT https://github.com/cssinjs/jss.git
jss-plugin-props-sort 10.10.0 MIT https://github.com/cssinjs/jss.git
jss-plugin-rule-value-function 10.10.0 MIT https://github.com/cssinjs/jss.git
jss-plugin-vendor-prefixer 10.10.0 MIT https://github.com/cssinjs/jss.git
karma-coverage 2.2.0 MIT git://github.com/karma-runner/karma-coverage.git
kind-of 6.0.3 MIT https://github.com/jonschlinkert/kind-of.git
lilconfig 2.1.0 MIT https://github.com/antonk52/lilconfig
lines-and-columns 1.2.4 MIT https://github.com/eventualbuddha/lines-and-columns.git
locate-path 6.0.0 MIT https://github.com/sindresorhus/locate-path.git
lodash 4.17.21 MIT https://github.com/lodash/lodash.git
lodash._basebind 2.3.0 MIT https://github.com/lodash/lodash-cli.git
lodash._basecreate 2.3.0 MIT https://github.com/lodash/lodash-cli.git
lodash._basecreatecallback 2.3.0 MIT https://github.com/lodash/lodash-cli.git
lodash._basecreatewrapper 2.3.0 MIT https://github.com/lodash/lodash-cli.git
lodash._createwrapper 2.3.0 MIT https://github.com/lodash/lodash-cli.git
lodash._objecttypes 2.3.0 MIT https://github.com/lodash/lodash-cli.git
lodash._renative 2.3.0 MIT https://github.com/lodash/lodash-cli.git
lodash._setbinddata 2.3.0 MIT https://github.com/lodash/lodash-cli.git
lodash._shimkeys 2.3.0 MIT https://github.com/lodash/lodash-cli.git
lodash._slice 2.3.0 MIT https://github.com/lodash/lodash-cli.git
lodash.bind 2.3.0 MIT https://github.com/lodash/lodash-cli.git
lodash.foreach 2.3.0 MIT https://github.com/lodash/lodash-cli.git
lodash.forown 2.3.0 MIT https://github.com/lodash/lodash-cli.git
lodash.identity 2.3.0 MIT https://github.com/lodash/lodash-cli.git
lodash.isfunction 2.3.0 MIT https://github.com/lodash/lodash-cli.git
lodash.isobject 2.3.0 MIT https://github.com/lodash/lodash-cli.git
lodash.keys 2.3.0 MIT https://github.com/lodash/lodash-cli.git
lodash.memoize 4.1.2 MIT https://github.com/lodash/lodash.git
lodash.noop 2.3.0 MIT https://github.com/lodash/lodash-cli.git
lodash.support 2.3.0 MIT https://github.com/lodash/lodash-cli.git
lodash.uniq 4.5.0 MIT https://github.com/lodash/lodash.git
loose-envify 1.4.0 MIT git://github.com/zertosh/loose-envify.git
make-dir 3.1.0 MIT https://github.com/sindresorhus/make-dir.git
map-obj 4.3.0 MIT https://github.com/sindresorhus/map-obj.git
map-obj 1.0.1 MIT https://github.com/sindresorhus/map-obj.git
matches-selector 0.0.1 MIT https://github.com/ForbesLindesay/matches-selector.git
memoize-one 5.2.1 MIT https://github.com/alexreardon/memoize-one.git
memoize-one 6.0.0 MIT https://github.com/alexreardon/memoize-one.git
meow 10.1.5 MIT https://github.com/sindresorhus/meow.git
merge2 1.4.1 MIT git@github.com:teambition/merge2.git
micromatch 4.0.5 MIT https://github.com/micromatch/micromatch.git
min-indent 1.0.1 MIT https://github.com/thejameskyle/min-indent
minimist-options 4.1.0 MIT https://github.com/vadimdemedes/minimist-options.git
ml-array-max 1.2.4 MIT git+https://github.com/mljs/array.git
ml-array-min 1.2.3 MIT git+https://github.com/mljs/array.git
ml-array-rescale 1.3.7 MIT git+https://github.com/mljs/array.git
ml-matrix 6.10.4 MIT https://github.com/mljs/matrix.git
mobius1-selectr 2.4.13 MIT git+https://github.com/Mobius1/Selectr.git
moment 2.29.4 MIT https://github.com/moment/moment.git
moment-timezone 0.5.43 MIT https://github.com/moment/moment-timezone.git
ms 2.1.2 MIT https://github.com/zeit/ms.git
nanoid 3.3.6 MIT https://github.com/ai/nanoid.git
nanopop 2.3.0 MIT https://github.com/Simonwep/nanopop.git
node-releases 2.0.12 MIT https://github.com/chicoxyzzy/node-releases.git
normalize-url 6.1.0 MIT https://github.com/sindresorhus/normalize-url.git
notificar 1.0.1 MIT git+https://github.com/neeksandhu/notificar.git
notistack 1.0.10 MIT git+https://github.com/iamhosseindhv/notistack.git
object-assign 4.1.1 MIT https://github.com/sindresorhus/object-assign.git
p-limit 3.1.0 MIT https://github.com/sindresorhus/p-limit.git
p-locate 5.0.0 MIT https://github.com/sindresorhus/p-locate.git
p-reduce 1.0.0 MIT https://github.com/sindresorhus/p-reduce.git
p-series 1.1.0 MIT https://github.com/sindresorhus/p-series.git
parent-module 1.0.1 MIT https://github.com/sindresorhus/parent-module.git
parse-json 5.2.0 MIT https://github.com/sindresorhus/parse-json.git
path-exists 4.0.0 MIT https://github.com/sindresorhus/path-exists.git
path-fx 2.1.2 MIT git+https://github.com/NeekSandhu/path-fx.git
path-parse 1.0.7 MIT https://github.com/jbgutierrez/path-parse.git
path-type 4.0.0 MIT https://github.com/sindresorhus/path-type.git
pathfinding 0.4.18 MIT git://github.com/qiao/PathFinding.js.git
performance-now 2.1.0 MIT git://github.com/braveg1rl/performance-now.git
picomatch 2.3.1 MIT https://github.com/micromatch/picomatch.git
picomodal 3.0.0 MIT https://github.com/Nycto/PicoModal.git
popper.js 1.16.1-lts MIT git+https://github.com/FezVrasta/popper.js.git
popper.js 1.16.1 MIT git+https://github.com/FezVrasta/popper.js.git
postcss 8.4.24 MIT https://github.com/postcss/postcss.git
postcss-calc 8.2.4 MIT https://github.com/postcss/postcss-calc.git
postcss-colormin 5.3.1 MIT https://github.com/cssnano/cssnano.git
postcss-convert-values 5.1.3 MIT https://github.com/cssnano/cssnano.git
postcss-discard-comments 5.1.2 MIT https://github.com/cssnano/cssnano.git
postcss-discard-duplicates 5.1.0 MIT https://github.com/cssnano/cssnano.git
postcss-discard-empty 5.1.1 MIT https://github.com/cssnano/cssnano.git
postcss-discard-overridden 5.1.0 MIT https://github.com/cssnano/cssnano.git
postcss-merge-longhand 5.1.7 MIT https://github.com/cssnano/cssnano.git
postcss-merge-rules 5.1.4 MIT https://github.com/cssnano/cssnano.git
postcss-minify-font-values 5.1.0 MIT https://github.com/cssnano/cssnano.git
postcss-minify-gradients 5.1.1 MIT https://github.com/cssnano/cssnano.git
postcss-minify-params 5.1.4 MIT https://github.com/cssnano/cssnano.git
postcss-minify-selectors 5.2.1 MIT https://github.com/cssnano/cssnano.git
postcss-normalize-charset 5.1.0 MIT https://github.com/cssnano/cssnano.git
postcss-normalize-display-values 5.1.0 MIT https://github.com/cssnano/cssnano.git
postcss-normalize-positions 5.1.1 MIT https://github.com/cssnano/cssnano.git
postcss-normalize-repeat-style 5.1.1 MIT https://github.com/cssnano/cssnano.git
postcss-normalize-string 5.1.0 MIT https://github.com/cssnano/cssnano.git
postcss-normalize-timing-functions 5.1.0 MIT https://github.com/cssnano/cssnano.git
postcss-normalize-unicode 5.1.1 MIT https://github.com/cssnano/cssnano.git
postcss-normalize-url 5.1.0 MIT https://github.com/cssnano/cssnano.git
postcss-normalize-whitespace 5.1.1 MIT https://github.com/cssnano/cssnano.git
postcss-ordered-values 5.1.3 MIT https://github.com/cssnano/cssnano.git
postcss-reduce-initial 5.1.2 MIT https://github.com/cssnano/cssnano.git
postcss-reduce-transforms 5.1.0 MIT https://github.com/cssnano/cssnano.git
postcss-selector-parser 6.0.13 MIT https://github.com/postcss/postcss-selector-parser.git
postcss-svgo 5.1.0 MIT https://github.com/cssnano/cssnano.git
postcss-unique-selectors 5.1.1 MIT https://github.com/cssnano/cssnano.git
postcss-value-parser 4.2.0 MIT https://github.com/TrySound/postcss-value-parser.git
prop-types 15.8.1 MIT https://github.com/facebook/prop-types.git
punycode 2.3.0 MIT https://github.com/mathiasbynens/punycode.js.git
queue-microtask 1.2.3 MIT git://github.com/feross/queue-microtask.git
quick-lru 5.1.1 MIT https://github.com/sindresorhus/quick-lru.git
raf 3.4.1 MIT git://github.com/chrisdickinson/raf.git
rc-align 4.0.15 MIT git@github.com:react-component/align.git
rc-dropdown 3.6.2 MIT git@github.com:react-component/dropdown.git
rc-dropdown 4.0.1 MIT git@github.com:react-component/dropdown.git
rc-menu 9.9.2 MIT git@github.com:react-component/menu.git
rc-menu 9.6.4 MIT git@github.com:react-component/menu.git
rc-motion 2.7.3 MIT git@github.com:react-component/motion.git
rc-overflow 1.3.1 MIT git@github.com:react-component/overflow.git
rc-resize-observer 1.3.1 MIT git@github.com:react-component/resize-observer.git
rc-tabs 11.16.1 MIT git@github.com:react-component/tabs.git
rc-trigger 5.3.4 MIT https://github.com/react-component/trigger.git
rc-util 5.34.0 MIT git@github.com:react-component/util.git
re-resizable 6.9.6 MIT https://github.com/bokuweb/react-resizable-box.git
react 17.0.2 MIT https://github.com/facebook/react.git
react-aspen 1.2.0 MIT https://github.com/neeksandhu/react-aspen.git
react-checkbox-tree 1.8.0 MIT https://github.com/jakezatecky/react-checkbox-tree
react-data-grid 7.0.0-beta.14 MIT https://github.com/adazzle/react-data-grid.git
react-dnd 16.0.1 MIT https://github.com/react-dnd/react-dnd.git
react-dnd-html5-backend 16.0.1 MIT https://github.com/react-dnd/react-dnd.git
react-dom 17.0.2 MIT https://github.com/facebook/react.git
react-draggable 4.4.5 MIT https://github.com/react-grid-layout/react-draggable.git
react-dropzone 14.2.3 MIT https://github.com/react-dropzone/react-dropzone.git
react-is 17.0.2 MIT https://github.com/facebook/react.git
react-is 16.13.1 MIT https://github.com/facebook/react.git
react-resize-detector 9.1.0 MIT git+https://github.com/maslianok/react-resize-detector.git
react-rnd 10.4.1 MIT https://github.com/bokuweb/react-rnd.git
react-router 6.13.0 MIT https://github.com/remix-run/react-router
react-router-dom 6.13.0 MIT https://github.com/remix-run/react-router
react-select 5.7.3 MIT https://github.com/JedWatson/react-select/tree/master/packages/react-select
react-table 7.8.0 MIT https://github.com/tannerlinsley/react-table
react-transition-state 1.1.5 MIT https://github.com/szhsin/react-transition-state.git
react-virtualized-auto-sizer 1.0.20 MIT https://github.com/bvaughn/react-virtualized-auto-sizer.git
react-window 1.8.9 MIT https://github.com/bvaughn/react-window.git
read-pkg 6.0.0 MIT https://github.com/sindresorhus/read-pkg.git
read-pkg-up 8.0.0 MIT https://github.com/sindresorhus/read-pkg-up.git
redent 4.0.0 MIT https://github.com/sindresorhus/redent.git
redux 4.2.1 MIT https://github.com/reduxjs/redux.git
regenerator-runtime 0.13.11 MIT https://github.com/facebook/regenerator/tree/main/packages/runtime
require-from-string 2.0.2 MIT https://github.com/floatdrop/require-from-string.git
resize-observer-polyfill 1.5.1 MIT https://github.com/que-etc/resize-observer-polyfill.git
resolve 1.22.2 MIT git://github.com/browserify/resolve.git
resolve-from 4.0.0 MIT https://github.com/sindresorhus/resolve-from.git
reusify 1.0.4 MIT git+https://github.com/mcollina/reusify.git
rifm 0.7.0 MIT https://github.com/istarkov/rifm.git
run-parallel 1.2.0 MIT git://github.com/feross/run-parallel.git
scheduler 0.20.2 MIT https://github.com/facebook/react.git
shallowequal 1.1.0 MIT https://github.com/dashed/shallowequal.git
slash 4.0.0 MIT https://github.com/sindresorhus/slash.git
snapsvg-cjs 0.0.6 MIT git+https://github.com/geelen/Snap.svg-cjs.git
socket.io-client 4.7.0 MIT https://github.com/socketio/socket.io-client.git
socket.io-parser 4.2.4 MIT https://github.com/socketio/socket.io-parser.git
spdx-expression-parse 3.0.1 MIT https://github.com/jslicense/spdx-expression-parse.js.git
split.js 1.6.5 MIT https://github.com/nathancahill/split
stable 0.1.8 MIT https://github.com/Two-Screen/stable.git
strip-indent 4.0.0 MIT https://github.com/sindresorhus/strip-indent.git
styled-components 5.3.11 MIT git+https://github.com/styled-components/styled-components.git
stylehacks 5.1.1 MIT https://github.com/cssnano/cssnano.git
stylis 4.2.0 MIT https://github.com/thysultan/stylis.js
supports-color 5.5.0 MIT https://github.com/chalk/supports-color.git
supports-color 7.2.0 MIT https://github.com/chalk/supports-color.git
supports-preserve-symlinks-flag 1.0.0 MIT git+https://github.com/inspect-js/node-supports-preserve-symlinks-flag.git
svgo 2.8.0 MIT git://github.com/svg/svgo.git
tempusdominus-core 5.19.3 MIT https://github.com/tempusdominus/core.git
text-segmentation 1.0.3 MIT git+ssh://git@github.com/niklasvh/text-segmentation.git
tiny-warning 1.0.3 MIT https://github.com/alexreardon/tiny-warning.git
to-fast-properties 2.0.0 MIT https://github.com/sindresorhus/to-fast-properties.git
to-regex-range 5.0.1 MIT https://github.com/micromatch/to-regex-range.git
trim-newlines 4.1.1 MIT https://github.com/sindresorhus/trim-newlines.git
unc-path-regex 0.1.2 MIT https://github.com/regexhq/unc-path-regex.git
update-browserslist-db 1.0.11 MIT https://github.com/browserslist/update-db.git
uplot 1.6.24 MIT git+https://github.com/leeoniya/uPlot.git
uplot-react 1.1.4 MIT https://github.com/skalinichev/uplot-wrappers.git
use-isomorphic-layout-effect 1.1.2 MIT git+https://github.com/Andarist/use-isomorphic-layout-effect.git
util-deprecate 1.0.2 MIT git://github.com/TooTallNate/util-deprecate.git
utrie 1.0.2 MIT git+ssh://git@github.com/niklasvh/utrie.git
valid-filename 2.0.1 MIT https://github.com/sindresorhus/valid-filename.git
wkx 0.5.0 MIT http://github.com/cschwarz/wkx.git
ws 8.11.0 MIT https://github.com/websockets/ws.git
xmlhttprequest-ssl 2.0.0 MIT git://github.com/mjwwit/node-XMLHttpRequest.git
xterm 4.19.0 MIT https://github.com/xtermjs/xterm.js
xterm-addon-fit 0.5.0 MIT https://github.com/xtermjs/xterm.js
xterm-addon-search 0.8.2 MIT https://github.com/xtermjs/xterm.js
xterm-addon-web-links 0.4.0 MIT https://github.com/xtermjs/xterm.js
yocto-queue 0.1.0 MIT https://github.com/sindresorhus/yocto-queue.git
@fortawesome/fontawesome-free 5.15.4 (CC-BY-4.0 AND OFL-1.1 AND MIT) https://github.com/FortAwesome/Font-Awesome
@react-leaflet/core 1.1.1 Hippocratic-2.1 https://github.com/PaulLeCam/react-leaflet.git
react-leaflet 3.2.5 Hippocratic-2.1 https://github.com/PaulLeCam/react-leaflet.git
@sphinxxxx/color-conversion 2.2.2 ISC git+https://github.com/Sphinxxxx/color-conversion.git
@trysound/sax 0.2.0 ISC git://github.com/svg/sax.git
boolbase 1.0.0 ISC https://github.com/fb55/boolbase
css-color-keywords 1.0.0 ISC https://github.com/sonicdoe/css-color-keywords.git
css-declaration-sorter 6.4.0 ISC https://github.com/Siilwyn/css-declaration-sorter.git
electron-to-chromium 1.4.437 ISC https://github.com/kilian/electron-to-chromium/
fastq 1.15.0 ISC git+https://github.com/mcollina/fastq.git
glob-parent 5.1.2 ISC https://github.com/gulpjs/glob-parent.git
hosted-git-info 4.1.0 ISC git+https://github.com/npm/hosted-git-info.git
jsonrepair 3.2.0 ISC https://github.com/josdejong/jsonrepair.git
lru-cache 6.0.0 ISC git://github.com/isaacs/node-lru-cache.git
lru-cache 5.1.1 ISC git://github.com/isaacs/node-lru-cache.git
minimatch 3.1.2 ISC git://github.com/isaacs/minimatch.git
picocolors 1.0.0 ISC https://github.com/alexeyraspopov/picocolors.git
react-timer-hook 3.0.6 ISC git+https://github.com/amrlabib/react-timer-hook.git
semver 6.3.0 ISC https://github.com/npm/node-semver
semver 7.5.2 ISC https://github.com/npm/node-semver.git
vanilla-picker 2.12.1 ISC https://github.com/Sphinxxxx/vanilla-picker.git
yallist 4.0.0 ISC git+https://github.com/isaacs/yallist.git
yallist 3.1.1 ISC git+https://github.com/isaacs/yallist.git
yaml 1.10.2 ISC https://github.com/eemeli/yaml.git
yargs-parser 20.2.9 ISC https://github.com/yargs/yargs-parser.git
ace-builds 1.23.0 BSD-3-Clause https://github.com/ajaxorg/ace-builds.git
hoist-non-react-statics 3.3.2 BSD-3-Clause git://github.com/mridgway/hoist-non-react-statics.git
hyphenate-style-name 1.0.4 BSD-3-Clause git+ssh://git@github.com/rexxars/hyphenate-style-name.git
istanbul-lib-coverage 3.2.0 BSD-3-Clause git+ssh://git@github.com/istanbuljs/istanbuljs.git
istanbul-lib-instrument 5.2.1 BSD-3-Clause git+ssh://git@github.com/istanbuljs/istanbuljs.git
istanbul-lib-report 3.0.0 BSD-3-Clause git+ssh://git@github.com/istanbuljs/istanbuljs.git
istanbul-lib-source-maps 4.0.1 BSD-3-Clause git+ssh://git@github.com/istanbuljs/istanbuljs.git
istanbul-reports 3.1.5 BSD-3-Clause git+ssh://git@github.com/istanbuljs/istanbuljs.git
react-transition-group 4.4.5 BSD-3-Clause https://github.com/reactjs/react-transition-group.git
source-map 0.6.1 BSD-3-Clause http://github.com/mozilla/source-map.git
source-map 0.5.7 BSD-3-Clause http://github.com/mozilla/source-map.git
source-map-js 1.0.2 BSD-3-Clause https://github.com/7rulnik/source-map-js.git
sprintf-js 1.1.2 BSD-3-Clause https://github.com/alexei/sprintf.js.git
caniuse-lite 1.0.30001506 CC-BY-4.0 https://github.com/browserslist/caniuse-lite.git
css-select 4.3.0 BSD-2-Clause git://github.com/fb55/css-select.git
css-what 6.1.0 BSD-2-Clause https://github.com/fb55/css-what
domelementtype 2.3.0 BSD-2-Clause git://github.com/fb55/domelementtype.git
domhandler 4.3.1 BSD-2-Clause git://github.com/fb55/domhandler.git
domutils 2.8.0 BSD-2-Clause git://github.com/fb55/domutils.git
entities 2.2.0 BSD-2-Clause git://github.com/fb55/entities.git
leaflet 1.9.4 BSD-2-Clause git://github.com/Leaflet/Leaflet.git
normalize-package-data 3.0.3 BSD-2-Clause git://github.com/npm/normalize-package-data.git
nth-check 2.1.1 BSD-2-Clause https://github.com/fb55/nth-check
uri-js 4.4.1 BSD-2-Clause http://github.com/garycourt/uri-js
FileSaver 0.10.0 UNKNOWN Unknown
heap 0.2.5 UNKNOWN git://github.com/qiao/heap.js.git
mdn-data 2.0.14 CC0-1.0 https://github.com/mdn/data.git
spdx-license-ids 3.0.13 CC0-1.0 https://github.com/jslicense/spdx-license-ids.git
mousetrap 1.6.5 Apache-2.0 WITH LLVM-exception git://github.com/ccampbell/mousetrap.git
pako 1.0.11 (MIT AND Zlib) https://github.com/nodeca/pako.git
spdx-exceptions 2.3.0 CC-BY-3.0 https://github.com/kemitchell/spdx-exceptions.json.git
tslib 2.5.3 0BSD https://github.com/Microsoft/tslib.git
tslib 2.3.1 0BSD https://github.com/Microsoft/tslib.git
type-fest 1.4.0 (MIT OR CC0-1.0) https://github.com/sindresorhus/type-fest.git
webcabin-docker 2.2.5 MIT* Unknown
495 dependencies listed.
+4 -5
View File
@@ -50,7 +50,7 @@ RUN export CPPFLAGS="-DPNG_ARM_NEON_OPT=0" && \
npm install -g corepack && \
corepack enable && \
yarn set version berry && \
yarn set version 3 && \
yarn set version 4 && \
yarn install && \
yarn run bundle && \
rm -rf node_modules \
@@ -172,12 +172,12 @@ COPY --from=env-builder /venv /venv
# Copy in the tools
COPY --from=tool-builder /usr/local/pgsql /usr/local/
COPY --from=pg17-builder /usr/local/lib/libpq.so.5.17 /usr/lib/
COPY --from=pg17-builder /usr/lib/libzstd.so.1.5.6 /usr/lib/
COPY --from=pg17-builder /usr/lib/libzstd.so.1.5.7 /usr/lib/
COPY --from=pg17-builder /usr/lib/liblz4.so.1.10.0 /usr/lib/
RUN ln -s libpq.so.5.17 /usr/lib/libpq.so.5 && \
ln -s libpq.so.5.17 /usr/lib/libpq.so && \
ln -s libzstd.so.1.5.6 /usr/lib/libzstd.so.1 && \
ln -s libzstd.so.1.5.7 /usr/lib/libzstd.so.1 && \
ln -s liblz4.so.1.10.0 /usr/lib/liblz4.so.1
WORKDIR /pgadmin4
@@ -192,7 +192,6 @@ COPY pkg/docker/entrypoint.sh /entrypoint.sh
# License files
COPY LICENSE /pgadmin4/LICENSE
COPY DEPENDENCIES /pgadmin4/DEPENDENCIES
# Install runtime dependencies and configure everything in one RUN step
RUN apk add --no-cache \
@@ -222,7 +221,7 @@ RUN apk add --no-cache \
echo "pgadmin ALL = NOPASSWD: /usr/sbin/postfix start" > /etc/sudoers.d/postfix && \
echo "pgadminr ALL = NOPASSWD: /usr/sbin/postfix start" >> /etc/sudoers.d/postfix
USER pgadmin
USER 5050
# Finish up
VOLUME /var/lib/pgadmin
+10 -10
View File
@@ -28,7 +28,7 @@ CALL :CREATE_PYTHON_ENV || EXIT /B 1
CALL :CREATE_RUNTIME_ENV || EXIT /B 1
CALL :GENERATE_SBOM || EXIT /B 1
CALL :CREATE_INSTALLER || EXIT /B 1
CALL :SIGN_INSTALLER || EXIT /B 1
CALL :VERIFY_SIGNATURE || EXIT /B 1
EXIT /B %ERRORLEVEL%
REM Main build sequence Ends
@@ -216,7 +216,7 @@ REM Main build sequence Ends
ECHO Installing javascript dependencies...
CD "%BUILDROOT%\web"
CALL yarn set version berry || EXIT /B 1
CALL yarn set version 3 || EXIT /B 1
CALL yarn set version 4 || EXIT /B 1
CALL yarn install || EXIT /B 1
CALL npm rebuild || EXIT /B 1
@@ -239,7 +239,6 @@ REM Main build sequence Ends
ECHO Staging license files...
COPY "%WD%\LICENSE" "%BUILDROOT%\" > nul || EXIT /B 1
COPY "%WD%\DEPENDENCIES" "%BUILDROOT%\" > nul || EXIT /B 1
ECHO Creating config_distro.py
ECHO SERVER_MODE = False > "%BUILDROOT%\web\config_distro.py"
@@ -272,8 +271,7 @@ REM Main build sequence Ends
CD "%BUILDROOT%\runtime\resources\app\"
CALL yarn set version berry || EXIT /B 1
CALL yarn set version 3 || EXIT /B 1
CALL yarn plugin import workspace-tools || EXIT /B 1
CALL yarn set version 4 || EXIT /B 1
CALL yarn workspaces focus --production || EXIT /B 1
ECHO Removing yarn cache...
@@ -284,6 +282,7 @@ REM Main build sequence Ends
REM WGET
FOR /f "tokens=*" %%i IN ('npm info electron version') DO SET "ELECTRON_VERSION=%%i"
SET ELECTRON_VERSION="35.4.0"
:GET_NW
wget https://github.com/electron/electron/releases/download/v%ELECTRON_VERSION%/electron-v%ELECTRON_VERSION%-win32-x64.zip -O "%TMPDIR%\electron-v%ELECTRON_VERSION%-win32-x64.zip"
IF %ERRORLEVEL% NEQ 0 GOTO GET_NW
@@ -357,7 +356,7 @@ REM Main build sequence Ends
DEL /s "%WD%\pkg\win32\installer.iss.in_stage*" > nul
ECHO Creating windows installer using INNO tool...
CALL "%PGADMIN_INNOTOOL_DIR%\ISCC.exe" "%WD%\pkg\win32\installer.iss" || EXIT /B 1
CALL "%PGADMIN_INNOTOOL_DIR%\ISCC.exe" "%WD%\pkg\win32\installer.iss" "/SpgAdminSigntool=%PGADMIN_SIGNTOOL_DIR%\signtool.exe sign /fd certHash /tr http://timestamp.digicert.com /td SHA256 $f" || EXIT /B 1
ECHO Renaming installer...
MOVE "%WD%\pkg\win32\Output\pgadmin4-setup.exe" "%DISTROOT%\%INSTALLERNAME%" > nul || EXIT /B 1
@@ -374,13 +373,14 @@ REM Main build sequence Ends
EXIT /B 0
:SIGN_INSTALLER
ECHO Attempting to sign the installer...
CALL "%PGADMIN_SIGNTOOL_DIR%\signtool.exe" sign /fd certHash /tr http://timestamp.digicert.com /td SHA256 "%DISTROOT%\%INSTALLERNAME%"
:VERIFY_SIGNATURE
ECHO Verifying the installer signature...
CALL "%PGADMIN_SIGNTOOL_DIR%\signtool.exe" verify /pa /v "%DISTROOT%\%INSTALLERNAME%"
IF %ERRORLEVEL% NEQ 0 (
ECHO.
ECHO ************************************************************
ECHO * Failed to sign the installer
ECHO * Failed to verify signature of the installer
ECHO ************************************************************
PAUSE
)
+2 -1
View File
@@ -20,8 +20,9 @@ APP_REVISION := $(shell grep ^APP_REVISION web/version.py | awk -F"=" '{print $$
# Include only platform-independent builds in all
all: docs pip src
# Add BUILD_OPTS variable to pass arguments
appbundle:
./pkg/mac/build.sh
./pkg/mac/build.sh $(BUILD_OPTS)
install-node:
cd web && yarn install
+6 -6
View File
@@ -20,7 +20,7 @@ which will fork a Python server process and display the UI.
## Prerequisites
1. Install Node.js 20 and above (https://nodejs.org/en/download)
2. yarn (https://yarnpkg.com/getting-started/install)
3. Python 3.8 and above (https://www.python.org/downloads/)
3. Python 3.9 and above (https://www.python.org/downloads/)
4. PostgreSQL server (https://www.postgresql.org/download)
Start by enabling Corepack, if it isn't already;
@@ -42,9 +42,9 @@ installed. Then, you can run the following commands on a *nix system to
download the required packages and build the bundle:
```bash
(venv) $ cd $PGADMIN4_SRC
(venv) $ make install-node
(venv) $ make bundle
$ cd $PGADMIN4_SRC
$ make install-node
$ make bundle
```
On Windows systems (where "make" is not available), the following commands
@@ -59,7 +59,7 @@ C:\$PGADMIN4_SRC\web> yarn run bundle
# Configuring the Python Environment
In order to run the Python code, a suitable runtime environment is required.
Python version 3.8 and later are currently supported. It is recommended that a
Python version 3.9 and later are currently supported. It is recommended that a
Python Virtual Environment is setup for this purpose, rather than using the
system Python environment. On Linux and Mac systems, the process is fairly
simple - adapt as required for your distribution:
@@ -81,7 +81,7 @@ simple - adapt as required for your distribution:
so update that to the latest:
```bash
$ pip install --upgrade pip
(venv) $ pip install --upgrade pip
```
4. Ensure that a PostgreSQL installation's bin/ directory is in the path (so
File diff suppressed because it is too large. Load diff
+96
View File
@@ -0,0 +1,96 @@
Auto-Update of pgAdmin 4 Desktop Application
********************************************
pgAdmin 4's desktop application includes an automated update system built using
Electron's ``autoUpdater`` module. This feature enables users to receive and install
updates seamlessly, ensuring they always have access to the latest features and security fixes.
Supported Platforms
===================
- **macOS:** Fully supported with automatic updates enabled by default
- **Windows:** Not supported
- **Linux:** Not supported
Update Process Overview
=======================
1. **Check for Updates:**
- Automatic check on application startup
- Manual check available via pgAdmin 4 menu > Check for Updates
- Uses Electron's ``autoUpdater`` API to query update server
2. **Download Process:**
- Updates download automatically when detected
- Progress shown via notifications
- Background download prevents interruption of work
3. **Installation Flow:**
- User prompted to Install & Restart or Restart Later when update ready
- Update applied during application restart
The flow chart for the update process is as follows:
.. image:: images/auto_update_desktop_app.png
:alt: Auto-update Desktop App
:align: center
User Interface Components
=========================
1. **Notification Types:**
- Update available
- Download progress
- Update ready to install
- Error notifications
2. **Menu Integration:**
- Check for Updates option in pgAdmin 4 menu
- Restart to Update option when update available
Error Handling
==============
The system includes comprehensive error handling:
1. **Network Errors:**
- Connection timeouts
- Download failures
- Server unavailability
2. **Installation Errors:**
- Corrupted downloads
3. **Recovery Mechanisms:**
- Fallback to manual update
- Error reporting to logs
Security Considerations
=======================
The update system implements below security measures:
1. **Secure Communication:**
- Protected update metadata
Platform-Specific Notes
=======================
1. **macOS:**
- Uses native update mechanisms
- Requires signed packages
References
==========
- `Electron autoUpdater API Documentation <https://www.electronjs.org/docs/latest/api/auto-updater>`_
+3 -2
View File
@@ -40,6 +40,9 @@ settings:
as the existing one, but will be an independent object. If you choose to copy
an existing collation, you cannot modify the collation properties displayed on
this tab.
* Use the drop-down listbox next to *Provider* to select a locale services associated
with the collation. Possible values are: icu, libc and builtin.
**Note:** The builtin option is available from v17 onwards.
* Use the *Locale* field to specify a locale; a locale specifies language and
language formatting characteristics. If you specify this, you cannot specify
either of the following parameters. To view a list of locales supported by
@@ -50,8 +53,6 @@ settings:
* Use the *LC_CTYPE* field to specify a locale with specified character
classification. The locale must be applicable to the current database encoding.
(See CREATE DATABASE for details.)
* Use the drop-down listbox next to *Locale Provider* to select a locale services associated
with the collation. Possible values are: icu, libc. libc is the default.
* Move the switch next to *Deterministic* to *YES* to specify whether the collation should use
deterministic comparisons. By default, this option is set to true. In a
deterministic comparison, strings that are not byte-wise equal are considered
+7
View File
@@ -128,3 +128,10 @@ The configuration settings are stored in *runtime_config.json* file, which
will be available on Unix systems (~/.local/share/pgadmin/),
on Mac OS X (~/Library/Preferences/pgadmin),
and on Windows (%APPDATA%/pgadmin).
For details on the auto-update system for the desktop application, see
.. toctree::
:maxdepth: 1
auto_update_desktop_app
+91
View File
@@ -0,0 +1,91 @@
.. _export_data_using_query:
***************************************
`Export Data Using Query Dialog`:index:
***************************************
Use the *Export Data Using Query* dialog to copy data to a file.
The *Export Data Using Query* dialog organizes the export of data through the
*General*, *Options* and *Query* tabs.
.. image:: images/export_query_general.png
:alt: Export data using query dialog general tab
:align: center
Use the fields in the *General* tab to specify export preferences:
* Enter the name of the target file in the *Filename* field.
Optionally, select the *Browse* icon (ellipsis) to the right to navigate
into a directory and select a file.
* Use the drop-down listbox in the *Format* field to specify the file type.
Select:
* *binary* for a .bin file.
* *csv* for a .csv file.
* *text* for a .txt file.
* Use the drop-down listbox in the *Encoding* field to specify the type of
character encoding.
.. image:: images/export_query_options.png
:alt: Export data using query dialog options tab
:align: center
* Use the fields in the *Options* tab to specify additional information:
* Move the *Header* switch to the *Yes* position to include the table header
with the data rows. If you include the table header, the first row of the
file will contain the column names.
* If you are exporting data, specify the delimiter that will separate the
columns within the target file in the *Delimiter* field. The separating
character can be a colon, semicolon, a vertical bar, or a tab.
* Specify a quoting character used in the *Quote* field. Quoting can be
applied to string columns only (i.e. numeric columns will not be quoted)
or all columns regardless of data type. The character used for quoting can
be a single quote or a double quote.
* Specify a character that should appear before a data character that matches
the *QUOTE* value in the *Escape* field.
* Use the *NULL String* field to specify a string that will represent a null
value within the source or target file.
Click the *Query* tab to continue.
.. image:: images/export_query.png
:alt: Export data using query dialog query tab
:align: center
Use the fields in the *Query* tab to write the query that will be exported:
* Use the *Export Data Query* field to specifies A SELECT, VALUES, INSERT, UPDATE,
DELETE, or MERGE command whose results are to be copied .
* Use *Force Quote columns* field to forces quoting to be used for all non-NULL
values in each specified column. NULL output is never quoted. This is a creatable
select control. If you would like to quote all columns then provide only '*' in
the field.
After completing the *Export Data Using Query* dialog, click the *OK* button to
perform the export. pgAdmin will notify you when the background
process completes:
.. image:: images/export_query_complete.png
:alt: Export data using query completion notification
:align: center
Use the *View Processes* button on the notification to open the *Process
Watcher* and review detailed information about the execution of the command
that performed the export:
Use the **End Process** button to end the Export process.
.. image:: images/export_query_pw.png
:alt: Export data using query process watcher
:align: center
.. note:: If you are running *pgAdmin* in *Server Mode* you can click on the |sm_icon| icon in the process watcher window to open the file location in the Storage Manager. You can use the :ref:`Storage Manager <storage_manager>` to download the exported file on the client machine .
.. |sm_icon| image:: images/sm_icon.png
Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB

After

Width:  |  Height:  |  Size: 254 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 188 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 182 KiB

After

Width:  |  Height:  |  Size: 320 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 155 KiB

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 KiB

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 191 KiB

After

Width:  |  Height:  |  Size: 189 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 190 KiB

After

Width:  |  Height:  |  Size: 246 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 124 KiB

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 KiB

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 214 KiB

After

Width:  |  Height:  |  Size: 284 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 128 KiB

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 142 KiB

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 167 KiB

After

Width:  |  Height:  |  Size: 225 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 178 KiB

After

Width:  |  Height:  |  Size: 176 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 188 KiB

After

Width:  |  Height:  |  Size: 239 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 KiB

After

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 164 KiB

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 280 KiB

After

Width:  |  Height:  |  Size: 234 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 KiB

After

Width:  |  Height:  |  Size: 220 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 162 KiB

After

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 126 KiB

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 KiB

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 131 KiB

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 182 KiB

After

Width:  |  Height:  |  Size: 222 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 183 KiB

After

Width:  |  Height:  |  Size: 252 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 176 KiB

After

Width:  |  Height:  |  Size: 179 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 94 KiB

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

+32 -8
View File
@@ -33,18 +33,29 @@ Use the fields in the *General* tab to specify import and export preferences:
* Use the drop-down listbox in the *Encoding* field to specify the type of
character encoding.
* use the drop-down listbox in the *On Error* field to specify how to behave
when encountering an error converting a columns input value into its data type.
An error_action value of stop means fail the command, while ignore means discard
the input row and continue with the next one. The default is stop. This option is
available from PG/EPAS version 17 and above.
* use the drop-down listbox in the *Log Verbosity* field to specify the amount
of messages emitted by a COPY command: default or verbose. This is currently
used in Import only when ON_ERROR option is set to ignore. This option is
available from PG/EPAS version 17 and above.
.. image:: images/import_export_options.png
:alt: Import Export data dialog options tab
:align: center
* Use the fields in the *Options* tab to specify additional information:
* Move the *OID* switch to the *Yes* position to include the *OID* column.
The *OID* is a system-assigned value that may not be modified. The default
is *No*.
* Move the *Header* switch to the *Yes* position to include the table header
with the data rows. If you include the table header, the first row of the
file will contain the column names.
* Move the *Freeze* switch to the *Yes* position to requests copying the
data with rows already frozen, just as they would be after running the
VACUUM FREEZE command.
* If you are exporting data, specify the delimiter that will separate the
columns within the target file in the *Delimiter* field. The separating
character can be a colon, semicolon, a vertical bar, or a tab.
@@ -54,8 +65,11 @@ Use the fields in the *General* tab to specify import and export preferences:
be a single quote or a double quote.
* Specify a character that should appear before a data character that matches
the *QUOTE* value in the *Escape* field.
* Use the *NULL Strings* field to specify a string that will represent a null
* Use the *NULL String* field to specify a string that will represent a null
value within the source or target file.
* Use the *Default String* field to specify a string that will represent a default value.
Each time the string is found in the input file, the default value of the corresponding
column will be used. This option is available from PG/EPAS version 16 and above.
Click the *Columns* tab to continue.
@@ -71,29 +85,39 @@ or exported:
the left of the column name. Click an empty spot inside the field to access
the drop-down list.
* If enabled, click inside the *Force Quote columns* field to forces quoting
to be used for all non-NULL values in each specified column. NULL output is
never quoted. To delete a column, click the *x* to the left of the column name.
* If enabled, click inside the *NOT NULL columns* field to select one or more
columns that will not be checked for a NULL value. To delete a column, click
the *x* to the left of the column name.
* If enabled, click inside the *NULL columns* field to match the specified columns
values against the null string, even if it has been quoted, and if a match is
found set the value to NULL. To delete a column, click the *x* to the left of the
column name.
After completing the *Import/Export data* dialog, click the *OK* button to
perform the import or export. pgAdmin will inform you when the background
perform the import or export. pgAdmin will notify you when the background
process completes:
.. image:: images/import_export_complete.png
:alt: Import Export data completion notification
:align: center
Use the **Stop Process** button to stop the Import/Export process.
Use the *Click here for details* link on the notification to open the *Process
Use the *View Processes* button on the notification to open the *Process
Watcher* and review detailed information about the execution of the command
that performed the import or export:
Use the **End Process** button to end the Import/Export process.
.. image:: images/import_export_pw.png
:alt: Import Export data process watcher
:align: center
.. note:: If you are running *pgAdmin* in *Server Mode* you can click on the |sm_icon| icon in the process watcher window to open the file location in the Storage Manager. You can use the :ref:`Storage Manager <storage_manager>` to download the backup file on the client machine .
.. note:: If you are running *pgAdmin* in *Server Mode* you can click on the |sm_icon| icon in the process watcher window to open the file location in the Storage Manager. You can use the :ref:`Storage Manager <storage_manager>` to download the exported file on the client machine .
.. |sm_icon| image:: images/sm_icon.png
+3 -1
View File
@@ -194,4 +194,6 @@ The following example shows both a minimally defined and a fully defined server:
"PostConnectionSQL": "set timezone='America/New_York'"
}
}
}
}
.. note:: If you're running pgAdmin in Server Mode, the values for parameters that require file paths should be specified relative to the user's home directory which is /<DATA_DIR>/storage/<user_id>/. If DATA_DIR is not specified, then it will /var/libe/pgadmin/storage/<user_id>/
+1
View File
@@ -14,6 +14,7 @@ granting user privileges, and performing VACUUM, ANALYZE and REINDEX functions.
add_restore_point_dialog
change_password_dialog
grant_wizard
export_data_using_query
import_export_data
maintenance_dialog
storage_manager
+43 -41
View File
@@ -63,11 +63,11 @@ following options (in alphabetical order):
| *Create* | Click *Create* to access a context menu that provides context-sensitive selections. |
| | Your selection opens a *Create* dialog for creating a new object. |
+-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
| *Delete* | Click to delete the currently selected object from the server. |
| *Drop* | Click to drop the currently selected object from the server. |
+-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
| *Delete (Cascade)* | Click to delete the currently selected object and all dependent objects from the server. |
| *Drop (Cascade)* | Click to drop the currently selected object and all dependent objects from the server. |
+-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
| *Delete (Force)* | Click to delete the currently selected database with force option. |
| *Drop (Force)* | Click to drop the currently selected database with force option. |
+-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
| *Disconnect from server* | Click to disconnect from the currently selected server. |
+-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
@@ -103,44 +103,46 @@ The Tools Menu
Use the *Tools* menu to access the following options (in alphabetical order):
+---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| Option | Action |
+===========================+===========================================================================================================================================+
| *ERD Tool* | Click to open the :ref:`ERD Tool <erd_tool>` and start designing your database. |
+---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *Grant Wizard...* | Click to access the :ref:`Grant Wizard <grant_wizard>` tool. |
+---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *PSQL Tool* | Click to open the :ref:`PSQL Tool <psql_tool>` and start PSQL in the current database context. |
+---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *Query tool* | Click to open the :ref:`Query tool <query_tool>` for the currently selected object. |
+---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *Schema Diff* | Click to open the :ref:`Schema Diff <schema_diff_feature>` and start comparing two database or two schema. |
+---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *Backup Globals...* | Click to open the :ref:`Backup Globals... <backup_globals_dialog>` dialog to backup cluster objects. |
+---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *Backup Server...* | Click to open the :ref:`Backup Server... <backup_server_dialog>` dialog to backup a server. |
+---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *Backup...* | Click to open the :ref:`Backup... <backup_dialog>` dialog to backup database objects. |
+---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *Restore...* | Click to access the :ref:`Restore <restore_dialog>` dialog to restore database files from a backup. |
+---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *Import/Export Data...* | Click to open the :ref:`Import/Export data... <import_export_data>` dialog to import or export data from a table. |
+---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *Maintenance...* | Click to open the :ref:`Maintenance... <maintenance_dialog>` dialog to VACUUM, ANALYZE, REINDEX, or CLUSTER. |
+---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *Search Objects...* | Click to open the :ref:`Search Objects... <search_objects>` and start searching any kind of objects in a database. |
+---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *Add named restore point* | Click to open the :ref:`Add named restore point... <add_restore_point_dialog>` dialog to take a point-in-time snapshot of the current |
| | server state. |
+---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *Pause replay of WAL* | Click to pause the replay of the WAL log. |
+---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *Resume replay of WAL* | Click to resume the replay of the WAL log. |
+---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *Reload Configuration...* | Click to update configuration files without restarting the server. |
+---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *Storage Manager* | Click to open the :ref:`Storage Manager <storage_manager>` to upload, delete, or download the backup files. |
+---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| Option | Action |
+==============================+===========================================================================================================================================+
| *ERD Tool* | Click to open the :ref:`ERD Tool <erd_tool>` and start designing your database. |
+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *Grant Wizard...* | Click to access the :ref:`Grant Wizard <grant_wizard>` tool. |
+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *PSQL Tool* | Click to open the :ref:`PSQL Tool <psql_tool>` and start PSQL in the current database context. |
+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *Query tool* | Click to open the :ref:`Query tool <query_tool>` for the currently selected object. |
+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *Schema Diff* | Click to open the :ref:`Schema Diff <schema_diff_feature>` and start comparing two database or two schema. |
+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *Backup Globals...* | Click to open the :ref:`Backup Globals... <backup_globals_dialog>` dialog to backup cluster objects. |
+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *Backup Server...* | Click to open the :ref:`Backup Server... <backup_server_dialog>` dialog to backup a server. |
+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *Backup...* | Click to open the :ref:`Backup... <backup_dialog>` dialog to backup database objects. |
+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *Restore...* | Click to access the :ref:`Restore <restore_dialog>` dialog to restore database files from a backup. |
+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *Export Data Using Query...* | Click to open the :ref:`Export Data Using Query... <export_data_using_query>` dialog to export data from a table using query. |
+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *Import/Export Data...* | Click to open the :ref:`Import/Export data... <import_export_data>` dialog to import or export data from a table. |
+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *Maintenance...* | Click to open the :ref:`Maintenance... <maintenance_dialog>` dialog to VACUUM, ANALYZE, REINDEX, or CLUSTER. |
+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *Search Objects...* | Click to open the :ref:`Search Objects... <search_objects>` and start searching any kind of objects in a database. |
+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *Add named restore point* | Click to open the :ref:`Add named restore point... <add_restore_point_dialog>` dialog to take a point-in-time snapshot of the current |
| | server state. |
+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *Pause replay of WAL* | Click to pause the replay of the WAL log. |
+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *Resume replay of WAL* | Click to resume the replay of the WAL log. |
+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *Reload Configuration...* | Click to update configuration files without restarting the server. |
+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| *Storage Manager* | Click to open the :ref:`Storage Manager <storage_manager>` to upload, delete, or download the backup files. |
+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
The Help Menu
*************
+11 -2
View File
@@ -48,6 +48,8 @@ and modify the values for the following parameters:
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."
"OAUTH2_CHALLENGE_METHOD", "Enable PKCE workflow. PKCE method name, only *S256* is supported"
"OAUTH2_RESPONSE_TYPE", "Enable PKCE workflow. Mandatory with OAUTH2_CHALLENGE_METHOD, must be set to *code*"
Redirect URL
============
@@ -65,12 +67,19 @@ the PostgreSQL server password.
To accomplish this, set the configuration parameter MASTER_PASSWORD to *True*, so upon setting the master password,
it will be used as an encryption key while storing the password. If it is False, the server password can not be stored.
Login Page
============
==========
After configuration, on restart, you can see the login page with the Oauth2 login button(s).
.. image:: images/oauth2_login.png
:alt: Oauth2 login
:align: center
PKCE Workflow
=============
Ref: https://oauth.net/2/pkce
To enable PKCE workflow, set the configuration parameters OAUTH2_CHALLENGE_METHOD to *S256* and OAUTH2_RESPONSE_TYPE to *code*.
Both parameters are mandatory to enable PKCE workflow.
+173 -116
View File
@@ -2,24 +2,31 @@
.. _preferences:
***************************
`Preferences Dialog`:index:
`Preferences`:index:
***************************
Use options on the *Preferences* dialog to customize the behavior of the client.
To open the *Preferences* dialog, select *Preferences* from the *File* menu or
Use options in the *Preferences* tab to customize the behavior of the client.
To open the *Preferences* tab, select *Preferences* from the *File* menu or
click on the *Settings* button at the bottom left corner in case of Workspace
layout.
.. image:: images/preferences_menu.png
:alt: Preferences menu
Header
******
.. image:: images/preferences_header.png
:alt: Preferences browser display options
:align: center
The left pane of the *Preferences* dialog displays a tree control; each node of
* Use the *Save* button to save any preference changes.
* Use the *Reset all preferences* button to restore all preferences to their default values.
* Use the *Help* button to open preferences help.
* Quickly search all preferences using the *Search* box. It finds matches in both labels and
help messages.
The left pane of the *Preferences* tab displays a tree control; each node of
the tree control provides access to options that are related to the node under
which they are displayed.
* Click the *Reset all preferences* button to restore all preferences to their default values.
The Browser Node
****************
@@ -27,7 +34,7 @@ Use preferences found in the *Browser* node of the tree control to personalize
your workspace.
.. image:: images/preferences_browser_display.png
:alt: Preferences dialog browser display options
:alt: Preferences browser display options
:align: center
Use the fields on the *Display* panel to specify general display preferences:
@@ -36,27 +43,30 @@ Use the fields on the *Display* panel to specify general display preferences:
be automatically expanded if a treeview node is expanded and has only a single
child.
* When the *Confirm before Close/Reset in object properties dialog?* switch is
set to *True*, pgAdmin will warn you before closing the properties dialog of
an object if there are any unsaved changes. On user confirmation,
the properties dialog will close.
* When the *Confirm on close or refresh?* switch is set to *True*, pgAdmin will
attempt to catch browser close or refresh events and prompt before allowing
them to continue.
* Use the *Object explorer state saving interval* field to set the treeview state
saving interval. A value of *-1* will disable the treeview state saving
functionality.
* When the *Confirm before closing properties with unsaved changes* switch is set to *True*,
pgAdmin will warn you before closing the properties dialog of an object if there
are any unsaved changes. On user confirmation, the properties dialog will close.
* When the *Confirm on close or refresh* switch is set to *True*, pgAdmin will
attempt to catch browser close or refresh events and prompt before allowing
them to continue.
* When the *Hide shared servers?* switch is set to *True*, the client will hide
all the shared servers from the object explorer. **Note:** This option is visible only when
pgAdmin is running in server mode.
* 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
display system objects such as system schemas (for example, *pg_temp*) or
system columns (for example, *xmin* or *ctid*) in the tree control.
* When the *Show template databases?* switch is set to *True*, the client will
display template databases.
@@ -64,7 +74,7 @@ Use the fields on the *Keyboard shortcuts* panel to configure shortcuts for the
main window navigation:
.. image:: images/preferences_browser_keyboard_shortcuts.png
:alt: Preferences dialog browser keyboard shortcuts section
:alt: Preferences browser keyboard shortcuts section
:align: center
* The panel displays a list of keyboard shortcuts available for the main window;
@@ -75,7 +85,7 @@ Use the fields on the *Nodes* panel to select the object types that will be
displayed in the *Browser* tree control:
.. image:: images/preferences_browser_nodes.png
:alt: Preferences dialog browser nodes section
:alt: Preferences browser nodes section
:align: center
* The panel displays a list of database objects; slide the switch located next
@@ -87,7 +97,7 @@ Use the fields on the *Object Breadcrumbs* panel to change object breadcrumbs
related settings:
.. image:: images/preferences_browser_breadcrumbs.png
:alt: Preferences dialog object breadcrumbs section
:alt: Preferences object breadcrumbs section
:align: center
* Use *Enable object breadcrumbs?* to enable or disable object breadcrumbs
@@ -101,7 +111,7 @@ Use the fields on the *Processes* panel to change processes tab
related settings:
.. image:: images/preferences_browser_processes.png
:alt: Preferences dialog processes section
:alt: Preferences processes section
:align: center
* Change *Process details/logs retention days* to the number of days,
@@ -110,7 +120,7 @@ related settings:
Use fields on the *Properties* panel to specify browser properties:
.. image:: images/preferences_browser_properties.png
:alt: Preferences dialog browser properties section
:alt: Preferences browser properties section
:align: center
* Include a value in the *Count rows if estimated less than* field to perform a
@@ -124,13 +134,15 @@ Use fields on the *Properties* panel to specify browser properties:
Use field on *Tab settings* panel to specify the tab related properties.
.. image:: images/preferences_browser_tab_settings.png
:alt: Preferences dialog browser properties section
:alt: Preferences browser properties section
:align: center
* Use *Debugger tab title placeholder* field to customize the Debugger tab title.
* When the *Dynamic tab size* If set to True, the tabs will take full size as per the title, it will also applicable for already opened tabs
* Use the *PSQL tool tab title placeholder* field to customize the PSQL tool tab title.
* When the *Open in new browser tab* filed is selected for Query tool, Schema Diff or Debugger, it will
open in a new browser tab when invoked.
@@ -144,7 +156,7 @@ The Dashboards Node
Expand the *Dashboards* node to specify your dashboard display preferences.
.. image:: images/preferences_dashboard_display.png
:alt: Preferences dialog dashboard display options
:alt: Preferences dashboard display options
:align: center
* Set the warning and alert threshold value to highlight the long-running
@@ -157,7 +169,7 @@ Expand the *Dashboards* node to specify your dashboard display preferences.
dashboards.
.. image:: images/preferences_dashboard_refresh.png
:alt: Preferences dialog dashboard refresh options
:alt: Preferences dashboard refresh options
:align: center
Use the fields on the *Refresh rates* panel to specify your refersh rates
@@ -184,6 +196,9 @@ preferences for the graphs on the *Dashboard* tab:
* Use the *Memory usage statistics refresh rate* field to specify the number
of seconds between memory usage statistics samples displayed in graphs.
* Use the *PGD replication lag refresh rate* field to specify the number
of seconds between PGD replication lag samples displayed in graphs.
* Use the *Percentage of CPU time used by different process modes statistics refresh rate*
field to specify the number of seconds between Percentage of CPU time used by different
process modes samples displayed in graphs.
@@ -214,7 +229,7 @@ Use the fields on the *Keyboard shortcuts* panel to configure shortcuts for the
debugger window navigation:
.. image:: images/preferences_debugger_keyboard_shortcuts.png
:alt: Preferences dialog debugger keyboard shortcuts section
:alt: Preferences debugger keyboard shortcuts section
:align: center
The ERD Tool Node
@@ -226,13 +241,13 @@ Use the fields on the *Keyboard shortcuts* panel to configure shortcuts for the
ERD Tool window navigation:
.. image:: images/preferences_erd_keyboard_shortcuts.png
:alt: Preferences dialog erd keyboard shortcuts section
:alt: Preferences erd keyboard shortcuts section
:align: center
Use the fields on the *Options* panel to manage ERD preferences.
.. image:: images/preferences_erd_options.png
:alt: Preferences dialog erd options section
:alt: Preferences erd options section
:align: center
@@ -247,13 +262,100 @@ Use the fields on the *Options* panel to manage ERD preferences.
It allows to set the limit on the depth level pgAdmin should traverse
to find the relations. Use -1 to set no limit.
The Editor Node
*****************
Expand the *Editor* node to access panels that allow you to specify your preferences
for the editor across pgAdmin 4
.. image:: images/preferences_editor_keyboard_shortcuts.png
:alt: Preferences editor keyboard shortcuts section
:align: center
Use the fields on the *Keyboard shortcuts* panel to configure shortcuts for the
editor.
.. image:: images/preferences_editor_options.png
:alt: Preferences editor options section
:align: center
Use the fields on the *Options* panel to manage editor preferences.
* Use the *Auto-indent new line?* switch to specify whether the editor will
automatically indent new lines. When set to *True*, the editor will indent
new lines according to the indentation of the previous line.
* When the *Brace matching?* switch is set to *True*, the editor will highlight
pairs of matched braces.
* When the *Code folding?* switch is set to *False*, the editor will disable
code folding. Disabling will improve editor performance with large files.
* Use the *Cursor blink rate* field to adjust the speed at which the text cursor
blinks within the editors.
* Use the *Font family* field to be used for all SQL editors. The specified
font should already be installed on your system. If the font is not found,
the editor will fall back to the default font, Source Code Pro.
* When the *Font ligatures?* switch is set to *True*, ligatures will be
enabled in SQL text boxes and editors provided the configured font family
supports them.
* Use the *Font size* field to specify the font size that will be used in text
boxes and editors.
* When the *Highlight selection matches?* switch is set to *True*, the editor will
highlight matched selected text.
* When the *Insert bracket pairs?* switch is set to *True*, the editor will
automatically insert paired brackets.
* When the *Line wrapping* switch is set to *True*, the editor will implement
line-wrapping behavior.
* When the *Plain text mode?* switch is set to *True*, the editor mode will be
changed to text/plain. Keyword highlighting and code folding will be disabled.
This will improve editor performance with large files.
.. image:: images/preferences_editor_sql_formatting.png
:alt: Preferences SQL Formatting section
:align: center
Use the fields on the *SQL formatting* panel to specify your preferences for
reformatting of SQL.
* Use the *Data type case* option to specify whether to change data types
into upper, lower, or preserve case.
* Use the *Expression width* option to specify maximum number of characters
in parenthesized expressions to be kept on single line.
* Use the *Function case* option to specify whether to change function
names into upper, lower, or preserve case.
* Use the *Identifier case* option to specify whether to change identifiers
(object names) into upper, lower, or capitalized case.
* Use the *Keyword case* option to specify whether to change keywords into
upper, lower, or preserve case.
* Use *Lines between queries* to specify how many empty lines to leave
between SQL statements. If set to zero it puts no new line.
* Use *Logical operator new line* to specify newline placement before or
after logical operators (AND, OR, XOR).
* Use *New line before semicolon?* to specify whether to place query
separator (;) on a separate line.
* Use the *Spaces around operators?* option to specify whether or not to include
spaces on either side of operators.
* Use the *Tab size* option to specify the number of spaces per tab or indent.
* Use the *Use spaces?* option to select whether to use spaces or tabs when
indenting.
The Graphs Node
***************
Expand the *Graphs* node to specify your Graphs display preferences.
.. image:: images/preferences_dashboard_graphs.png
:alt: Preferences dialog dashboard graph options
:alt: Preferences dashboard graph options
:align: center
* Use the *Chart line width* field to specify the width of the lines on the
@@ -274,7 +376,7 @@ The Miscellaneous Node
Expand the *Miscellaneous* node to specify miscellaneous display preferences.
.. image:: images/preferences_misc_file_downloads.png
:alt: Preferences dialog file downloads section
:alt: Preferences file downloads section
:align: center
Use the fields on the *File Downloads* panel to manage file downloads related preferences.
@@ -292,7 +394,7 @@ Use the fields on the *File Downloads* panel to manage file downloads related pr
Use the fields on the *User Interface* panel to set the user interface related preferences.
.. image:: images/preferences_misc_user_interface.png
:alt: Preferences dialog user interface section
:alt: Preferences user interface section
:align: center
* Use the *Language* drop-down listbox to select the display language for
@@ -309,6 +411,13 @@ Use the fields on the *User Interface* panel to set the user interface related p
this setting is False, meaning that Query Tool/PSQL tabs will open in the currently
active workspace (either the default or the workspace selected at the time of opening).
* When the *Save the application state?* option is enabled the current state of various
tools—such as Query Tool, ERD, Schema Diff, and PSQL—will be saved in the encrypted
format. If the application is closed unexpectedly, the tab is accidentally closed,
or the page is refreshed, the saved state will be automatically restored for
each respective tool. **Note:** Saving the application state will not preserve data for tool tabs opened in
separate browser tabs when running in server mode.Any tool referring ad-hoc server connection will not be restored.
* Use the *Themes* drop-down listbox to select the theme for pgAdmin. You'll also get a preview just below the
drop down. You can also submit your own themes,
check `here <https://github.com/pgadmin-org/pgadmin4/blob/master/README.md>`_ how.
@@ -322,7 +431,7 @@ Expand the *Paths* node to specify the locations of supporting utility and help
files.
.. image:: images/preferences_paths_binary.png
:alt: Preferences dialog binary path section
:alt: Preferences binary path section
:align: center
Use the fields on the *Binary paths* panel to specify the path to the directory
@@ -345,7 +454,7 @@ monitored databases:
programs (pg_dump, pg_dumpall, pg_restore and psql) and there respective versions.
.. image:: images/preferences_paths_help.png
:alt: Preferences dialog binary path help section
:alt: Preferences binary path help section
:align: center
Use the fields on the *Help* panel to specify the location of help files.
@@ -363,7 +472,7 @@ Expand the *Query Tool* node to access panels that allow you to specify your
preferences for the Query Editor tool.
.. image:: images/preferences_sql_auto_completion.png
:alt: Preferences dialog sqleditor auto completion option
:alt: Preferences sqleditor auto completion option
:align: center
Use the fields on the *Auto Completion* panel to set the auto completion options.
@@ -375,7 +484,7 @@ Use the fields on the *Auto Completion* panel to set the auto completion options
shown in upper case.
.. image:: images/preferences_sql_csv_output.png
:alt: Preferences dialog sqleditor csv output option
:alt: Preferences sqleditor csv output option
:align: center
Use the fields on the *CSV/TXT Output* panel to control the CSV/TXT output.
@@ -390,7 +499,7 @@ Use the fields on the *CSV/TXT Output* panel to control the CSV/TXT output.
specified string in the output file. Default is set to 'NULL'.
.. image:: images/preferences_sql_display.png
:alt: Preferences dialog sqleditor display options
:alt: Preferences sqleditor display options
:align: center
Use the fields on the *Display* panel to specify your preferences for the Query
@@ -405,40 +514,8 @@ Tool display.
* When the *Show query success notification?* switch is set to *True*, the Query Tool
will show notifications on successful query execution.
.. image:: images/preferences_sql_editor.png
:alt: Preferences dialog sqleditor editor settings
:align: center
Use the fields on the *Editor* panel to change settings of the query editor.
* When the *Brace matching?* switch is set to *True*, the editor will highlight
pairs of matched braces.
* When the *Code folding?* switch is set to *False*, the editor will disable
code folding. Disabling will improve editor performance with large files.
* Use the *Font family* field to be used for all SQL editors. The specified
font should already be installed on your system. If the font is not found,
the editor will fall back to the default font, Source Code Pro.
* Use the *Font size* field to specify the font size that will be used in text
boxes and editors.
* When the *Insert bracket pairs?* switch is set to *True*, the editor will
automatically insert paired brackets.
* When the *Line wrapping* switch is set to *True*, the editor will implement
line-wrapping behavior.
* When the *Plain text mode?* switch is set to *True*, the editor mode will be
changed to text/plain. Keyword highlighting and code folding will be disabled.
This will improve editor performance with large files.
* When the *Highlight selection matches?* switch is set to *True*, the editor will
highlight matched selected text.
.. image:: images/preferences_sql_explain.png
:alt: Preferences dialog sqleditor explain options
:alt: Preferences sqleditor explain options
:align: center
Use the fields on the *Explain* panel to specify the level of detail included in
@@ -467,7 +544,7 @@ a graphical EXPLAIN.
will include extended information about the query execution plan.
.. image:: images/preferences_graph_visualiser.png
:alt: Preferences dialog sqleditor graph visualiser section
:alt: Preferences sqleditor graph visualiser section
:align: center
Use the fields on the *Graph Visualiser* panel to specify the settings
@@ -477,7 +554,7 @@ related to graphs.
be plotted on a chart.
.. image:: images/preferences_sql_options.png
:alt: Preferences dialog sqleditor options section
:alt: Preferences sqleditor options section
:align: center
Use the fields on the *Options* panel to manage editor preferences.
@@ -492,29 +569,29 @@ Use the fields on the *Options* panel to manage editor preferences.
the CREATE sql of the selected object will be copied to query tool when query tool
will open.
* When the *Open the file in a new tab?* switch is set to *True*, the
editor will open the new file in new tab of the Query Tool.
* When the *Prompt to commit/rollback active transactions?* switch is set to
*True*, the editor will prompt the user to commit or rollback changes when
exiting the Query Tool while the current transaction is not committed.
* When the *Prompt to save unsaved data changes?* switch is set to *True*, the
editor will prompt the user to saved unsaved data when exiting the data
editor.
* When the *Open the file in a new tab?* switch is set to *True*, the
editor will open the new file in new tab of the Query Tool.
* When the *Prompt to save unsaved query changes?* switch is set to *True*, the
editor will prompt the user to saved unsaved query modifications when exiting
the Query Tool.
* When the *Prompt to commit/rollback active transactions?* switch is set to
*True*, the editor will prompt the user to commit or rollback changes when
exiting the Query Tool while the current transaction is not committed.
* When the *Show View/Edit Data Promotion Warning?* switch is set to *True*
View/Edit Data tool will show promote to Query tool confirm dialog on query edit.
* When the *Sort View Data results by primary key columns?* If set to *True*,
data returned when using the View/Edit Data - All Rows option will be sorted
by the Primary Key columns by default. When using the First/Last 100 Rows options,
data is always sorted.
* When the *Show View/Edit Data Promotion Warning?* switch is set to *True*
View/Edit Data tool will show promote to Query tool confirm dialog on query edit.
* When the *Underline query at cursor?* switch is set to *True*, query tool will
parse and underline the query at the cursor position.
@@ -522,8 +599,12 @@ Use the fields on the *Options* panel to manage editor preferences.
will warn upon clicking the *Execute Query* button in the query tool. The warning
will appear only if *Underline query at cursor?* is set to *False*.
* When the *Use server cursor?* switch is set to *True*, the dataset will be fetched
using a server-side cursor after the query is executed.
.. image:: images/preferences_sql_results_grid.png
:alt: Preferences dialog sql results grid section
:alt: Preferences sql results grid section
:align: center
Use the fields on the *Results grid* panel to specify your formatting
@@ -533,11 +614,15 @@ preferences for copied data.
auto-size to the maximum width of the data in the column as loaded in the
first batch. If set to *Column name*, the column will be sized to the widest
of the data type or column name.
* Specify the maximum width of the column in pixels when 'Columns sized by' is
set to *Column data*. If 'Columns sized by' is set to *Column name* then this
setting won't have any effect.
* Specify the number of records to fetch in one batch. Changing this value will
override DATA_RESULT_ROWS_PER_PAGE setting from config file.
* Use *Data result rows per page* to specify the number of records to fetch in
one batch. Changing this value will override DATA_RESULT_ROWS_PER_PAGE setting
from config file.
* Use the *Max column data display length* to specify the maximum number of
characters to be visible in the data output cell. If the data is larger
than this value, it will be truncated.
* Use *Maximum column width* to Specify the maximum width of the column in pixels
when 'Columns sized by' is set to *Column data*. If 'Columns sized by' is set to
*Column name* then this setting won't have any effect.
* Use the *Result copy field separator* drop-down listbox to select the field
separator for copied data.
* Use the *Result copy quote character* drop-down listbox to select the quote
@@ -548,40 +633,12 @@ preferences for copied data.
rows with alternating background colors.
.. image:: images/preferences_sql_keyboard_shortcuts.png
:alt: Preferences dialog sql keyboard shortcuts section
:alt: Preferences sql keyboard shortcuts section
:align: center
Use the fields on the *Keyboard shortcuts* panel to configure shortcuts for the
Query Tool window navigation.
.. image:: images/preferences_sql_formatting.png
:alt: Preferences dialog SQL Formatting section
:align: center
Use the fields on the *SQL formatting* panel to specify your preferences for
reformatting of SQL.
* Use the *Data type case* option to specify whether to change data types
into upper, lower, or preserve case.
* Use the *Expression width* option to specify maximum number of characters
in parenthesized expressions to be kept on single line.
* Use the *Function case* option to specify whether to change function
names into upper, lower, or preserve case.
* Use the *Identifier case* option to specify whether to change identifiers
(object names) into upper, lower, or capitalized case.
* Use the *Keyword case* option to specify whether to change keywords into
upper, lower, or preserve case.
* Use *Lines between queries* to specify how many empty lines to leave
between SQL statements. If set to zero it puts no new line.
* Use *Logical operator new line* to specify newline placement before or
after logical operators (AND, OR, XOR).
* Use *New line before semicolon?* to specify whether to place query
separator (;) on a separate line.
* Use the *Spaces around operators?* option to specify whether or not to include
spaces on either side of operators.
* Use the *Tab size* option to specify the number of spaces per tab or indent.
* Use the *Use spaces?* option to select whether to use spaces or tabs when
indenting.
The Schema Diff Node
********************
@@ -608,7 +665,7 @@ The Storage Node
Expand the *Storage* node to specify your storage preferences.
.. image:: images/preferences_storage_options.png
:alt: Preferences dialog storage section
:alt: Preferences storage section
:align: center
Use the fields on the *Options* panel to specify storage preferences.
+1 -1
View File
@@ -42,7 +42,7 @@ Process Watcher
The Process Watcher logs all the activity associated with the process/task and provides
additional information for troubleshooting
Use the **Stop Process** button to stop the Backup process.
Use the **End Process** button to end the process.
.. note:: If you are running *pgAdmin* in *Server Mode* you can click on the |sm_icon| icon in the process watcher window to open the file location in the Storage Manager. You can use the :ref:`Storage Manager <storage_manager>` to download the backup file on the client machine .
+28
View File
@@ -558,3 +558,31 @@ To execute a macro, simply select the appropriate shortcut keys, or select it fr
.. image:: images/query_output_data.png
:alt: Query Tool Macros Execution
:align: center
Server Side Cursor
******************
Server-side cursors allow partial retrieval of large datasets, making them particularly useful when working with
very large result sets. However, they may offer lower performance in typical, everyday usage scenarios.
To enable server-side cursors:
* Go to Preferences > Query Tool > Options and set "Use server cursor?" to True.
* Alternatively, you can enable it on a per-session basis via the Query Tool’s Execute menu.
.. image:: images/query_tool_server_cursor_execute_menu.png
:alt: Query Tool Server Cursor
:align: center
Limitations:
1. Transaction Requirement: Server-side cursors work only in transaction mode.
If enabled pgAdmin will automatically ensure queries run within a transaction.
2. Limited Use Case: Use server-side cursors only when fetching large datasets.
3. Pagination Limitation: In the Result Grid, the First and Last page buttons will be disabled,
as server-side cursors do not return a total row count. Consequently, the total number of rows
will not be displayed after execution.
+12 -5
View File
@@ -140,20 +140,27 @@ Query Execution
| | | |
| | Navigate through the *Explain Options* menu to select options for the EXPLAIN command: | |
| | | |
| | * Select *Verbose* to display additional information regarding the query plan. | |
| | * Select *Buffers* to include information on buffer usage. | |
| | | |
| | * Select *Costs* to include information on the estimated startup and total cost of each | |
| | plan node, as well as the estimated number of rows and the estimated width of each | |
| | row. | |
| | | |
| | * Select *Buffers* to include information on buffer usage. | |
| | * Select *Generic Plan* to include the information on the Generic Plan. | |
| | | |
| | * Select *Memory* to include the information on memory consumption by the query planning phase. | |
| | | |
| | * Select *Serialize* to include information on the cost of serializing the query's output data, | |
| | that is converting it to text or binary format to send to the client. | |
| | | |
| | * Select *Settings* to include the information on the configuration parameters. | |
| | | |
| | * Select *Summary* to include the summary information about the query plan. | |
| | | |
| | * Select *Timing* to include information about the startup time and the amount of time | |
| | spent in each node of the query. | |
| | | |
| | * Select *Summary* to include the summary information about the query plan. | |
| | | |
| | * Select *Settings* to include the information on the configuration parameters. | |
| | * Select *Verbose* to display additional information regarding the query plan. | |
| | | |
| | * Select *Wal* to include the information on WAL record generation. | |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
+5
View File
@@ -12,6 +12,11 @@ notes for it.
:maxdepth: 1
release_notes_9_7
release_notes_9_6
release_notes_9_5
release_notes_9_4
release_notes_9_3
release_notes_9_2
release_notes_9_1
release_notes_9_0
+48
View File
@@ -0,0 +1,48 @@
***********
Version 9.3
***********
Release date: 2025-04-30
This release contains a number of bug fixes and new features since the release of pgAdmin 4 v9.2.
Supported Database Servers
**************************
**PostgreSQL**: 13, 14, 15, 16 and 17
**EDB Advanced Server**: 13, 14, 15, 16 and 17
Bundled PostgreSQL Utilities
****************************
**psql**, **pg_dump**, **pg_dumpall**, **pg_restore**: 17.2
New features
************
| `Issue #2256 <https://github.com/pgadmin-org/pgadmin4/issues/2256>`_ - Add support for type constructors for PostGIS spatial types.
| `Issue #2767 <https://github.com/pgadmin-org/pgadmin4/issues/2767>`_ - Added ability to use SQL in the "DB Restriction" field.
| `Issue #7310 <https://github.com/pgadmin-org/pgadmin4/issues/7310>`_ - Add support for custom roles and role permissions management in pgAdmin.
| `Issue #8629 <https://github.com/pgadmin-org/pgadmin4/issues/8629>`_ - Added support for font ligatures.
Housekeeping
************
Bug fixes
*********
| `Issue #3688 <https://github.com/pgadmin-org/pgadmin4/issues/3688>`_ - Add Cache-Control no-cache,no-store,must-revalidate header to dynamically generated utils.js file.
| `Issue #5266 <https://github.com/pgadmin-org/pgadmin4/issues/5266>`_ - Fixed an issue where shift + click on rows/columns for range selection did not work in the query tool data output window.
| `Issue #8443 <https://github.com/pgadmin-org/pgadmin4/issues/8443>`_ - Fixed an issue where the debugger hangs when stepping into nested function/procedure.
| `Issue #8497 <https://github.com/pgadmin-org/pgadmin4/issues/8497>`_ - Fixed an issue where the scroll position in the Object Explorer was not retained when switching workspaces.
| `Issue #8556 <https://github.com/pgadmin-org/pgadmin4/issues/8556>`_ - Ensure that graph data is updated even when the Dashboard tab is inactive.
| `Issue #8572 <https://github.com/pgadmin-org/pgadmin4/issues/8572>`_ - Fixed an issue where Ctrl/Cmd+A in cell editor would select all rows.
| `Issue #8613 <https://github.com/pgadmin-org/pgadmin4/issues/8613>`_ - Fixed an issue where drag and drop function with no parameters does not work.
| `Issue #8627 <https://github.com/pgadmin-org/pgadmin4/issues/8627>`_ - Fixed an issue where changes to foreign key constraints were not detected in the schema diff.
| `Issue #8628 <https://github.com/pgadmin-org/pgadmin4/issues/8628>`_ - Change the shortcut for canceling a running query as it conflicts with the shortcut to open a new query tool.
| `Issue #8630 <https://github.com/pgadmin-org/pgadmin4/issues/8630>`_ - Fixed an issue where filtering on a view caused an error.
| `Issue #8632 <https://github.com/pgadmin-org/pgadmin4/issues/8632>`_ - Fixed an issue where the query tool went blank when converting history dates to the appropriate locale format.
| `Issue #8636 <https://github.com/pgadmin-org/pgadmin4/issues/8636>`_ - Ensure that the server list is alphabetically sorted in the Query Tool/PSQL workspace.
| `Issue #8651 <https://github.com/pgadmin-org/pgadmin4/issues/8651>`_ - Fixed an issue where the user management tab is not opening in the classic layout.
| `Issue #8652 <https://github.com/pgadmin-org/pgadmin4/issues/8652>`_ - Allow OAuth 2 login using the username claim if the email is absent from the user profile.
+44
View File
@@ -0,0 +1,44 @@
***********
Version 9.4
***********
Release date: 2025-05-29
This release contains a number of bug fixes and new features since the release of pgAdmin 4 v9.3.
Supported Database Servers
**************************
**PostgreSQL**: 13, 14, 15, 16 and 17
**EDB Advanced Server**: 13, 14, 15, 16 and 17
Bundled PostgreSQL Utilities
****************************
**psql**, **pg_dump**, **pg_dumpall**, **pg_restore**: 17.2
New features
************
| `Issue #3369 <https://github.com/pgadmin-org/pgadmin4/issues/3369>`_ - Enabled large file downloads for desktop users within the query tool.
| `Issue #8583 <https://github.com/pgadmin-org/pgadmin4/issues/8583>`_ - Add all missing options to the Import/Export Data functionality, and update the syntax of the COPY command to align with the latest standards.
| `Issue #8681 <https://github.com/pgadmin-org/pgadmin4/issues/8681>`_ - Add support for exporting table data based on a custom query.
Housekeeping
************
Bug fixes
*********
| `Issue #6510 <https://github.com/pgadmin-org/pgadmin4/issues/6510>`_ - Fixed an issue where the result grid slowed down when any column contained a large amount of data.
| `Issue #6564 <https://github.com/pgadmin-org/pgadmin4/issues/6564>`_ - Fix the issue where an error is displayed when a table is dropped while a query is running.
| `Issue #6968 <https://github.com/pgadmin-org/pgadmin4/issues/6968>`_ - Fixed an issue where the options key was not working as expected in the PSQL tool.
| `Issue #7926 <https://github.com/pgadmin-org/pgadmin4/issues/7926>`_ - Fixed an issue where correct error message not displayed when sql statement contains Arabic letters.
| `Issue #8595 <https://github.com/pgadmin-org/pgadmin4/issues/8595>`_ - Enhance contrast for selected and hovered items in the Object Explorer to improve visibility and accessibility.
| `Issue #8607 <https://github.com/pgadmin-org/pgadmin4/issues/8607>`_ - Fixed an issue where the query tool returns "cannot unpack non-iterable Response object" when running any query with a database name change.
| `Issue #8608 <https://github.com/pgadmin-org/pgadmin4/issues/8608>`_ - Handle result grid data changes in View/Edit Data mode by automatically reconnecting to the server if a disconnection occurs.
| `Issue #8668 <https://github.com/pgadmin-org/pgadmin4/issues/8668>`_ - Implement API fetch error display for select dropdown.
| `Issue #8711 <https://github.com/pgadmin-org/pgadmin4/issues/8711>`_ - Fixed an issue where light theme briefly appears when pgAdmin loads or tools open, even when a dark or system UI theme is preferred.
| `Issue #8713 <https://github.com/pgadmin-org/pgadmin4/issues/8713>`_ - Fixed issues related to column range selection using shift + click.
| `Issue #8760 <https://github.com/pgadmin-org/pgadmin4/issues/8760>`_ - Fixed an issue where pgAdmin failed to focus when previously unfocused and then quit.
+48
View File
@@ -0,0 +1,48 @@
***********
Version 9.5
***********
Release date: 2025-06-30
This release contains a number of bug fixes and new features since the release of pgAdmin 4 v9.4.
Supported Database Servers
**************************
**PostgreSQL**: 13, 14, 15, 16 and 17
**EDB Advanced Server**: 13, 14, 15, 16 and 17
Bundled PostgreSQL Utilities
****************************
**psql**, **pg_dump**, **pg_dumpall**, **pg_restore**: 17.2
New features
************
| `Issue #1926 <https://github.com/pgadmin-org/pgadmin4/issues/1926>`_ - Add a new permission to allow disabling "Change Password" feature for a pgAdmin role.
| `Issue #1947 <https://github.com/pgadmin-org/pgadmin4/issues/1947>`_ - Added role-based restrictions for editing server connections.
| `Issue #2659 <https://github.com/pgadmin-org/pgadmin4/issues/2659>`_ - Added support for customizing keyboard shortcuts in the Query Tool's Edit menu.
| `Issue #2864 <https://github.com/pgadmin-org/pgadmin4/issues/2864>`_ - Add a search box to enable searching within the preferences tab.
| `Issue #3319 <https://github.com/pgadmin-org/pgadmin4/issues/3319>`_ - Added support to preserve the workspace, query windows, and pgAdmin state during an abrupt shutdown or restart.
| `Issue #6743 <https://github.com/pgadmin-org/pgadmin4/issues/6743>`_ - Open preferences in a new tab instead of a dialog for better user experience.
| `Issue #8665 <https://github.com/pgadmin-org/pgadmin4/issues/8665>`_ - Supports JSON logging for gunicorn process within Docker.
Housekeeping
************
Bug fixes
*********
| `Issue #6118 <https://github.com/pgadmin-org/pgadmin4/issues/6118>`_ - Improved PL/pgSQL code folding and support nested blocks.
| `Issue #7173 <https://github.com/pgadmin-org/pgadmin4/issues/7173>`_ - Add a flag to allow access to system Python packages on recent Linux distributions.
| `Issue #7466 <https://github.com/pgadmin-org/pgadmin4/issues/7466>`_ - Fixed an issue where utilities such as pg_dump and pg_restore failed to log error messages when required dependency files were missing.
| `Issue #8032 <https://github.com/pgadmin-org/pgadmin4/issues/8032>`_ - Fixed an issue where the Schema Diff Tool incorrectly reported differences due to variations in the order of the privileges.
| `Issue #8235 <https://github.com/pgadmin-org/pgadmin4/issues/8235>`_ - Fixed an issue in SQL syntax highlighting where the same color was used for both variable names and datatypes.
| `Issue #8691 <https://github.com/pgadmin-org/pgadmin4/issues/8691>`_ - Fixed an issue in the query tool where using multiple cursors to copy text resulted in only the first line being copied.
| `Issue #8803 <https://github.com/pgadmin-org/pgadmin4/issues/8803>`_ - Ensure that Keyboard shortcuts for save and download actions should not called when their respective UI buttons are disabled.
| `Issue #8808 <https://github.com/pgadmin-org/pgadmin4/issues/8808>`_ - Fixed an issue where data export using a query opened the wrong dialog type.
| `Issue #8809 <https://github.com/pgadmin-org/pgadmin4/issues/8809>`_ - Fixed an issue where data export using a query failed when the query contained a newline character.
| `Issue #8830 <https://github.com/pgadmin-org/pgadmin4/issues/8830>`_ - Fixed a UI layout issue that occurred after upgrading from pgAdmin v9.2 when all tabs had been closed prior to the upgrade.
| `Issue #8834 <https://github.com/pgadmin-org/pgadmin4/issues/8834>`_ - Fixed an issue where the Columns node was not visible under Catalog Objects.
+41
View File
@@ -0,0 +1,41 @@
***********
Version 9.6
***********
Release date: 2025-07-25
This release contains a number of bug fixes and new features since the release of pgAdmin 4 v9.5.
Supported Database Servers
**************************
**PostgreSQL**: 13, 14, 15, 16 and 17
**EDB Advanced Server**: 13, 14, 15, 16 and 17
Bundled PostgreSQL Utilities
****************************
**psql**, **pg_dump**, **pg_dumpall**, **pg_restore**: 17.2
New features
************
| `Issue #1923 <https://github.com/pgadmin-org/pgadmin4/issues/1923>`_ - Ensure that keyboard shortcuts are displayed in tooltips, context menus, and the main menu.
| `Issue #5797 <https://github.com/pgadmin-org/pgadmin4/issues/5797>`_ - Implemented a server-side cursor to enhance performance when retrieving large datasets.
| `Issue #7979 <https://github.com/pgadmin-org/pgadmin4/issues/7979>`_ - Added support for setting a custom SESSION_DIGEST_METHOD in pgAdmin 4 to facilitate FIPS compliance.
| `Issue #8941 <https://github.com/pgadmin-org/pgadmin4/issues/8941>`_ - Enable the PKCE workflow for OAuth 2 authentication.
Housekeeping
************
| `Issue #8828 <https://github.com/pgadmin-org/pgadmin4/issues/8828>`_ - Ensure that pgAdmin 4 is compatible with PG/EPAS v18.
| `Issue #8958 <https://github.com/pgadmin-org/pgadmin4/issues/8958>`_ - Use 'Drop' instead of 'Delete' for object commands to make destructive actions more deliberate.
Bug fixes
*********
| `Issue #8420 <https://github.com/pgadmin-org/pgadmin4/issues/8420>`_ - Fixed an issue where windows installer is not signing tmp files generated by InnoSetup.
| `Issue #8675 <https://github.com/pgadmin-org/pgadmin4/issues/8675>`_ - Fixed an issue in the Search Objects tool where selecting a node occasionally selected an incorrect node.
| `Issue #8901 <https://github.com/pgadmin-org/pgadmin4/issues/8901>`_ - Improved the application state restoration by leveraging rc-dock layout and ensure the order and layout of tabs is maintained on restore.
| `Issue #8907 <https://github.com/pgadmin-org/pgadmin4/issues/8907>`_ - Fixed an issue where json editor in result grid was crashing if null value is set in the json editor.
| `Issue #8914 <https://github.com/pgadmin-org/pgadmin4/issues/8914>`_ - Update zstd library link to 1.5.7 in Dockerfile.
+51
View File
@@ -0,0 +1,51 @@
***********
Version 9.7
***********
Release date: 2025-08-21
This release contains a number of bug fixes and new features since the release of pgAdmin 4 v9.6.
Supported Database Servers
**************************
**PostgreSQL**: 13, 14, 15, 16 and 17
**EDB Advanced Server**: 13, 14, 15, 16 and 17
Bundled PostgreSQL Utilities
****************************
**psql**, **pg_dump**, **pg_dumpall**, **pg_restore**: 17.2
New features
************
| `Issue #5766 <https://github.com/pgadmin-org/pgadmin4/issues/5766>`_ - Add support for automatic updates in the pgAdmin 4 Desktop application on macOS.
| `Issue #6456 <https://github.com/pgadmin-org/pgadmin4/issues/6456>`_ - Added GENERIC_PLAN, MEMORY, SERIALIZE option to EXPLAIN/EXPLAIN ANALYZE command.
| `Issue #8712 <https://github.com/pgadmin-org/pgadmin4/issues/8712>`_ - Add support for changing cursor blink rate within the editors.
| `Issue #8917 <https://github.com/pgadmin-org/pgadmin4/issues/8917>`_ - Add support for server tag-based filtering in the Object Explorer.
| `Issue #8931 <https://github.com/pgadmin-org/pgadmin4/issues/8931>`_ - Added support for builtin locale provider while creating Collation.
Housekeeping
************
| `Issue #6384 <https://github.com/pgadmin-org/pgadmin4/issues/6384>`_ - Replace keyword PROCEDURE with FUNCTION while creating trigger and event trigger.
| `Issue #8861 <https://github.com/pgadmin-org/pgadmin4/issues/8861>`_ - Introduced an ‘Editor’ preferences category and migrated all editor related settings into it.
Bug fixes
*********
| `Issue #7057 <https://github.com/pgadmin-org/pgadmin4/issues/7057>`_ - Fixed an issue where custom column widths in the result grid of Query Tool or View/Edit Data were reset after re-executing a query.
| `Issue #7617 <https://github.com/pgadmin-org/pgadmin4/issues/7617>`_ - Fixed the issue where updating the name of a table column does not reflect in the corresponding primary key constraint.
| `Issue #8149 <https://github.com/pgadmin-org/pgadmin4/issues/8149>`_ - Fixed an issue where pgAdmin failed to update the server connection status when the server was disconnected in the background and a refresh was performed on that server.
| `Issue #8650 <https://github.com/pgadmin-org/pgadmin4/issues/8650>`_ - Make Dashboard tables to be vertically resizable.
| `Issue #8756 <https://github.com/pgadmin-org/pgadmin4/issues/8756>`_ - Fixed an issue in Firefox where the query window would shift to the left after opening the history tab or selecting a column header in the results grid.
| `Issue #8864 <https://github.com/pgadmin-org/pgadmin4/issues/8864>`_ - Fixed an issue where CPU usage was very high on Windows when opening the psql tool.
| `Issue #8867 <https://github.com/pgadmin-org/pgadmin4/issues/8867>`_ - Ensure DB restriction type is preserved while import and export server.
| `Issue #8969 <https://github.com/pgadmin-org/pgadmin4/issues/8969>`_ - Fixed incorrect behaviour of the option deduplicate items after creating the index.
| `Issue #8971 <https://github.com/pgadmin-org/pgadmin4/issues/8971>`_ - Added PKEY index in the index statistics summary.
| `Issue #9073 <https://github.com/pgadmin-org/pgadmin4/issues/9073>`_ - Fixed an issue where adding breakpoints caused errors, and stepping out of a nested function removed breakpoints from the parent function.
| `Issue #9007 <https://github.com/pgadmin-org/pgadmin4/issues/9007>`_ - Ensure the scratch pad in the Query Tool is not restored after it is closed.
| `Issue #9008 <https://github.com/pgadmin-org/pgadmin4/issues/9008>`_ - Update the documentation for parameters that require file paths.
| `Issue #9047 <https://github.com/pgadmin-org/pgadmin4/issues/9047>`_ - Fixed an issue where downloading images on the ERD tool was not working in desktop mode.
| `Issue #9067 <https://github.com/pgadmin-org/pgadmin4/issues/9067>`_ - Ensure that disabling "Save Application State" in Preferences prevents tool data from being saved and stops it from being restored on application restart.
+13 -5
View File
@@ -195,11 +195,19 @@ Click the *Advanced* tab to continue.
Use the fields in the *Advanced* tab to configure a connection:
* Use the *DB restriction* field to provide a SQL restriction that will be used
against the pg_database table to limit the databases that you see. For
example, you might enter: *live_db test_db* so that only live_db and test_db
are shown in the pgAdmin browser. Separate entries with a comma or tab as you
type.
* Specify the type of the database restriction that will be used to filter
out the databases for restriction in the *DB restriction type* field:
* Select the *Databases* option to specify the name of the databases
that will be used against the pg_database table to limit the databases
that you see. This is the default.
* Select the *SQL* option to provide a SQL restriction that will be used
against the pg_database table to limit the databases that you see.
* Use the *DB restriction* field to provide a SQL restriction OR Database names
that will be used against the pg_database table to limit the databases that you see.
For example, you might enter: *live_db test_db* so that only live_db and test_db
are shown in the pgAdmin object explorer.
* Use the *Password exec command* field to specify a shell command to be executed
to retrieve a password to be used for SQL authentication. The ``stdout`` of the
command will be used as the SQL password. This may be useful when the password
+23
View File
@@ -13,6 +13,8 @@ the selected object node.
:alt: pgAdmin Toolbar
:align: center
* Use the :ref:`Object filter <object-explorer-filter>` button to access
the Object Filter popup. It helps you filter objects in the Object Explorer tree.
* Use the :ref:`Query Tool <query_tool>` button to open the Query Tool in the
current database context.
* Use the :ref:`View Data <editgrid>` button to view/edit the data stored in a
@@ -23,3 +25,24 @@ the selected object node.
dialog. It helps you search any database object.
* Use the :ref:`PSQL Tool <psql_tool>` button to open the PSQL in the current
database context.
.. _object-explorer-filter:
*******************************
`Object Explorer Filter`:index:
*******************************
.. image:: /images/object_explorer_filter.png
:alt: Object Explorer Filter Dialog
:align: center
Use this tool to filter objects in the Object Explorer by
following fields:
* Use the *Tags* field to filter the servers with one or more server tags. The
servers with any of the selected tags will be displayed in the Object Explorer.
You can also create a new tag by typing in the field and pressing Enter.
Click the **Apply** button to apply the filter. Please note the object explorer will
refresh after applying the filter.
+3 -3
View File
@@ -49,11 +49,11 @@ following selections (options appear in alphabetical order):
+---------------------------+---------------------------------------------------------------------------------------------------------------------------+
| *Debugging* | Click through to open the :ref:`Debug <debugger>` tool or to select *Set breakpoint* to stop or pause a script execution. |
+---------------------------+---------------------------------------------------------------------------------------------------------------------------+
| *Delete* | Click to delete the currently selected object from the server. |
| *Drop* | Click to drop the currently selected object from the server. |
+---------------------------+---------------------------------------------------------------------------------------------------------------------------+
| *Delete (Cascade)* | Click to delete the currently selected object and all dependent objects from the server. |
| *Drop (Cascade)* | Click to drop the currently selected object and all dependent objects from the server. |
+---------------------------+---------------------------------------------------------------------------------------------------------------------------+
| *Delete (Force)* | Click to delete the currently selected database with force option. |
| *Drop (Force)* | Click to drop the currently selected database with force option. |
+---------------------------+---------------------------------------------------------------------------------------------------------------------------+
| *Disconnect Database...* | Click to terminate a database connection. |
+---------------------------+---------------------------------------------------------------------------------------------------------------------------+
+73 -15
View File
@@ -12,7 +12,7 @@ When you authenticate with pgAdmin, the server definitions associated with that
login role are made available in the tree control.
Users Tab
*******************
*********
An administrative user can use the *Users* tab to:
* manage pgAdmin users
@@ -21,7 +21,7 @@ An administrative user can use the *Users* tab to:
* deactivate user
* unlock a locked user
.. image:: images/user.png
.. image:: images/users.png
:alt: pgAdmin user management window
:align: center
@@ -78,6 +78,60 @@ users, but otherwise have the same capabilities as those with the *User* role.
* Click the *Help* button (?) to access online help.
Roles Tab
*********
An administrative user can use the *Roles* tab to:
* manage pgAdmin roles
* delete roles
.. image:: images/roles.png
:alt: pgAdmin roles management window
:align: center
Use the *Search* field to specify criteria and review a list of roles
that match the specified criteria. You can enter a value that matches
the following criteria types: *Role Name* or *Description*.
To add a role, click the Add (+) button at the top left corner. It will open a
dialog where you can fill in details for the new role.
.. image:: images/add_role.png
:alt: pgAdmin roles management window add new role
:align: center
Provide information about the new pgAdmin role in the row:
* Use the *Name* field to specify a unique name for the role.
* Use the *Description* field to provide a brief description of the role.
To delete a role, click the trash icon to the left of the row and confirm deletion
in the *Delete role?* dialog. If the role is associated with any users or resources,
you may need to reassign those associations before deletion.
Roles allow administrators to group privileges and assign them to users more efficiently.
This helps in managing permissions and access control within the pgAdmin client.
* Click the *Refresh* button to get the latest roles list.
* Click the *Help* button (?) to access online help.
Permissions Tab
***************
An administrative user can use the *Permissions* tab to manage pgAdmin permissions for
a role.
.. image:: images/permissions.png
:alt: pgAdmin permissions management window
:align: center
* Filter permissions using the *Search* field by entering names that match the list.
* Administrators can select permissions from the list of available permissions, and
choose to grant or revoke these permissions for specific roles.
* The permissions are applied to the selected role immediately.
Using 'setup.py' command line script
####################################
@@ -108,10 +162,11 @@ email and password. role and active will be optional fields.
/path/to/python /path/to/setup.py add-user user1@gmail.com password
# to specify a role, admin and non-admin users:
# to specify a role, either you can use --admin for Administrator role or provide the
# role using --role. If both are provided --admin will be used:
/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
/path/to/python /path/to/setup.py add-user user1@gmail.com password --role Users
# to specify user's status
@@ -132,10 +187,11 @@ followed by email, password and authentication source. email, role and status wi
/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:
# to specify a role, either you can use --admin for Administrator role or provide the
# role using --role. If both are provided --admin will be used:
/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
/path/to/python /path/to/setup.py add-external-user ldapuser ldap --role Users
# to specify user's status
@@ -152,10 +208,11 @@ email address. password, role and active are updatable fields.
/path/to/python /path/to/setup.py update-user user1@gmail.com --password new-password
# to specify a role, admin and non-admin user:
# to specify a role, either you can use --admin for Administrator role or provide the
# role using --role. If both are provided --admin will be used:
/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
/path/to/python /path/to/setup.py update-user user1@gmail.com password --admin
/path/to/python /path/to/setup.py update-user user1@gmail.com password --role Users
# to specify user's status
@@ -172,17 +229,18 @@ followed by username and auth source. email, password, role and active are updat
# to change email address:
/path/to/python /path/to/setup.py update-external-user ldap ldapuser --email newemail@gmail.com
/path/to/python /path/to/setup.py update-external-user ldapuser --auth-source ldap --email newemail@gmail.com
# to specify a role, admin and non-admin user:
# to specify a role, either you can use --admin for Administrator role or provide the
# role using --role. If both are provided --admin will be used:
/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
/path/to/python /path/to/setup.py update-external-user user1@gmail.com password --role --admin
/path/to/python /path/to/setup.py update-external-user user1@gmail.com password --role --role Users
# 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
/path/to/python /path/to/setup.py update-user ldapuser --auth-source ldap --active
/path/to/python /path/to/setup.py update-user ldapuser --auth-source ldap --inactive
Delete User
***********
+2 -2
View File
@@ -5,8 +5,8 @@ Debian and Ubuntu.
## Supported platforms
* Debian 9, 10 & 11 (testing)
* Ubuntu 18.04, 20.04, 20.10
* Debian 11 & 12
* Ubuntu 22.04, 24.04 & 24.10
## Build configuration
+44 -1
View File
@@ -1,2 +1,45 @@
import gunicorn
gunicorn.SERVER_SOFTWARE = 'Python'
# Can be resolved because of how Dockerfile organizes the code during build
from config import JSON_LOGGER, CONSOLE_LOG_LEVEL, CONSOLE_LOG_FORMAT_JSON
gunicorn.SERVER_SOFTWARE = "Python"
if JSON_LOGGER:
logconfig_dict = {
"version": 1,
"disable_existing_loggers": False,
"root": {"level": CONSOLE_LOG_LEVEL, "handlers": []},
"loggers": {
"gunicorn.error": {
"level": CONSOLE_LOG_LEVEL,
"handlers": ["error_console"],
"propagate": True,
"qualname": "gunicorn.error",
},
"gunicorn.access": {
"level": CONSOLE_LOG_LEVEL,
"handlers": ["console"],
"propagate": True,
"qualname": "gunicorn.access",
},
},
"handlers": {
"console": {
"class": "logging.StreamHandler",
"formatter": "json",
"stream": "ext://sys.stdout",
},
"error_console": {
"class": "logging.StreamHandler",
"formatter": "json",
"stream": "ext://sys.stderr",
},
},
"formatters": {
"json": {
"class": "jsonformatter.JsonFormatter",
"format": CONSOLE_LOG_FORMAT_JSON,
},
},
}
+6 -7
View File
@@ -63,17 +63,16 @@ _create_python_virtualenv() {
cd "usr/${APP_NAME}" || exit
# Create the blank venv
"${SYSTEM_PYTHON_PATH}" -m venv venv
"${SYSTEM_PYTHON_PATH}" -m venv --system-site-packages venv
# shellcheck disable=SC1091
. venv/bin/activate
# 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
pip3 install --no-cache-dir --no-binary psycopg -r "${SOURCEDIR}/requirements.txt"
pip3 install --force-reinstall --no-cache-dir --no-binary psycopg -r "${SOURCEDIR}/requirements.txt"
# Fixup the paths in the venv activation scripts
sed -i 's/VIRTUAL_ENV=.*/VIRTUAL_ENV="\/usr\/pgadmin4\/venv"/g' venv/bin/activate
@@ -141,6 +140,8 @@ _build_runtime() {
fi
ELECTRON_VERSION="$(npm info electron version)"
# Can't use the latest as it is not compatible with few OS versions.
ELECTRON_VERSION="35.4.0"
pushd "${BUILDROOT}" > /dev/null || exit
while true;do
@@ -176,8 +177,7 @@ _build_runtime() {
# Install the runtime node_modules
pushd "${BUNDLEDIR}/resources/app" > /dev/null || exit
yarn set version berry
yarn set version 3
yarn plugin import workspace-tools
yarn set version 4
yarn workspaces focus --production
# remove the yarn cache
@@ -224,7 +224,7 @@ _copy_code() {
pushd "${SOURCEDIR}/web" > /dev/null || exit
yarn set version berry
yarn set version 3
yarn set version 4
yarn install
yarn run bundle
popd > /dev/null || exit
@@ -241,7 +241,6 @@ _copy_code() {
# License files
cp "${SOURCEDIR}/LICENSE" "${SERVERROOT}/usr/${APP_NAME}/"
cp "${SOURCEDIR}/DEPENDENCIES" "${SERVERROOT}/usr/${APP_NAME}/"
# Web setup script
mkdir -p "${WEBROOT}/usr/${APP_NAME}/bin/"
+6 -2
View File
@@ -31,11 +31,15 @@ Either build the sources or get them from macports or similar:
*notarization.conf* and set the values accordingly. Note that notarization
will fail if the code isn't signed.
4. To build, go to pgAdmin4 source root directory and execute:
4. To build only DMG file, go to pgAdmin4 source root directory and execute:
make appbundle
To build both DMG and ZIP files, go to pgAdmin4 source root directory and execute:
make appbundle BUILD_OPTS="--zip"
This will create the python virtual environment and install all the required
python modules mentioned in the requirements file using pip, build the
runtime code and finally create the app bundle and the DMG in *./dist*
runtime code and finally create the app bundle and the DMG and/or ZIP in *./dist*
directory.
+58 -19
View File
@@ -34,6 +34,7 @@ _build_runtime() {
fi
ELECTRON_VERSION="$(npm info electron version)"
ELECTRON_VERSION="35.4.0"
pushd "${BUILD_ROOT}" > /dev/null || exit
while true;do
@@ -58,8 +59,7 @@ _build_runtime() {
# Install the runtime node_modules, then replace the package.json
pushd "${BUNDLE_DIR}/Contents/Resources/app/" > /dev/null || exit
yarn set version berry
yarn set version 3
yarn plugin import workspace-tools
yarn set version 4
yarn workspaces focus --production
# remove the yarn cache
@@ -288,7 +288,7 @@ _complete_bundle() {
# Build node modules
pushd "${SOURCE_DIR}/web" > /dev/null || exit
yarn set version berry
yarn set version 3
yarn set version 4
yarn install
yarn run bundle
@@ -316,7 +316,6 @@ _complete_bundle() {
# License files
cp -r "${SOURCE_DIR}/LICENSE" "${BUNDLE_DIR}/Contents/"
cp -r "${SOURCE_DIR}/DEPENDENCIES" "${BUNDLE_DIR}/Contents/"
# Remove the .pyc files if any
find "${BUNDLE_DIR}" -name "*.pyc" -print0 | xargs -0 rm -f
@@ -386,6 +385,24 @@ _codesign_bundle() {
-i org.pgadmin.pgadmin4 \
--sign "${DEVELOPER_ID}" \
"${BUNDLE_DIR}"
echo "Verifying the signature from bundle dir..."
codesign --verify --deep --verbose=4 "${BUNDLE_DIR}"
}
_create_zip() {
ZIP_NAME="${DMG_NAME%.dmg}.zip"
echo "ZIP_NAME: ${ZIP_NAME}"
echo "Compressing pgAdmin 4.app in bundle dir into ${ZIP_NAME}..."
ditto -c -k --sequesterRsrc --keepParent "${BUNDLE_DIR}" "${ZIP_NAME}"
if [ $? -ne 0 ]; then
echo "Failed to create the ZIP file. Exiting."
exit 1
fi
echo "Successfully created ZIP file: ${ZIP_NAME}"
}
_create_dmg() {
@@ -427,17 +444,22 @@ _codesign_dmg() {
"${DMG_NAME}"
}
_notarize_pkg() {
local FILE_NAME="$1"
local STAPLE_TARGET="$2"
local FILE_LABEL="$3"
if [ "${CODESIGN}" -eq 0 ]; then
return
fi
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)
echo "Uploading ${FILE_LABEL} for Notarization ..."
STATUS=$(xcrun notarytool submit "${FILE_NAME}" \
--team-id "${DEVELOPER_TEAM_ID}" \
--apple-id "${DEVELOPER_USER}" \
--password "${DEVELOPER_ASP}" 2>&1)
echo "${STATUS}"
# Get the submission ID
SUBMISSION_ID=$(echo "${STATUS}" | awk -F ': ' '/id:/ { print $2; exit; }')
@@ -445,16 +467,16 @@ _notarize_pkg() {
echo "Waiting for Notarization to be completed ..."
xcrun notarytool wait "${SUBMISSION_ID}" \
--team-id "${DEVELOPER_TEAM_ID}" \
--apple-id "${DEVELOPER_USER}" \
--password "${DEVELOPER_ASP}"
--team-id "${DEVELOPER_TEAM_ID}" \
--apple-id "${DEVELOPER_USER}" \
--password "${DEVELOPER_ASP}"
# 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; }')
--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."
@@ -462,11 +484,28 @@ _notarize_pkg() {
fi
# Staple the notarization
echo "Stapling the notarization to the pgAdmin DMG..."
if ! xcrun stapler staple "${DMG_NAME}"; then
echo "Stapling the notarization to the ${FILE_LABEL}..."
if ! xcrun stapler staple "${STAPLE_TARGET}"; then
echo "Stapling failed."
exit 1
fi
# For ZIP, recreate the zip after stapling
if [[ "${FILE_LABEL}" == "ZIP" ]]; then
ditto -c -k --keepParent "${BUNDLE_DIR}" "${ZIP_NAME}"
if [ $? != 0 ]; then
echo "ERROR: could not staple ${ZIP_NAME}"
exit 1
fi
fi
echo "Notarization completed successfully."
}
_notarize_zip() {
_notarize_pkg "${ZIP_NAME}" "${BUNDLE_DIR}" "ZIP"
}
_notarize_dmg() {
_notarize_pkg "${DMG_NAME}" "${DMG_NAME}" "DMG"
}
Loaded 100 of 570 files, more files were not shown because too many files have changed in this diff. Show more