Compare commits

...
83 Commits
Author SHA1 Message Date
Khushboo Vashi b02e210c68 Python v3.8 does not support parenthesized context expressions. 2025-02-06 14:42:29 +05:30
Aditya Toshniwal e6d2334753 Pin Electron version to 33.3.2 as the versions above it fails to start on RHEL 8/Rocky 8 2025-02-05 19:10:39 +05:30
Akshay Joshi 9f4ce1e7d1 Use HKA registry key instead of HKLM/HKEY_LOCAL_MACHINE in Windows installer.iss.in file. 2025-02-05 15:47:59 +05:30
Akshay Joshi efd0dd2ac0 1) Fixed an issue where selecting all rows and copying using shortcut only, the first attempt fails to copy.
2) Fixed an issue where a single row is copied first and then clicked on "Select All", the previously copied row's highlight color changes.
3) Fixed an issue where non-shared servers are visible in the Existing Servers list on the Welcome page and New Connection dialog.
2025-02-05 10:26:51 +05:30
Akshay Joshi b90a390d5c 1) Run the uninstaller first only if the v8 version is already installed.
2) Delete the MyAppVersion key from the Windows registry during the installation or upgrade.
3) Remove the logic that checks if a 32-bit or 64-bit version of the installer is already installed.
2025-02-05 10:17:46 +05:30
Akshay Joshi 2f495006ea 1) Fixed an issue where the server shows disconnected on the Welcome page, even after the password was provided.
2) Updated the release notes and version information.
2025-02-03 14:26:57 +05:30
Pravesh Sharma dd09986f71 Fixed an issue where quotes were missing in the CREATE script for the tablespace. #8408 2025-02-03 11:50:50 +05:30
Libor M. 41873de29e Czech translation for version 9.0 2025-02-03 10:31:31 +05:30
Akshay Joshi 92c9e59c1f 1) Update version for v9.0
2) Update message catalogs for v9.0
2025-01-30 18:16:05 +05:30
Akshay Joshi d5101b7568 1) Disable PSQL Workspace in Server mode.
2) Fixed an issue where empty binary path throwing an error instead of proper error message.
2025-01-30 17:59:18 +05:30
Anil Sahoo e7888c5265 Fixed an issue where the server without a saved password did not persist the user's latest filter dialog input after disconnection. #6044 2025-01-30 11:10:25 +05:30
Yogesh Mahajan ebeb768a53 Ensure the double-click event is listened to even if the user clicks after the label. 2025-01-30 10:26:11 +05:30
Akshay Joshi 228156d0b6 1) Fixed an issue where the ad-hoc server with SSH Tunnel repeatedly prompted for the password.
2) Fixed an issue where the SSH Tunnel password was not being saved in the External Database if its encoded length exceeded 64 characters.
3) 'Save Password' check box should be hidden for SSH Tunnel password on the Welcome page.
2025-01-29 19:43:23 +05:30
Akshay Joshi 1607875a08 Fixed issues for Workspaces:
1) Unable to add ad-hoc server with External Database.
2) Server list not updating when password is saved on the Welcome page.
3) Icons for Query Tool and PSQL missing on the Welcome page.
4) Error when removing connection parameters.
2025-01-29 17:14:25 +05:30
Akshay Joshi 707d0372ba Update JavaScript Dependencies. 2025-01-29 11:53:58 +05:30
Akshay Joshi 1317e5a921 Change the logic of setval function, so that the next nextval of sequence will return exactly the specified value. #3273 2025-01-28 17:52:21 +05:30
Kristof Hauser 1e00611792 Add support for OAuth2 profile array response, which also takes care of the GitHub Private Email ID issue. #8391 2025-01-28 16:53:56 +05:30
Akshay Joshi 22b7ae6cdc 1) Fixed an issue where loadingText message is not shown in SchemaView.
2) Fixed SonarQube Bugs and Code Smells.
2025-01-24 13:58:21 +05:30
Akshay Joshi 684818def1 Ensure that the Server List on the Welcome page is refreshed only when there are changes in the Object Explorer. 2025-01-23 14:51:39 +05:30
Yogesh Mahajan 5ee0328063 Fix an error during logout from pgAdmin when using OAuth2 authentication with the query tool open. 2025-01-22 21:05:06 +05:30
Akshay Joshi ab98e5f6bb Update Python and Javascript dependecies. 2025-01-22 19:49:35 +05:30
Akshay Joshi 84a8a522e3 1) Fixed an issue where Default Privileges and Privileges not working correctly. #8369
2) Fixed <br/> tag visible issue.
2025-01-22 19:40:13 +05:30
Anil Sahoo 133a59c71b Fixed an issue where filter dialog save fails when the PostgreSQL server/database connection is lost. #6044 2025-01-22 10:06:56 +05:30
Aditya Toshniwal 168aaa227a Update the server list on welcome page when workspace is changed to get the latest server connection info. #7708 2025-01-20 18:45:51 +05:30
Suall1969 74e776ba21 Psycopg binary packages are now available for macOS version < 14.0. 2025-01-20 17:27:08 +05:30
Khushboo Vashi 90eff9a596 Pass an empty string for the table cell tooltip if the cell value is an object. 2025-01-20 16:53:01 +05:30
Akshay Joshi cd86ce08cf Fixed an issue where pgadmin cannot install into path with non ASCII characters. #5204 2025-01-20 16:04:07 +05:30
Akshay Joshi 7e20bf5b75 Remove function call IsPathValid to test non-ascii characters in the path for Windows installer. 2025-01-20 12:25:16 +05:30
Yogesh Mahajan 98f6b1ff12 Ensure the double-click event is not ignored in the browser tree. 2025-01-20 11:21:21 +05:30
Akshay Joshi a410b15e30 Fixed an issue where <br/> tag is visible in the error message when delete any database and it is in use. 2025-01-17 17:16:36 +05:30
Khushboo Vashi 72a3ed9068 Do not display the tooltip if the table cell value is an object. 2025-01-17 15:32:11 +05:30
Rohit Bhati 1be0ff13db Update prop on confirmDelete to fix TypeError. #6513 2025-01-17 14:53:51 +05:30
Aditya Toshniwal 1216f075ce Fixed an issue where PSQL tool is not opening if database name have HTML characters in the name. #8365 2025-01-17 14:53:24 +05:30
Akshay Joshi 99e1f005fc Update Python version to 3.13 2025-01-15 13:44:34 +05:30
Akshay Joshi bf69b16f1f 1) Added the MAINTAIN privilege for PostgreSQL version 17 and above. #8332
2) Updated JavaScript Dependecies.
2025-01-14 14:18:07 +05:30
Khushboo Vashi 36df6d5c8a Fix an issue where using the binary cursor, utf-8 decode error comes up. #8199 2025-01-13 12:23:50 +05:30
Aditya Toshniwal a9974b418c Fixed an issue where cell background color is removed when copied in query tool data output grid. #8273 2025-01-09 15:37:20 +05:30
Rohit Bhati de6fbe7725 Fixed a button focus issue found while testing the dialog button changes. #6513 2025-01-08 17:22:11 +05:30
Khushboo Vashi 172edaa227 Fix an issue where wrong information is shown after using the filter on the Dashboard> State tab. #8320 2025-01-08 12:43:50 +05:30
Akshay Joshi bac50e10f0 1) Fixed an issue where User Language is not getting changed.
2) Fixed an issue where Import/Export Server menu is disabled.
3) Update few JavaScript dependencies.
2025-01-07 13:55:02 +05:30
Yogesh Mahajan b9c7e7e9af Remove the option "With no data (concurrently)" from Refresh MATERIALIZED VIEW context menu. #8309 2025-01-07 12:22:07 +05:30
Akshay Joshi 8c461ffb86 Reverted changes for formatted exception message. #8165 2025-01-06 17:46:34 +05:30
Akshay Joshi 1934a75eee Updated Javascript packages. 2025-01-06 12:23:10 +05:30
Akshay Joshi 90cdeeff0a Modified logic for formatted exception message. #8165 2025-01-03 20:56:47 +05:30
Yogesh Mahajan 6d45dd4491 Ensure master password pop up is not shown on setting MASTER_PASSWORD_REQUIRED to false. #8299 2025-01-03 20:50:32 +05:30
Rohit Bhati b22bfdf74b Only the python version should be shown in the about dialog. #8249 2025-01-03 20:49:56 +05:30
Aditya Toshniwal 6dab60d9e4 Fixed an issue where copying query tool output cell is not working if any SQL text is selected. #8273
Rebase react-data-grid fork to latest.
2025-01-03 14:03:33 +05:30
Anil Sahoo 657bf08fb8 Fixed an issue where keys like Backspace, Enter, and Input keys were shown as text in the PSQL tool. #6968 2025-01-03 12:22:24 +05:30
Akshay Joshi ff1d9e20d1 Fixed an issue where error message from the database server need space between two sentences. #8165 2025-01-02 18:14:51 +05:30
Yogesh Mahajan d03553be7a Fix the error occurring while loading preferences on startup. #8256 2025-01-02 18:12:24 +05:30
Yogesh Mahajan 5dc52446f3 Fixed the issues reported while testing #8208 2025-01-02 15:47:25 +05:30
Akshay Joshi eb517e6df8 Fixed following issues for Workspace:
1. On the welcome page, the Password should be cleared when the user/db is changed.
2. Added a spinner when we tried to connect to the existing remote server.
3. Details should be cleared when we select the existing server but cancel when it asks for the password.
4) Return from the chageWorkspace function if clicking on the same workspace button multiple times.
2025-01-02 13:24:13 +05:30
Akshay Joshi 621d66fb57 Add correct validation for Authlib. 2025-01-01 11:58:10 +05:30
Akshay Joshi 964d211260 Copyright updated for 2025 2025-01-01 11:26:42 +05:30
Aditya Toshniwal c83d997f2f Make depedabot use Python v3.8.
Update release notes.
2025-01-01 10:42:49 +05:30
Rohit Bhati 7a9a45b065 Fixed an issue where tooltip on a dropdown button is blocking access to dropdown menu. #8255 2025-01-01 10:31:48 +05:30
Rohit Bhati 700ecaef4a Show the python version used for the pgAdmin server in the about dialog. #8249 2025-01-01 10:28:58 +05:30
Anil Sahoo 19c8fcd775 Fixed jest test cases failing due to an update of react-resize-detector package. 2024-12-30 17:22:07 +05:30
Rohit Bhati bcd6f3f429 Fix a formatting issue in View/Edit tool generated SQL where some filters are applied. #8254 2024-12-30 11:56:24 +05:30
dependabot[bot] 92e531db02 Javascript dependency: Bump react-resize-detector in /web 2024-12-24 11:35:26 +05:30
dependabot[bot] f81c546069 Javascript dependency: Bump @mui/icons-material in /web 2024-12-24 11:34:49 +05:30
dependabot[bot] 68f41dd5c6 Javascript dependency: Bump @tanstack/react-query in /web 2024-12-24 11:33:40 +05:30
dependabot[bot] 1be9dd4033 Python dependency: Update authlib requirement from ==1.3.* to ==1.4.* 2024-12-24 11:32:57 +05:30
dependabot[bot] 0c6776b713 Python dependency: Update flask-socketio requirement. 2024-12-24 11:32:36 +05:30
Akshay Joshi 9cd8492ec1 Fixed an issue where Schema Diff not produce difference script for Index definition with where condition. #8072 2024-12-19 16:40:18 +05:30
Akshay Joshi 6df5d14a60 Fixed an issue where properties dialog throwing an error for Materialized View. #8209 2024-12-19 15:55:23 +05:30
Anil Sahoo 91881ad6d3 Fixed an issue where option key was not registering in PSQL tool. #6968 2024-12-19 15:40:23 +05:30
Akshay Joshi e011ad02a5 Remove console log 2024-12-18 18:43:04 +05:30
Akshay Joshi fdf5d12196 1) Fixed schema diff workspace button is disabled for the first tab.
2) Adhoc servers should connect with service file and open the Query/PSQL tool.
2024-12-18 18:19:13 +05:30
Rohit Bhati 8af25ba0c1 Change button labels and color in delete confirmation dialog for all objects to improve UX. #6513 2024-12-18 17:25:36 +05:30
Akshay Joshi 2ba4f79a46 Package 'rc-resize-observer' throwing error on Windows so pin the version. 2024-12-18 12:46:18 +05:30
Akshay Joshi 185e0f61e2 Close the connection and delete adhoc server if all it's Query tool and PSQL connections are closed. 2024-12-17 17:57:25 +05:30
Aditya Toshniwal e84f4cd35b Fix an issue where view/edit tool is not opening in workspace layout.
Fixed few other theme related issues.
2024-12-17 17:03:37 +05:30
Yogesh Mahajan eef20dc5a9 Correct the documentation for the MFA configuration. #8142 2024-12-17 11:50:25 +05:30
Akshay Joshi 0b65dcd4ef Updated Javascript dependencies. 2024-12-17 11:36:18 +05:30
Akshay Joshi ba58b140d4 Updated version of liblz4 in Docker file. 2024-12-16 14:58:47 +05:30
Yogesh Mahajan a0cd6c6a88 Allow deleting the entry while creating/adding new label to enumeration type. #8208 2024-12-16 14:54:24 +05:30
Grégoire Bellon-Gervais 776e092a89 Fix in case of the file does not exist (#8258) 2024-12-16 14:53:18 +05:30
Akshay Joshi fe6e21a08b Enhanced pgAdmin 4 with support for Workspace layouts. #7708 2024-12-16 14:52:56 +05:30
Akshay Joshi 4e2fd404c0 pgagent extension should be created only EPAS < 17. 2024-12-12 16:49:11 +05:30
Akshay Joshi ae9d324f8f Updated Python & Javascript dependencies. 2024-12-12 14:54:31 +05:30
Akshay Joshi 6f8fb6f49d pgAgent for EPAS is no more supported from v17, so changing the github actions accordingly. 2024-12-11 18:56:24 +05:30
Akshay Joshi 52d6017ce5 Removed PG/EPAS 12 and Added PG/EPAS 17 for github actions. 2024-12-11 12:31:53 +05:30
1751 changed files with 33584 additions and 24299 deletions

No files matched your search

+10 -3
View File
@@ -21,7 +21,7 @@ jobs:
strategy:
fail-fast: false
matrix:
pgver: [12, 13, 14, 15, 16]
pgver: [13, 14, 15, 16, 17]
runs-on: ubuntu-22.04
@@ -35,7 +35,12 @@ jobs:
- name: Install platform dependencies
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 edb-as${{ matrix.pgver }}-pgagent
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
- name: Install pgagent on Linux
if: ${{ matrix.os == 'ubuntu-22.04' && matrix.pgver <= 16 }}
run: |
sudo apt install -y edb-as${{ matrix.pgver }}-pgagent
- name: Create the tablespace directory
run: |
@@ -56,7 +61,9 @@ jobs:
sleep 2
done
psql -U enterprisedb -d postgres -p 58${{ matrix.pgver }} -c 'CREATE EXTENSION IF NOT EXISTS pgagent;'
- 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: Install Python dependencies
run: make install-python-testing
+1 -1
View File
@@ -20,7 +20,7 @@ jobs:
strategy:
fail-fast: false
matrix:
pgver: [12, 13, 14, 15, 16]
pgver: [13, 14, 15, 16, 17]
runs-on: ubuntu-22.04
+12 -5
View File
@@ -32,7 +32,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-22.04, windows-latest]
pgver: [12, 13, 14, 15, 16]
pgver: [13, 14, 15, 16, 17]
runs-on: ${{ matrix.os }}
@@ -48,7 +48,12 @@ 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 edb-as${{ matrix.pgver }}-pgagent
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
- name: Install pgagent on Linux
if: ${{ matrix.os == 'ubuntu-22.04' && matrix.pgver <= 16 }}
run: |
sudo apt install -y edb-as${{ matrix.pgver }}-pgagent
- name: Install platform dependencies on Windows
if: ${{ matrix.os == 'windows-latest' }}
@@ -77,7 +82,7 @@ jobs:
shell: cmd
- name: Add edb_job_scheduler into config file.
if: ${{ matrix.os == 'ubuntu-22.04' && matrix.pgver == 16 }}
if: ${{ matrix.os == 'ubuntu-22.04' && matrix.pgver >= 16 }}
run: |
sudo sed -i "s/shared_preload_libraries = '/shared_preload_libraries = '\$libdir\/edb_job_scheduler,/g" /etc/edb-as/${{ matrix.pgver }}/main/postgresql.conf
sudo su -c "echo \"edb_job_scheduler.database_list = 'test_dbms_job_scheduler'\" >> /etc/edb-as/${{ matrix.pgver }}/main/postgresql.conf"
@@ -96,8 +101,10 @@ jobs:
>&2 echo "EPAS is unavailable - sleeping for 2 seconds"
sleep 2
done
psql -U enterprisedb -d postgres -p 58${{ matrix.pgver }} -c 'CREATE EXTENSION IF NOT EXISTS pgagent;'
- 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: Install Python dependencies on Linux
if: ${{ matrix.os == 'ubuntu-22.04' }}
+1 -1
View File
@@ -21,7 +21,7 @@ jobs:
fail-fast: false
matrix:
os: [macos-latest, ubuntu-22.04, windows-latest]
pgver: [12, 13, 14, 15, 16]
pgver: [13, 14, 15, 16, 17]
runs-on: ${{ matrix.os }}
+1
View File
@@ -0,0 +1 @@
3.8.0
+3 -3
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
#########################################################################
@@ -173,12 +173,12 @@ COPY --from=env-builder /venv /venv
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/liblz4.so.1.9.4 /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 liblz4.so.1.9.4 /usr/lib/liblz4.so.1
ln -s liblz4.so.1.10.0 /usr/lib/liblz4.so.1
WORKDIR /pgadmin4
ENV PYTHONPATH=/pgadmin4
+1 -1
View File
@@ -4,7 +4,7 @@ pgAdmin 4
This software is released under the PostgreSQL licence.
-------------------------------------------------------------------------------
Copyright (C) 2013 - 2024, The pgAdmin Development Team
Copyright (C) 2013 - 2025, The pgAdmin Development Team
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose, without fee, and without a written agreement is
+2 -1
View File
@@ -52,7 +52,7 @@ REM Main build sequence Ends
:SET_ENVIRONMENT
ECHO Configuring the environment...
IF "%PGADMIN_PYTHON_DIR%" == "" SET "PGADMIN_PYTHON_DIR=C:\Python312"
IF "%PGADMIN_PYTHON_DIR%" == "" SET "PGADMIN_PYTHON_DIR=C:\Python313"
IF "%PGADMIN_KRB5_DIR%" == "" SET "PGADMIN_KRB5_DIR=C:\Program Files\MIT\Kerberos"
IF "%PGADMIN_POSTGRES_DIR%" == "" SET "PGADMIN_POSTGRES_DIR=C:\Program Files\PostgreSQL\17"
IF "%PGADMIN_INNOTOOL_DIR%" == "" SET "PGADMIN_INNOTOOL_DIR=C:\Program Files (x86)\Inno Setup 6"
@@ -284,6 +284,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="33.3.2"
: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
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
#########################################################################
+1 -1
View File
@@ -16,7 +16,7 @@ review process for any changes submitted for inclusion in pgAdmin.
bulk updates every year). The start date should always be 2013, and the end year
the current year, e.g.
Copyright (C) 2013 - 2024, The pgAdmin Development Team
Copyright (C) 2013 - 2025, The pgAdmin Development Team
* Ensure there's a blank line immediately following any copyright headers.
+1 -1
View File
@@ -120,7 +120,7 @@ with the required file header is shown below::
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+2 -2
View File
@@ -53,11 +53,11 @@ The default binary paths set in the container are as follows:
.. code-block:: bash
DEFAULT_BINARY_PATHS = {
'pg-17': '/usr/local/pgsql-17',
'pg-16': '/usr/local/pgsql-16',
'pg-15': '/usr/local/pgsql-15',
'pg-14': '/usr/local/pgsql-14',
'pg-13': '/usr/local/pgsql-13',
'pg-12': '/usr/local/pgsql-12'
'pg-13': '/usr/local/pgsql-13'
}
this may be changed in the :ref:`preferences`.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 KiB

After

Width:  |  Height:  |  Size: 155 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 245 KiB

After

Width:  |  Height:  |  Size: 238 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 348 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 107 KiB

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 98 KiB

+3 -3
View File
@@ -1,6 +1,6 @@
****************************
`Keyboard Shortcuts`:index::
****************************
***************************
`Keyboard Shortcuts`:index:
***************************
Keyboard shortcuts are provided in pgAdmin to allow easy access to specific
functions. Alternate shortcuts can be configured through File > Preferences if
+1 -1
View File
@@ -13,7 +13,7 @@ documentation is attributed to the
.. topic:: pgAdmin 4
Copyright (C) 2013 - 2024, The pgAdmin Development Team
Copyright (C) 2013 - 2025, The pgAdmin Development Team
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose, without fee, and without a written agreement is
+1 -1
View File
@@ -27,7 +27,7 @@ modify the values for the following parameters.
"MFA_ENABLED","The default value for this parameter is True.
To disable 2FA, set the value to *False*"
"SUPPORTED_MFA_LIST", "Set the authentication methods to be supported "
"MFA_SUPPORTED_METHODS", "Set the authentication methods to be supported e.g. email, authenticator"
"MFA_EMAIL_SUBJECT", "<APP_NAME> - Verification Code e.g. pgAdmin 4 -
Verification Code"
"MFA_FORCE_REGISTRATION", "Force the user to configure the authentication
+2 -2
View File
@@ -34,12 +34,12 @@ and modify the values for the following parameters:
"OAUTH2_AUTHORIZATION_URL", "Endpoint for user authorization"
"OAUTH2_SERVER_METADATA_URL", "Server metadata url for your OAuth2 provider"
"OAUTH2_API_BASE_URL", "Oauth2 base URL endpoint to make requests simple, ex: *https://api.github.com/*"
"OAUTH2_USERINFO_ENDPOINT", "User Endpoint, ex: *user* (for github) and *userinfo* (for google)"
"OAUTH2_USERINFO_ENDPOINT", "User Endpoint, ex: *user* (for github, or *user/emails* if the user's email address is private) and *userinfo* (for google),"
"OAUTH2_SCOPE", "Oauth scope, ex: 'openid email profile'. Note that an 'email' claim is required in the resulting profile."
"OAUTH2_ICON", "The Font-awesome icon to be placed on the oauth2 button, ex: fa-github"
"OAUTH2_BUTTON_COLOR", "Oauth2 button color"
"OAUTH2_USERNAME_CLAIM", "The claim which is used for the username. If the value is empty
the email is used as username, but if a value is provided, the claim has to exist. Ex: *oid* (for AzureAD)"
the email is used as username, but if a value is provided, the claim has to exist. Ex: *oid* (for AzureAD), *email* (for Github)"
"OAUTH2_AUTO_CREATE_USER", "Set the value to *True* if you want to automatically
create a pgAdmin user corresponding to a successfully authenticated Oauth2 user.
Please note that password is not stored in the pgAdmin database."
+17 -8
View File
@@ -6,7 +6,14 @@
***************************
Use options on the *Preferences* dialog to customize the behavior of the client.
To open the *Preferences* dialog, select *Preferences* from the *File* menu.
To open the *Preferences* dialog, 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
:align: center
The left pane of the *Preferences* dialog 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.
@@ -266,21 +273,23 @@ The Miscellaneous Node
Expand the *Miscellaneous* node to specify miscellaneous display preferences.
.. image:: images/preferences_misc_user_language.png
:alt: Preferences dialog user language section
.. image:: images/preferences_misc_user_interface.png
:alt: Preferences dialog user interface section
:align: center
* Use the *User language* drop-down listbox to select the display language for
* Use the *Language* drop-down listbox to select the display language for
the client.
.. image:: images/preferences_misc_themes.png
:alt: Preferences dialog themes section
:align: center
* Use the *Layout* drop-down listbox to select the layout for the client.
pgAdmin offers two options: the Classic layout, a longstanding and familiar
design, and the Workspace layout, which provides distraction free dedicated
areas for the Query Tool, PSQL, and Schema Diff tools. 'Workspace' layout is
the default layout, but user can change it to 'Classic'.
* 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.
Currently we support Standard, Dark and High Contrast and System theme. Selecting System option will follow
Currently we support Light, Dark, High Contrast and System theme. Selecting System option will follow
your computer's settings.
The Paths Node
+41 -1
View File
@@ -27,4 +27,44 @@ mode, but is disabled by default in Server mode. This is because users can run
arbitrary shell commands through psql which may be considered a security risk in
some deployments. System Administrators can enable the use of the PSQL tool in
the pgAdmin configuration by setting the *ENABLE_PSQL* option to *True*; see
:ref:`config_py` for more information.
:ref:`config_py` for more information.
PSQL Tool in Workspace Layout
******************************
The workspace layout offers a distraction-free, dedicated area for the PSQL Tool.
When the PSQL Tool workspace is accessed, the Welcome page opens by default.
**Note**: In the Workspace layout, all PSQL tabs open within the PSQL Tool workspace.
In the classic UI, users must connect to a database server and navigate to the
database node before using the PSQL Tool. However, with the introduction of the
Workspace layout and Welcome page, users can seamlessly connect to any ad-hoc
server, even if it is not registered in the Object Explorer.
.. image:: images/psql_workspace.png
:alt: PSQL tool workspace
:align: center
* Select *Existing Server* from the dropdown to connect to a server already
listed in the Object Explorer. It is optional.
* Provide the *Server Name* for ad-hoc servers.
* Specify the IP address of the server host, or the fully qualified domain
name in the *Host name/address* field.
* Enter the listener port number of the server host in the *Port* field.
* Use the *Database* field to specify the name of the database to which
the client will connect.
* Use the *User* field to specify the name of a user that will be used when
authenticating with the server.
* Use the *Password* field to provide a password that will be supplied when
authenticating with the server.
* Use the *Role* field to specify the name of a role that has privileges that
will be conveyed to the client after authentication with the server.
* Use the *Service* field to specify the service name. For more information,
see
`Section 33.16 of the Postgres documentation <https://www.postgresql.org/docs/current/libpq-pgservice.html>`_.
* Use the fields in the *Connection Parameters* to configure the connection parameters.
After filling in all the required fields, click the Connect & Open PSQL Tool
button to launch the PSQL Tool with the provided server details. If the password
is not supplied, you will be prompted to enter it.
+41
View File
@@ -41,6 +41,47 @@ The Query Tool features two panels:
server messages related to the query's execution and any asynchronous
notifications received from the server.
Query Tool in Workspace Layout
******************************
The workspace layout offers a distraction-free, dedicated area for the Query Tool.
When the Query Tool workspace is accessed, the Welcome page opens by default.
**Note**: In the Workspace layout, all Query Tool and View/Edit Data tabs open within the Query Tool workspace.
In the classic UI, users must connect to a database server and navigate to the
database node before using the Query Tool. However, with the introduction of the
Workspace layout and Welcome page, users can seamlessly connect to any ad-hoc
server, even if it is not registered in the Object Explorer.
.. image:: images/query_tool_workspace.png
:alt: Query tool workspace
:align: center
* Select *Existing Server* from the dropdown to connect to a server already
listed in the Object Explorer. It is optional.
* Provide the *Server Name* for ad-hoc servers.
* Specify the IP address of the server host, or the fully qualified domain
name in the *Host name/address* field.
* Enter the listener port number of the server host in the *Port* field.
* Use the *Database* field to specify the name of the database to which
the client will connect.
* Use the *User* field to specify the name of a user that will be used when
authenticating with the server.
* Use the *Password* field to provide a password that will be supplied when
authenticating with the server.
* Use the *Role* field to specify the name of a role that has privileges that
will be conveyed to the client after authentication with the server.
* Use the *Service* field to specify the service name. For more information,
see
`Section 33.16 of the Postgres documentation <https://www.postgresql.org/docs/current/libpq-pgservice.html>`_.
* Use the fields in the *Connection Parameters* to configure the connection parameters.
After filling in all the required fields, click the Connect & Open Query Tool
button to launch the Query Tool with the provided server details. If the password
is not supplied, you will be prompted to enter it.
Toolbar
*******
+1
View File
@@ -12,6 +12,7 @@ notes for it.
:maxdepth: 1
release_notes_9_0
release_notes_8_14
release_notes_8_13
release_notes_8_12
+56
View File
@@ -0,0 +1,56 @@
***********
Version 9.0
***********
Release date: 2025-02-06
This release contains a number of bug fixes and new features since the release of pgAdmin 4 v8.14.
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.0
New features
************
| `Issue #6513 <https://github.com/pgadmin-org/pgadmin4/issues/6513>`_ - Change button labels and color in delete confirmation dialog for all objects to improve UX.
| `Issue #7708 <https://github.com/pgadmin-org/pgadmin4/issues/7708>`_ - Enhanced pgAdmin 4 with support for Workspace layouts.
| `Issue #8332 <https://github.com/pgadmin-org/pgadmin4/issues/8332>`_ - Added the MAINTAIN privilege for PostgreSQL version 17 and above.
| `Issue #8391 <https://github.com/pgadmin-org/pgadmin4/issues/8391>`_ - Add support for OAuth2 profile array response, which also takes care of the GitHub Private Email ID issue.
Housekeeping
************
| `Issue #8249 <https://github.com/pgadmin-org/pgadmin4/issues/8249>`_ - Show the python version used for the pgAdmin server in the about dialog.
Bug fixes
*********
| `Issue #3273 <https://github.com/pgadmin-org/pgadmin4/issues/3273>`_ - Change the logic of setval function, so that the next nextval of sequence will return exactly the specified value.
| `Issue #5204 <https://github.com/pgadmin-org/pgadmin4/issues/5204>`_ - Fixed an issue where pgadmin cannot install into path with non ASCII characters.
| `Issue #6044 <https://github.com/pgadmin-org/pgadmin4/issues/6044>`_ - Fixed an issue where filter dialog save fails when the PostgreSQL server/database connection is lost.
| `Issue #6968 <https://github.com/pgadmin-org/pgadmin4/issues/6968>`_ - Fixed an issue where option key was not registering in PSQL tool.
| `Issue #8072 <https://github.com/pgadmin-org/pgadmin4/issues/8072>`_ - Fixed an issue where Schema Diff not produce difference script for Index definition with where condition.
| `Issue #8142 <https://github.com/pgadmin-org/pgadmin4/issues/8142>`_ - Correct the documentation for the MFA configuration.
| `Issue #8165 <https://github.com/pgadmin-org/pgadmin4/issues/8165>`_ - Fixed an issue where error message from the database server need space between two sentences.
| `Issue #8199 <https://github.com/pgadmin-org/pgadmin4/issues/8199>`_ - Fixed an issue where query tool throws utf-8 decode error when using cursor with binary data.
| `Issue #8208 <https://github.com/pgadmin-org/pgadmin4/issues/8208>`_ - Allow deleting the entry while creating/adding new label to enumeration type.
| `Issue #8209 <https://github.com/pgadmin-org/pgadmin4/issues/8209>`_ - Fixed an issue where properties dialog throwing an error for Materialized View.
| `Issue #8254 <https://github.com/pgadmin-org/pgadmin4/issues/8254>`_ - Fix a formatting issue in View/Edit tool generated SQL where some filters are applied.
| `Issue #8255 <https://github.com/pgadmin-org/pgadmin4/issues/8255>`_ - Fixed an issue where tooltip on a dropdown button is blocking access to dropdown menu.
| `Issue #8256 <https://github.com/pgadmin-org/pgadmin4/issues/8256>`_ - Fix the error occurring while loading preferences on startup.
| `Issue #8273 <https://github.com/pgadmin-org/pgadmin4/issues/8273>`_ - Fixed an issue where copying query tool output cell is not working if any SQL text is selected.
| `Issue #8299 <https://github.com/pgadmin-org/pgadmin4/issues/8299>`_ - Ensure master password pop up is not shown on setting MASTER_PASSWORD_REQUIRED to false.
| `Issue #8309 <https://github.com/pgadmin-org/pgadmin4/issues/8309>`_ - Remove the option "With no data (concurrently)" from Refresh MATERIALIZED VIEW context menu.
| `Issue #8320 <https://github.com/pgadmin-org/pgadmin4/issues/8320>`_ - Fix an issue where wrong information is shown after using the filter on the Dashboard> State tab.
| `Issue #8365 <https://github.com/pgadmin-org/pgadmin4/issues/8365>`_ - Fixed an issue where PSQL tool is not opening if database name have HTML characters in the name.
| `Issue #8369 <https://github.com/pgadmin-org/pgadmin4/issues/8369>`_ - Fixed an issue where Default Privileges and Privileges not working correctly.
| `Issue #8408 <https://github.com/pgadmin-org/pgadmin4/issues/8408>`_ - Fixed an issue where quotes were missing in the CREATE script for the tablespace.
+12
View File
@@ -44,6 +44,18 @@ Use the :ref:`Preferences <preferences>` dialog to specify following:
* *Schema Diff* should ignore the whitespaces while comparing string objects. Set *Ignore whitespaces* option to true.
* *Schema Diff* should ignore the owner while comparing objects. Set *Ignore owner* option to true.
Schema Diff in Workspace Layout
*******************************
The workspace layout offers a distraction-free, dedicated area for the Schema Diff.
By default, the Schema Diff workspace button remains disabled until at least one Schema Diff tab is opened.
**Note**: In the Workspace layout, all Schema Diff tabs open within the Schema Diff workspace.
.. image:: images/schema_diff_workspace.png
:alt: schema diff workspace
:align: center
The *Schema Diff* panel is divided into two panels; an Object Comparison panel
and a DDL Comparison panel.
+3
View File
@@ -35,6 +35,9 @@ Click the *Definition* tab to continue.
Use the fields in the *Definition* tab to define the sequence:
* Use the *Current Value* field to specify the sequence object\'s current value.
The next nextval will return exactly the specified value, and sequence advancement
commences with the following nextval. *This field is only available in the edit mode*.
* Use the *Increment* field to specify which value is added to the current
sequence value to create a new value.
* Provide a value in the *Start* field to specify the beginning value of the
+1 -1
View File
@@ -32,7 +32,7 @@ the right pane.
Select an icon from the *Quick Links* panel on the *Dashboard* tab to:
* Click the *Add New Server* button to open the
:ref:`Create - Server dialog <server_dialog>` to add a new server definition.
:ref:`Register - Server dialog <server_dialog>` to add a new server definition.
* Click the *Configure pgAdmin* button to open the
:ref:`Preferences dialog <preferences>` to customize your pgAdmin client.
+3 -4
View File
@@ -40,9 +40,9 @@ file_env PGADMIN_DEFAULT_PASSWORD
export CONFIG_DISTRO_FILE_PATH="${PGADMIN_CUSTOM_CONFIG_DISTRO_FILE:-/pgadmin4/config_distro.py}"
# Populate config_distro.py. This has some default config, as well as anything
# provided by the user through the PGADMIN_CONFIG_* environment variables.
# Only update the file on first launch. The empty file is created during the
# Only update the file on first launch. The empty file is created only in default path during the
# container build so it can have the required ownership.
if [ "$(wc -m "${CONFIG_DISTRO_FILE_PATH}" | awk '{ print $1 }')" = "0" ]; then
if [ ! -e "${CONFIG_DISTRO_FILE_PATH}" ] || [ "$(wc -m "${CONFIG_DISTRO_FILE_PATH}" 2>/dev/null | awk '{ print $1 }')" = "0" ]; then
cat << EOF > "${CONFIG_DISTRO_FILE_PATH}"
CA_FILE = '/etc/ssl/certs/ca-certificates.crt'
LOG_FILE = '/dev/null'
@@ -53,8 +53,7 @@ DEFAULT_BINARY_PATHS = {
'pg-16': '/usr/local/pgsql-16',
'pg-15': '/usr/local/pgsql-15',
'pg-14': '/usr/local/pgsql-14',
'pg-13': '/usr/local/pgsql-13',
'pg-12': '/usr/local/pgsql-12'
'pg-13': '/usr/local/pgsql-13'
}
EOF
+1
View File
@@ -141,6 +141,7 @@ _build_runtime() {
fi
ELECTRON_VERSION="$(npm info electron version)"
ELECTRON_VERSION="33.3.2"
pushd "${BUILDROOT}" > /dev/null || exit
while true;do
+2 -2
View File
@@ -13,10 +13,10 @@ Either build the sources or get them from macports or similar:
## Building
1. To bundle a different version of Python from the default of 3.9.2, set the
1. To bundle a different version of Python from the default of 3.13.1, set the
*PGADMIN_PYTHON_VERSION* environment variable, e.g:
export PGADMIN_PYTHON_VERSION=3.8.5
export PGADMIN_PYTHON_VERSION=3.13.1
2. If a path different from the default of /usr/local/pgsql for the PostgreSQL
installation has been used, set the *PGADMIN_POSTGRES_DIR* environment variable
+1
View File
@@ -34,6 +34,7 @@ _build_runtime() {
fi
ELECTRON_VERSION="$(npm info electron version)"
ELECTRON_VERSION="33.3.2"
pushd "${BUILD_ROOT}" > /dev/null || exit
while true;do
+2 -2
View File
@@ -53,8 +53,8 @@ if [ "${PGADMIN_POSTGRES_DIR}" == "" ]; then
fi
if [ "${PGADMIN_PYTHON_VERSION}" == "" ]; then
echo "PGADMIN_PYTHON_VERSION not set. Setting it to the default: 3.11.2"
export PGADMIN_PYTHON_VERSION=3.11.2
echo "PGADMIN_PYTHON_VERSION not set. Setting it to the default: 3.13.1"
export PGADMIN_PYTHON_VERSION=3.13.1
fi
# shellcheck disable=SC1091
+1 -1
View File
@@ -10,7 +10,7 @@
\fs22 \
\
\f1\i Copyright (C) 2013 - 2024, The pgAdmin Development Team
\f1\i Copyright (C) 2013 - 2025, The pgAdmin Development Team
\f0\i0 \
\
Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies.\
+1 -1
View File
@@ -4,7 +4,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
#########################################################################
+5 -15
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
@@ -10,7 +10,6 @@
import builtins
import os
import sys
import platform
from codecs import open
from importlib.machinery import SourceFileLoader
@@ -41,17 +40,7 @@ kerberos_extras = []
# gssapi in it's own list
for index, req in enumerate(all_requires):
if 'psycopg[c]' in req:
# Starting from Psycopg 3.1.20, ARM64 macOS binary packages are no
# longer available for macOS versions before 14.0.
_req = req.replace('psycopg[c]', 'psycopg[binary]')
req = "psycopg[binary] == 3.1.19; sys_platform == 'darwin' and" \
" platform_machine == 'arm64' and platform_release < '23.0' \n"\
+ _req + "; (sys_platform == 'darwin' and" \
" platform_machine == 'arm64' and" \
" platform_release >= '23.0') or" \
" (sys_platform == 'darwin' and" \
" platform_machine != 'arm64'" \
") or sys_platform != 'darwin'"
req = req.replace('psycopg[c]', 'psycopg[binary]')
if 'gssapi' in req:
kerberos_extras.append(req)
@@ -91,11 +80,12 @@ setup(
'Development Status :: 5 - Production/Stable',
# Supported programming languages
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11'
'Programming Language :: Python :: 3.11',
'Programming Language :: Python :: 3.12',
'Programming Language :: Python :: 3.13'
],
keywords='pgadmin4,postgresql,postgres',
+1 -1
View File
@@ -4,7 +4,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
#########################################################################
+2 -2
View File
@@ -204,7 +204,7 @@ examples shown below are the defaults for the build system, so if they match
your requirements you don't need to set them. For PostgreSQL 16 and below:
SET "PGADMIN_POSTGRES_DIR=C:\build64\pgsql"
SET "PGADMIN_PYTHON_DIR=C:\Python312"
SET "PGADMIN_PYTHON_DIR=C:\Python313"
SET "PGADMIN_KRB5_DIR=C:\build64\krb5"
SET "PGADMIN_INNOTOOL_DIR=C:\Program Files (x86)\Inno Setup 6"
SET "PGADMIN_SIGNTOOL_DIR=C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64"
@@ -214,7 +214,7 @@ your requirements you don't need to set them. For PostgreSQL 16 and below:
For PostgreSQL 17 and later:
SET "PGADMIN_POSTGRES_DIR=C:\build64"
SET "PGADMIN_PYTHON_DIR=C:\Python312"
SET "PGADMIN_PYTHON_DIR=C:\Python313"
SET "PGADMIN_KRB5_DIR=C:\build64"
SET "PGADMIN_INNOTOOL_DIR=C:\Program Files (x86)\Inno Setup 6"
SET "PGADMIN_SIGNTOOL_DIR=C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64"
Binary file not shown.
+61 -94
View File
@@ -8,9 +8,8 @@
#define MyAppArchitecturesMode "x64"
#define MyAppVCDist MYAPP_VCDIST
#define MyAppInvalidPath "Please provide a valid path."
#define MyAppErrorMsgIsWin32 "You already have a 32 bit installation of pgAdmin 4. Please uninstall this before installing the 64 bit version."
#define MyAppErrorMsgIsWin64 "You already have a 64 bit installation of pgAdmin 4. Please uninstall this before installing the 32 bit version."
#define MinimumWindowsVer "6.2.9200"
#define CheckOldInstallerVersion "v8"
[Setup]
AppId={#MyAppName}{#MyAppVersion}
@@ -51,7 +50,7 @@ english.NewerVersionExists=A newer version of {#MyAppName}
english.InvalidPath={#MyAppInvalidPath}
[Icons]
Name: {group}\{#MyAppName} {#MyAppVersion}; Filename: {app}\runtime\{#MyAppExeName}; IconFilename: {app}\pgAdmin4.ico; WorkingDir: {app}\runtime;
Name: {group}\{#MyAppName}; Filename: {app}\runtime\{#MyAppExeName}; IconFilename: {app}\pgAdmin4.ico; WorkingDir: {app}\runtime;
[Files]
Source: "..\..\win-build\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs;
@@ -60,10 +59,10 @@ Source: "..\..\win-build\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdi
Filename: "{app}\installer\{#MyAppVCDist}"; StatusMsg: "VC runtime redistributable package"; Parameters: "/passive /verysilent /norestart"; Check: InstallVC;
[Registry]
Root: HKA; Subkey: "Software\{#MyAppName}\{#MyAppVersion}"; Flags: uninsdeletekeyifempty
Root: HKA; Subkey: "Software\{#MyAppName}\{#MyAppVersion}"; Flags: uninsdeletekey
Root: HKA; Subkey: "Software\{#MyAppName}\{#MyAppVersion}"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}"
Root: HKA; Subkey: "Software\{#MyAppName}\{#MyAppVersion}"; ValueType: string; ValueName: "Version"; ValueData: "{#MyAppFullVersion}"
Root: HKA; Subkey: "Software\{#MyAppName}"; Flags: uninsdeletekeyifempty
Root: HKA; Subkey: "Software\{#MyAppName}"; Flags: uninsdeletekey
Root: HKA; Subkey: "Software\{#MyAppName}"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}"
Root: HKA; Subkey: "Software\{#MyAppName}"; ValueType: string; ValueName: "Version"; ValueData: "{#MyAppFullVersion}"
[Code]
var
@@ -145,98 +144,76 @@ begin
Result := 0;
end;
function IsPathValid(Path: string): Boolean;
// This function is invoked only when the V8 version is already installed.
// It retrieves the path of the uninstaller to remove the installed V8 version.
function GetUninstallerPath(): String;
var
I: Integer;
Ret: Boolean;
sUnInstRegKey: String;
sUnInstPath: String;
begin
Ret := True;
Path := Uppercase(Path);
Result :=
(Length(Path) >= 3) and
(Path[1] >= 'A') and (Path[1] <= 'Z') and
(Path[2] = ':') and
(Path[3] = '\');
sUnInstRegKey := 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{#MyAppName}{#CheckOldInstallerVersion}_is1';
sUnInstPath := '';
RegQueryStringValue(HKA, sUnInstRegKey, 'UninstallString', sUnInstPath);
Result := sUnInstPath;
end;
if Result then
begin
for I := 3 to Length(Path) do
begin
case Path[I] of
'0'..'9', 'A'..'Z', '\', ' ', '.', '-', '_', '(', ')':
else
begin
Ret := False;
break;
end;
end;
end;
end;
Result := Ret;
// This function is invoked only when the V8 version is already installed.
// It is used to uninstall the installed V8 version.
// Return Values:
// 1 - Uninstaller path is empty.
// 2 - Error executing the Uninstaller.
// 3 - Successfully executed the Uninstaller
function UnInstallOldVersion(): Integer;
var
sUnInstallerPath: String;
iResultCode: Integer;
begin
// default return value
Result := 0;
// get the uninstall path of the old app
sUnInstallerPath := GetUninstallerPath();
if sUnInstallerPath <> '' then begin
sUnInstallerPath := RemoveQuotes(sUnInstallerPath);
if Exec(sUnInstallerPath, '/SILENT /NORESTART /SUPPRESSMSGBOXES','', SW_HIDE, ewWaitUntilTerminated, iResultCode) then
Result := 3
else
Result := 2;
end else
Result := 1;
end;
function CheckPgAdminAlreadyInstalled: Boolean;
var
Version: String;
InstallationFound: Boolean;
begin
InstallationFound := False;
// Check the installation mode 64 or 32 bit of installer
if Is64BitInstallMode then
if RegKeyExists(HKA,'Software\{#MyAppName}\{#CheckOldInstallerVersion}') then
begin
// Check if pgAdmin 32 bit is already installed
RegQueryStringValue(HKLM32,'Software\{#MyAppName}\{#MyAppVersion}', 'Version', Version);
// If version is found then shouldn't install 64bit - abort
if Length(Version) > 0 then
if UnInstallOldVersion() < 3 then
begin
MsgBox(ExpandConstant('{#MyAppErrorMsgIsWin32}'), mbCriticalError, MB_OK);
Result := False;
InstallationFound := True;
Result := False;
end;
end
else
begin
// Suppose system is running a 32-bit version of Windows then no need to check HKLM64 in RegQueryStringValue
// So IsWin64 - will make sure its should only execute on 64-bit version of windows.
if IsWin64 then
begin
// Check if pgAdmin 64 bit is already installed
RegQueryStringValue(HKLM64,'Software\{#MyAppName}\{#MyAppVersion}', 'Version', Version);
// If version is found the shouldn't install 32bit - abort
if Length(Version) > 0 then
begin
MsgBox(ExpandConstant('{#MyAppErrorMsgIsWin64}'), mbCriticalError, MB_OK);
Result := False;
InstallationFound := True;
end;
end;
end;
if not (InstallationFound) then
begin
if RegValueExists(HKEY_LOCAL_MACHINE,'Software\{#MyAppName}\{#MyAppVersion}', 'Version') then
begin
UpgradeMode := True;
RegQueryStringValue(HKEY_LOCAL_MACHINE,'Software\{#MyAppName}\{#MyAppVersion}', 'Version', Version);
if CompareVersions(Version, '{#MyAppFullVersion}') = 1 then
begin
MsgBox(ExpandConstant('{cm:NewerVersionExists}' + '(v' + Version + ') is already installed' ), mbInformation, MB_OK);
Result := False;
end
else
begin
Result := True;
end;
end;
end;
if ( not (InstallationFound) and not (UpgradeMode) ) then
if RegValueExists(HKA,'Software\{#MyAppName}', 'Version') then
begin
// This is required as it will be passed on to the InitializeSetup function
Result := True;
UpgradeMode := True;
RegQueryStringValue(HKA,'Software\{#MyAppName}', 'Version', Version);
if CompareVersions(Version, '{#MyAppFullVersion}') = 1 then
begin
MsgBox(ExpandConstant('{cm:NewerVersionExists}' + '(v' + Version + ') is already installed' ), mbInformation, MB_OK);
Result := False;
end
else
begin
Result := True;
end;
end;
if ( not (UpgradeMode) ) then
begin
// This is required as it will be passed on to the InitializeSetup function
Result := True;
end;
end;
@@ -328,16 +305,6 @@ var
begin
Ret := True;
case CurPageID of
wpSelectDir:
begin
// Validate InstallDir path
if Not IsPathValid(ExpandConstant('{app}')) then
begin
MsgBox(ExpandConstant('{cm:InvalidPath}'), mbError, MB_OK);
Ret := False;
end;
end;
wpReady:
begin
if (IsUpgradeMode) then
+6 -5
View File
@@ -20,7 +20,7 @@ Flask-Paranoid==0.*
Flask-Babel==4.0.*
Flask-Security-Too==5.5.*; python_version >= '3.10'
Flask-Security-Too==5.4.*; python_version <= '3.9'
Flask-SocketIO==5.4.*
Flask-SocketIO==5.5.*
WTForms==3.2.*; python_version >= '3.10'
WTForms==3.1.*; python_version <= '3.9'
passlib==1.*
@@ -28,7 +28,7 @@ pytz==2024.*
speaklater3==1.*
sqlparse==0.*
psutil==6.1.*
psycopg[c]==3.2.3
psycopg[c]==3.2.4
python-dateutil==2.*
SQLAlchemy==2.*
bcrypt==4.2.*
@@ -38,11 +38,12 @@ ldap3==2.*
gssapi==1.9.*
user-agents==2.2.0
pywinpty==2.0.*; sys_platform=="win32"
Authlib==1.3.*
Authlib==1.3.*; python_version <= '3.8'
Authlib==1.4.*; python_version >= '3.9'
pyotp==2.*
qrcode==7.*; python_version <= '3.8'
qrcode[pil]==8.*; python_version >= '3.9'
boto3==1.35.*
boto3==1.36.*
urllib3==1.26.*
azure-mgmt-rdbms==10.1.0
azure-mgmt-resource==23.2.0
@@ -53,7 +54,7 @@ google-auth-oauthlib==1.2.1
keyring==25.*
Werkzeug==3.0.*; python_version <= '3.8'
Werkzeug==3.1.*; python_version >= '3.9'
typer[all]==0.14.*
typer[all]==0.15.*
setuptools==75.*; python_version >= '3.12'
jsonformatter~=0.3.4
libgravatar==1.0.*
+1 -1
View File
@@ -2,7 +2,7 @@
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2024, The pgAdmin Development Team
// Copyright (C) 2013 - 2025, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
//////////////////////////////////////////////////////////////
+3 -3
View File
@@ -12,11 +12,11 @@
},
"packageManager": "yarn@3.8.7",
"devDependencies": {
"electron": "latest",
"eslint": "^9.16.0"
"electron": "33.3.2",
"eslint": "^9.19.0"
},
"dependencies": {
"axios": "^1.7.8",
"axios": "^1.7.9",
"electron-context-menu": "^4.0.4",
"electron-store": "^10.0.0"
}
+1 -1
View File
@@ -2,7 +2,7 @@
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2024, The pgAdmin Development Team
// Copyright (C) 2013 - 2025, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
//////////////////////////////////////////////////////////////
+1 -1
View File
@@ -2,7 +2,7 @@
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2024, The pgAdmin Development Team
// Copyright (C) 2013 - 2025, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
//////////////////////////////////////////////////////////////
+1 -1
View File
@@ -2,7 +2,7 @@
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2024, The pgAdmin Development Team
// Copyright (C) 2013 - 2025, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
//////////////////////////////////////////////////////////////
+1 -1
View File
@@ -2,7 +2,7 @@
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2024, The pgAdmin Development Team
// Copyright (C) 2013 - 2025, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
//////////////////////////////////////////////////////////////
+1 -1
View File
@@ -2,7 +2,7 @@
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2024, The pgAdmin Development Team
// Copyright (C) 2013 - 2025, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
//////////////////////////////////////////////////////////////
+81 -154
View File
@@ -43,20 +43,22 @@ __metadata:
linkType: hard
"@eslint/config-array@npm:^0.19.0":
version: 0.19.0
resolution: "@eslint/config-array@npm:0.19.0"
version: 0.19.1
resolution: "@eslint/config-array@npm:0.19.1"
dependencies:
"@eslint/object-schema": ^2.1.4
"@eslint/object-schema": ^2.1.5
debug: ^4.3.1
minimatch: ^3.1.2
checksum: ceeddd3733316cbc7f1e61fc2906fedeaefdf1b3cf363726714dea0e9dece378a2b233cb6429d7d87534707a1dd2e5efb0197749553834ee30aee817820a71aa
checksum: 421aad712a5ef1a3d118b5e0857f79c080f9dd619a76ce19d20105d381521583786f7abb1195744af9e62a5124e6657066eb6780e920f4001846bd91c1a665f0
languageName: node
linkType: hard
"@eslint/core@npm:^0.9.0":
version: 0.9.0
resolution: "@eslint/core@npm:0.9.0"
checksum: ea8ded3eba82d9451eca7e989c4ebf1dca95bc705e70cd2f3e55cc576e851183778344632de410d8cd9f85e862fd88fb8fda510aad00698765aec3110533af82
"@eslint/core@npm:^0.10.0":
version: 0.10.0
resolution: "@eslint/core@npm:0.10.0"
dependencies:
"@types/json-schema": ^7.0.15
checksum: 851fa099b3fef00e7ff8ece14523aff0822d3e1b47b047ab0a0d898e80c1362a22aa8b7778727231c383246932ecb63de79b4448ec1e500901c578580b087573
languageName: node
linkType: hard
@@ -77,26 +79,27 @@ __metadata:
languageName: node
linkType: hard
"@eslint/js@npm:9.16.0":
version: 9.16.0
resolution: "@eslint/js@npm:9.16.0"
checksum: ba2d7f7266df827df72cec069df9284ad5e7edb4894a8c58c41db0d489136b22815dc76cd34cf565284979feb4d3a8197b511e08529c03f30c80b5235d25030b
"@eslint/js@npm:9.19.0":
version: 9.19.0
resolution: "@eslint/js@npm:9.19.0"
checksum: bf4077b390894408408c8b5ca48c2cdaf91bce94e0a3b7ff4e79a2cb2d3ecc76d87b52b30af812285acf550e7a849138d2aad2cab0b0b5c0c9f7944fd45ba31f
languageName: node
linkType: hard
"@eslint/object-schema@npm:^2.1.4":
version: 2.1.4
resolution: "@eslint/object-schema@npm:2.1.4"
checksum: 5a03094115bcdab7991dbbc5d17a9713f394cebb4b44d3eaf990d7487b9b8e1877b817997334ab40be52e299a0384595c6f6ba91b389901e5e1d21efda779271
"@eslint/object-schema@npm:^2.1.5":
version: 2.1.5
resolution: "@eslint/object-schema@npm:2.1.5"
checksum: 5facffc832bae93c510f4d38f0f1cbfebd3d7ec772ece6b801bd09bf2dce52e781f4dea500aa133d02257e04ed6a3958fa18cbaed1f9623974a804ee60a8ca54
languageName: node
linkType: hard
"@eslint/plugin-kit@npm:^0.2.3":
version: 0.2.3
resolution: "@eslint/plugin-kit@npm:0.2.3"
"@eslint/plugin-kit@npm:^0.2.5":
version: 0.2.5
resolution: "@eslint/plugin-kit@npm:0.2.5"
dependencies:
"@eslint/core": ^0.10.0
levn: ^0.4.1
checksum: b93b9c3f5b1722d09cc4e609abd4510130f659f70f6417b68ac7c4ad9fbf9e3d4f0ef5b6f2bad106eb8c1c1b2146bd0391e0a1c00ddeae46c917f175b8c0da4b
checksum: 423db33e67ff16f6db71bf8bfc8d5b0c2c4fe6f2209131e5886a573bf994bfc72ab4f825068d6521f186247731d4c9d48eb42a5e5ce389c6faa275752c0e9459
languageName: node
linkType: hard
@@ -197,20 +200,20 @@ __metadata:
linkType: hard
"@types/node@npm:*":
version: 22.10.1
resolution: "@types/node@npm:22.10.1"
version: 22.12.0
resolution: "@types/node@npm:22.12.0"
dependencies:
undici-types: ~6.20.0
checksum: 5a9b81500f288a8fb757b61bd939f99f72b6cb59347a5bae52dd1c2c87100ebbaa9da4256ef3cb9add2090e8704cda1d9a1ffc14ccd5db47a6466c8bae10ebcb
checksum: 2f6dd04abebc456900f7dab2311f63ab361818cd3ecf5078b72c63ed416a38a3e72711669a26cec070e0d2e09d7661976f7d1fa3fc029eb9383f0f7e421a1d55
languageName: node
linkType: hard
"@types/node@npm:^20.9.0":
version: 20.17.9
resolution: "@types/node@npm:20.17.9"
version: 20.17.16
resolution: "@types/node@npm:20.17.16"
dependencies:
undici-types: ~6.19.2
checksum: 2fc67ba937d2c4e7a52f0ccf71b8b4c616dcfa1ad6cd5a726582fd3cbf4f409c2eb44595592580f782c2ade05f8130df072dd04ac064fe150cfcd7849e643500
checksum: dd19c04c592b602f20448187b4b6ab0293f22173a8bbe53aa3b559188f078b5261d748a107b84ee0580e2074cda760049b13d6e210f9850039bead01cb666a3f
languageName: node
linkType: hard
@@ -276,7 +279,7 @@ __metadata:
languageName: node
linkType: hard
"ajv@npm:^8.0.0, ajv@npm:^8.16.0":
"ajv@npm:^8.0.0, ajv@npm:^8.17.1":
version: 8.17.1
resolution: "ajv@npm:8.17.1"
dependencies:
@@ -335,14 +338,14 @@ __metadata:
languageName: node
linkType: hard
"axios@npm:^1.7.8":
version: 1.7.8
resolution: "axios@npm:1.7.8"
"axios@npm:^1.7.9":
version: 1.7.9
resolution: "axios@npm:1.7.9"
dependencies:
follow-redirects: ^1.15.6
form-data: ^4.0.0
proxy-from-env: ^1.1.0
checksum: 3d21652faf8e29fb36c47517d2872bb5e2285127a24f5c53ce23082c4eac7f5a88de84dd49d4a1a83068e5301dcfd9067b41e5fbd00b0d20ab7b0a843559273d
checksum: cb8ce291818effda09240cb60f114d5625909b345e10f389a945320e06acf0bc949d0f8422d25720f5dd421362abee302c99f5e97edec4c156c8939814b23d19
languageName: node
linkType: hard
@@ -399,19 +402,6 @@ __metadata:
languageName: node
linkType: hard
"call-bind@npm:^1.0.7":
version: 1.0.7
resolution: "call-bind@npm:1.0.7"
dependencies:
es-define-property: ^1.0.0
es-errors: ^1.3.0
function-bind: ^1.1.2
get-intrinsic: ^1.2.4
set-function-length: ^1.2.1
checksum: 295c0c62b90dd6522e6db3b0ab1ce26bdf9e7404215bda13cfee25b626b5ff1a7761324d58d38b1ef1607fc65aca2d06e44d2e18d0dfc6c14b465b00d8660029
languageName: node
linkType: hard
"callsites@npm:^3.0.0":
version: 3.1.0
resolution: "callsites@npm:3.1.0"
@@ -481,23 +471,23 @@ __metadata:
linkType: hard
"conf@npm:^13.0.0":
version: 13.0.1
resolution: "conf@npm:13.0.1"
version: 13.1.0
resolution: "conf@npm:13.1.0"
dependencies:
ajv: ^8.16.0
ajv: ^8.17.1
ajv-formats: ^3.0.1
atomically: ^2.0.3
debounce-fn: ^6.0.0
dot-prop: ^9.0.0
env-paths: ^3.0.0
json-schema-typed: ^8.0.1
semver: ^7.6.2
uint8array-extras: ^1.1.0
checksum: 3e6a5cd26007c66aa5e461dfa65fe8bfee97cb6d95614ac358c8a5d7ba234b0b24f1a40a60069b48ef5bdd4309517bda95716a0b7a2ae4f5e23889cc789741bc
semver: ^7.6.3
uint8array-extras: ^1.4.0
checksum: 621fb7d5ed9ff22e7e3b0315b67b38a8ad074d479816383189e75279dab92e760df0644f93762c4a84e644768d9370611744e017f4c6d6dae86ddbb035756127
languageName: node
linkType: hard
"cross-spawn@npm:^7.0.5":
"cross-spawn@npm:^7.0.6":
version: 7.0.6
resolution: "cross-spawn@npm:7.0.6"
dependencies:
@@ -518,14 +508,14 @@ __metadata:
linkType: hard
"debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2":
version: 4.3.7
resolution: "debug@npm:4.3.7"
version: 4.4.0
resolution: "debug@npm:4.4.0"
dependencies:
ms: ^2.1.3
peerDependenciesMeta:
supports-color:
optional: true
checksum: 822d74e209cd910ef0802d261b150314bbcf36c582ccdbb3e70f0894823c17e49a50d3e66d96b633524263975ca16b6a833f3e3b7e030c157169a5fabac63160
checksum: fb42df878dd0e22816fc56e1fdca9da73caa85212fbe40c868b1295a6878f9101ae684f4eeef516c13acfc700f5ea07f1136954f43d4cd2d477a811144136479
languageName: node
linkType: hard
@@ -552,7 +542,7 @@ __metadata:
languageName: node
linkType: hard
"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.4":
"define-data-property@npm:^1.0.1":
version: 1.1.4
resolution: "define-data-property@npm:1.1.4"
dependencies:
@@ -627,25 +617,25 @@ __metadata:
linkType: hard
"electron-store@npm:^10.0.0":
version: 10.0.0
resolution: "electron-store@npm:10.0.0"
version: 10.0.1
resolution: "electron-store@npm:10.0.1"
dependencies:
conf: ^13.0.0
type-fest: ^4.20.0
checksum: 1e624d0fc0f62bac7cacc210e09b0aa9706c9661d1c7a7b428731b9af728d58dcadaf1b690a769ff6c6e2e7e2224855233d88b658fcbb092d0345e2d5a469dfd
checksum: f80a02a226128f89bed0e6ba9ae28e75ba86acb7a922697ddc16b1014c9a6925dbb5f9024ee7fc500f74a4e389e158ee4889c84d91dcb861bd68f4934276af6c
languageName: node
linkType: hard
"electron@npm:latest":
version: 33.2.1
resolution: "electron@npm:33.2.1"
"electron@npm:33.3.2":
version: 33.3.2
resolution: "electron@npm:33.3.2"
dependencies:
"@electron/get": ^2.0.0
"@types/node": ^20.9.0
extract-zip: ^2.0.1
bin:
electron: cli.js
checksum: c5b7d5fe56f831da5d14be9d24d0a29fdb392d5b4e593b31200a9c01e6260d87bba1216c4cc17297b2f4838e0893428464b9e2ca71c3eaff499dbff1981c0670
checksum: ba3b8cfa0d4dd39e176bf89ec5466045b2f6c59f011de9aae19d3ab17a5d91f2701b5b9244b5877ef49aa41542cc9e72e117c8ea28079485e9be41eb4fcecddf
languageName: node
linkType: hard
@@ -680,11 +670,9 @@ __metadata:
linkType: hard
"es-define-property@npm:^1.0.0":
version: 1.0.0
resolution: "es-define-property@npm:1.0.0"
dependencies:
get-intrinsic: ^1.2.4
checksum: f66ece0a887b6dca71848fa71f70461357c0e4e7249696f81bad0a1f347eed7b31262af4a29f5d726dc026426f085483b6b90301855e647aa8e21936f07293c6
version: 1.0.1
resolution: "es-define-property@npm:1.0.1"
checksum: 0512f4e5d564021c9e3a644437b0155af2679d10d80f21adaf868e64d30efdfbd321631956f20f42d655fedb2e3a027da479fad3fa6048f768eb453a80a5f80a
languageName: node
linkType: hard
@@ -747,17 +735,17 @@ __metadata:
languageName: node
linkType: hard
"eslint@npm:^9.16.0":
version: 9.16.0
resolution: "eslint@npm:9.16.0"
"eslint@npm:^9.19.0":
version: 9.19.0
resolution: "eslint@npm:9.19.0"
dependencies:
"@eslint-community/eslint-utils": ^4.2.0
"@eslint-community/regexpp": ^4.12.1
"@eslint/config-array": ^0.19.0
"@eslint/core": ^0.9.0
"@eslint/core": ^0.10.0
"@eslint/eslintrc": ^3.2.0
"@eslint/js": 9.16.0
"@eslint/plugin-kit": ^0.2.3
"@eslint/js": 9.19.0
"@eslint/plugin-kit": ^0.2.5
"@humanfs/node": ^0.16.6
"@humanwhocodes/module-importer": ^1.0.1
"@humanwhocodes/retry": ^0.4.1
@@ -765,7 +753,7 @@ __metadata:
"@types/json-schema": ^7.0.15
ajv: ^6.12.4
chalk: ^4.0.0
cross-spawn: ^7.0.5
cross-spawn: ^7.0.6
debug: ^4.3.2
escape-string-regexp: ^4.0.0
eslint-scope: ^8.2.0
@@ -792,7 +780,7 @@ __metadata:
optional: true
bin:
eslint: bin/eslint.js
checksum: d7b77caed2e319dba9bdf5fd3275c643332e4c79fcfe62cf19031fc430c27fe691daa718474d29a1050b83348085f8df50e04f260e081e5b1fbee1d2ca9c5c74
checksum: 173c77ac3fd8fa69a9367c457f8048088450911f6f927b189bcc2fd1dcca71422346952cdb7217948d692f67b3e36238f5264717187e83a1cdbd1b37b89e3877
languageName: node
linkType: hard
@@ -897,9 +885,9 @@ __metadata:
linkType: hard
"fast-uri@npm:^3.0.1":
version: 3.0.3
resolution: "fast-uri@npm:3.0.3"
checksum: c52e6c86465f5c240e84a4485fb001088cc743d261a4b54b0050ce4758b1648bdbe53da1328ef9620149dca1435e3de64184f226d7c0a3656cb5837b3491e149
version: 3.0.6
resolution: "fast-uri@npm:3.0.6"
checksum: 7161ba2a7944778d679ba8e5f00d6a2bb479a2142df0982f541d67be6c979b17808f7edbb0ce78161c85035974bde3fa52b5137df31da46c0828cb629ba67c4e
languageName: node
linkType: hard
@@ -980,13 +968,6 @@ __metadata:
languageName: node
linkType: hard
"function-bind@npm:^1.1.2":
version: 1.1.2
resolution: "function-bind@npm:1.1.2"
checksum: 2b0ff4ce708d99715ad14a6d1f894e2a83242e4a52ccfcefaee5e40050562e5f6dafc1adbb4ce2d4ab47279a45dc736ab91ea5042d843c3c092820dfe032efb1
languageName: node
linkType: hard
"get-east-asian-width@npm:^1.0.0":
version: 1.3.0
resolution: "get-east-asian-width@npm:1.3.0"
@@ -994,19 +975,6 @@ __metadata:
languageName: node
linkType: hard
"get-intrinsic@npm:^1.2.4":
version: 1.2.4
resolution: "get-intrinsic@npm:1.2.4"
dependencies:
es-errors: ^1.3.0
function-bind: ^1.1.2
has-proto: ^1.0.1
has-symbols: ^1.0.3
hasown: ^2.0.0
checksum: 414e3cdf2c203d1b9d7d33111df746a4512a1aa622770b361dadddf8ed0b5aeb26c560f49ca077e24bfafb0acb55ca908d1f709216ccba33ffc548ec8a79a951
languageName: node
linkType: hard
"get-stream@npm:^5.1.0":
version: 5.2.0
resolution: "get-stream@npm:5.2.0"
@@ -1057,11 +1025,9 @@ __metadata:
linkType: hard
"gopd@npm:^1.0.1":
version: 1.1.0
resolution: "gopd@npm:1.1.0"
dependencies:
get-intrinsic: ^1.2.4
checksum: ed09ffe54ef841e9de35a56f9d249495c1149dc611f05a242c476cc538f13b2228ac1ee3970f9bfca2cadd6f9785efe854419eeef6050e7de3f02fbee9292ad4
version: 1.2.0
resolution: "gopd@npm:1.2.0"
checksum: cc6d8e655e360955bdccaca51a12a474268f95bb793fc3e1f2bdadb075f28bfd1fd988dab872daf77a61d78cbaf13744bc8727a17cfb1d150d76047d805375f3
languageName: node
linkType: hard
@@ -1098,7 +1064,7 @@ __metadata:
languageName: node
linkType: hard
"has-property-descriptors@npm:^1.0.0, has-property-descriptors@npm:^1.0.2":
"has-property-descriptors@npm:^1.0.0":
version: 1.0.2
resolution: "has-property-descriptors@npm:1.0.2"
dependencies:
@@ -1107,31 +1073,6 @@ __metadata:
languageName: node
linkType: hard
"has-proto@npm:^1.0.1":
version: 1.1.0
resolution: "has-proto@npm:1.1.0"
dependencies:
call-bind: ^1.0.7
checksum: 0335b8acd01a0de9bb6f7f89c4ef4f1512b48cec25f1c23e847a68d65afb8c579f168907e79969b01dc7025d707b48c71d481bca140579a40d735b071b2cc1bc
languageName: node
linkType: hard
"has-symbols@npm:^1.0.3":
version: 1.1.0
resolution: "has-symbols@npm:1.1.0"
checksum: b2316c7302a0e8ba3aaba215f834e96c22c86f192e7310bdf689dd0e6999510c89b00fbc5742571507cebf25764d68c988b3a0da217369a73596191ac0ce694b
languageName: node
linkType: hard
"hasown@npm:^2.0.0":
version: 2.0.2
resolution: "hasown@npm:2.0.2"
dependencies:
function-bind: ^1.1.2
checksum: e8516f776a15149ca6c6ed2ae3110c417a00b62260e222590e54aa367cbcd6ed99122020b37b7fbdf05748df57b265e70095d7bf35a47660587619b15ffb93db
languageName: node
linkType: hard
"http-cache-semantics@npm:^4.0.0":
version: 4.1.1
resolution: "http-cache-semantics@npm:4.1.1"
@@ -1496,11 +1437,11 @@ __metadata:
version: 0.0.0-use.local
resolution: "pgadmin4@workspace:."
dependencies:
axios: ^1.7.8
electron: latest
axios: ^1.7.9
electron: 33.3.2
electron-context-menu: ^4.0.4
electron-store: ^10.0.0
eslint: ^9.16.0
eslint: ^9.19.0
languageName: unknown
linkType: soft
@@ -1618,7 +1559,7 @@ __metadata:
languageName: node
linkType: hard
"semver@npm:^7.3.2, semver@npm:^7.6.2":
"semver@npm:^7.3.2, semver@npm:^7.6.3":
version: 7.6.3
resolution: "semver@npm:7.6.3"
bin:
@@ -1636,20 +1577,6 @@ __metadata:
languageName: node
linkType: hard
"set-function-length@npm:^1.2.1":
version: 1.2.2
resolution: "set-function-length@npm:1.2.2"
dependencies:
define-data-property: ^1.1.4
es-errors: ^1.3.0
function-bind: ^1.1.2
get-intrinsic: ^1.2.4
gopd: ^1.0.1
has-property-descriptors: ^1.0.2
checksum: a8248bdacdf84cb0fab4637774d9fb3c7a8e6089866d04c817583ff48e14149c87044ce683d7f50759a8c50fb87c7a7e173535b06169c87ef76f5fb276dfff72
languageName: node
linkType: hard
"shebang-command@npm:^2.0.0":
version: 2.0.0
resolution: "shebang-command@npm:2.0.0"
@@ -1770,13 +1697,13 @@ __metadata:
linkType: hard
"type-fest@npm:^4.18.2, type-fest@npm:^4.20.0":
version: 4.30.0
resolution: "type-fest@npm:4.30.0"
checksum: 2ce3b08265acbdf864267e1468cdcc8dbfa4e86c2fd5e4622a20a83358b5e21fcb49a41beada95d29d8ff1ed8aacb27d10ec0b7623d546f9399b529a153724b0
version: 4.33.0
resolution: "type-fest@npm:4.33.0"
checksum: 42c9a4e305ef86826f6c3e9fb0d230765523eba248b7927580e76fa0384a4a12dfcde3ba04ac94b3cfab664b16608f1f9b8fb6116a48c728b87350e8252fd32c
languageName: node
linkType: hard
"uint8array-extras@npm:^1.1.0":
"uint8array-extras@npm:^1.4.0":
version: 1.4.0
resolution: "uint8array-extras@npm:1.4.0"
checksum: 791c07e1f632cb6b4d5c0275dcac2efa4689be523f021cc78b66377872e500dbe5b4c56749367cc97892f6952bc5bccd34cf9147a2a16ccb253f3b7f94588398
@@ -1824,9 +1751,9 @@ __metadata:
linkType: hard
"when-exit@npm:^2.1.1":
version: 2.1.3
resolution: "when-exit@npm:2.1.3"
checksum: d4242a15148df89e08e518b4c372580516d45a6ab527f14643a3789c6edb9ccfc788b1d717728c1a33c85dc53badefb511a3ee704ea61c4e86f693f3bf7666f2
version: 2.1.4
resolution: "when-exit@npm:2.1.4"
checksum: d77635a0ed43bb63b3b41930637db16fb1e4e8630f5c6efd4aa669322c32b36ba750b7484991f806d3ac56f4e21cdf3925f82fff289b90706cc21e6745038a26
languageName: node
linkType: hard
+1 -1
View File
@@ -4,7 +4,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -4,7 +4,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -4,7 +4,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -4,7 +4,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -4,7 +4,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
# #########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2024, The pgAdmin Development Team
// Copyright (C) 2013 - 2025, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
//////////////////////////////////////////////////////////////
+2 -2
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
@@ -21,7 +21,7 @@ APP_PATH = 'pgadmin'
APP_WIN_PATH = "pgAdmin"
# Copyright string for display in the app
APP_COPYRIGHT = 'Copyright (C) 2013 - 2024, The pgAdmin Development Team'
APP_COPYRIGHT = 'Copyright (C) 2013 - 2025, The pgAdmin Development Team'
# User ID (email address) to use for the default user in desktop mode.
# The default should be fine here, as it's not exposed in the app.
+1 -5
View File
@@ -4,7 +4,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
# config.py - Core application configuration settings
@@ -458,14 +458,12 @@ STORAGE_DIR = os.path.join(DATA_DIR, 'storage')
##########################################################################
DEFAULT_BINARY_PATHS = {
"pg": "",
"pg-12": "",
"pg-13": "",
"pg-14": "",
"pg-15": "",
"pg-16": "",
"pg-17": "",
"ppas": "",
"ppas-12": "",
"ppas-13": "",
"ppas-14": "",
"ppas-15": "",
@@ -480,14 +478,12 @@ DEFAULT_BINARY_PATHS = {
FIXED_BINARY_PATHS = {
"pg": "",
"pg-12": "",
"pg-13": "",
"pg-14": "",
"pg-15": "",
"pg-16": "",
"pg-17": "",
"ppas": "",
"ppas-12": "",
"ppas-13": "",
"ppas-14": "",
"ppas-15": "",
+1 -1
View File
@@ -51,7 +51,7 @@ module.exports = {
],
'testEnvironment': 'jsdom',
'transformIgnorePatterns': [
'[/\\\\]node_modules[/\\\\](?!react-dnd|dnd-core|@react-dnd).+\\.(js|jsx|mjs|cjs|ts|tsx)$',
'[/\\\\]node_modules[/\\\\](?!react-dnd|dnd-core|@react-dnd|react-resize-detector).+\\.(js|jsx|mjs|cjs|ts|tsx)$',
'^.+\\.module\\.(css|sass|scss)$'
]
};
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
##
## pgAdmin 4 - PostgreSQL Tools
##
## Copyright (C) 2013 - 2024, The pgAdmin Development Team
## Copyright (C) 2013 - 2025, The pgAdmin Development Team
## This software is released under the PostgreSQL Licence
##
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+42
View File
@@ -0,0 +1,42 @@
##########################################################################
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
"""
Revision ID: 255e2842e4d7
Revises: f28be870d5ec
Create Date: 2024-12-05 13:14:53.602974
"""
from alembic import op, context
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = '255e2842e4d7'
down_revision = 'f28be870d5ec'
branch_labels = None
depends_on = None
def upgrade():
with op.batch_alter_table("server",
table_kwargs={'sqlite_autoincrement': True}) as batch_op:
if context.get_impl().bind.dialect.name == "sqlite":
batch_op.alter_column('id', autoincrement=True)
batch_op.add_column(sa.Column('is_adhoc', sa.Integer(),
server_default='0'))
batch_op.alter_column('tunnel_password',
existing_type=sa.String(length=64),
type_=sa.String())
def downgrade():
# pgAdmin only upgrades, downgrade not implemented.
pass
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+2 -2
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
@@ -24,7 +24,7 @@ depends_on = None
def upgrade():
op.add_column('server', sa.Column('tunnel_password', sa.String(length=64)))
op.add_column('server', sa.Column('tunnel_password', sa.String()))
def downgrade():
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -2,7 +2,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# Copyright (C) 2013 - 2025, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
Loaded 100 of 1751 files, more files were not shown because too many files have changed in this diff. Show more