Compare commits

...
147 Commits
Author SHA1 Message Date
Aditya Toshniwal 093d7af748 Remove cheroot server for now until we find a way to shutdown cheroot using REST call. Fixes #5069. 2020-01-07 18:45:07 +05:30
Akshay Joshi 76d04205ef Fix an issue where the table is not created with autovacuum_enabled and toast.autovacuum_enabled for PG/EPAS 12. Fixes #5068. 2020-01-07 17:55:12 +05:30
Akshay Joshi 4080511d9d Fixed linter error. 2020-01-06 18:10:40 +05:30
Akshay Joshi 195e9663da Update version for release. 2020-01-06 17:55:41 +05:30
Akshay Joshi 82c2d50885 Ensure that the user should be able to select/modify tablespace for the partitioned table on v12 and above. Fixes #4950. 2020-01-06 17:45:25 +05:30
Akshay Joshi 2979424db5 Added support to view multilevel partitioned tables. Fixes #4633. 2020-01-06 14:53:47 +05:30
Aditya Toshniwal d4ee869281 Fixed broken tags and tokenizer options of select2. Regression of #5038
With the change of data adapter, we have configured adapters for tags and tokenizers.
We also renamed the method onDemandLoad to showOnScroll to avoid confusion.
2020-01-06 12:47:56 +05:30
Identifier Anonymous df0f6690fd Update Japanese translation. 2020-01-06 11:09:20 +05:30
Fred Escallier c0532f6d13 Update French translation. 2020-01-06 11:09:20 +05:30
Domenico Sgarbossa 4d53d0eb01 Update Italian translation. 2020-01-06 11:09:20 +05:30
Dave Page c9de5f00c6 Add a note to the documentation about the use of non-privileged ports on filesystems that don't support extended attributes when running the container. Fixes #5013 2020-01-03 15:27:52 +00:00
Akshay Joshi 7668d9af08 Update message catalogs. 2020-01-03 19:04:01 +05:30
Navnath Gadakh 66f5a40cd9 Added code coverage tool for pgAdmin. Fixes #5048. 2020-01-03 19:00:08 +05:30
Dave Page a887019337 Remove debugging and incorrect comment. 2020-01-03 10:56:55 +00:00
Dave Page b617a5d89d Remove extra quotes that are doubled. 2020-01-03 10:51:54 +00:00
Dave Page b0877f63b5 Debugging for the automated build 2020-01-03 10:40:03 +00:00
Dave Page 56af090e54 More quoting fixes. 2020-01-03 10:32:18 +00:00
Dave Page fa74a42b34 More quoting fixes. 2020-01-03 10:21:05 +00:00
Dave Page c0595e62ee Fix quoting. 2020-01-03 10:14:13 +00:00
Paresh More f5afc51879 Ensure all binaries are securely signed and linked with the hardened runtime in the macOS bundle. Fixes #5060
Note that this is untested for automated builds, so may require further tweaks.
2020-01-03 09:56:45 +00:00
Dave Page 01c7636c75 Update copyright notices for 2020. 2020-01-02 14:43:50 +00:00
Aditya Toshniwal 964f746d76 Fix syntax highlighting in code mirror for backslash and escape constant. Fixes #4198. 2020-01-01 18:11:47 +05:30
Aditya Toshniwal febbd729ec Ensure that constraints, indexes, rules, triggers, and compound triggers should be created on partitions. Fixes #4842. 2020-01-01 12:59:48 +05:30
Aditya Toshniwal 737f8375fb Added support for on-demand loading of items in Select2. Fixes #5038. 2020-01-01 11:24:16 +05:30
Ganesh Jaybhay fc5287bd9f Added tab navigation for tabs under explain panel in query tool. Fixes #5047. 2020-01-01 10:51:45 +05:30
Nagesh Dhope 8c4dff057f Added aria-label attribute wherever missing for accessibility. 2020-01-01 10:37:17 +05:30
Nagesh Dhope 37f76142fb 1) Added aria-label to buttons used in graphical explain plan.
2) Fixed minor issue where we use dialog tab navigator keyboard shortcut only on visible tabs.
3) Fixed an issue where Zoom in, Zoom out, Zoom to original and Download button should not blur the focus after a click on them.

Initial patch sent by Murtuza Zabuawala.
2019-12-31 13:05:46 +05:30
Aditya Toshniwal cc5c3776ca Refactored SQL of Functions and Procedures. Fixes #5024. 2019-12-31 12:55:18 +05:30
Akshay Joshi ea3eabc3c7 1) Refactored SQL of Table's and it's child nodes. Fixes #4988.
2) Ensure that the error message should not be displayed if Tablespace is not selected while creating the index. Fixes #5008.
3) Fix an issue where operator, access method and operator class is not visible for exclusion constraints. Fixes #5009.
2019-12-20 18:10:50 +05:30
Khushboo Vashi f495af7a76 Refactored SQL of Views and Materialized Views. Fixes #5023. 2019-12-20 17:14:15 +05:30
Akshay Joshi 4b9bfb2e4a Optimized edit types and properties SQL for table/columns. It is part of #4988. 2019-12-20 11:46:10 +05:30
Aditya Toshniwal 15c518f0f1 Use cheroot as default production server for pgAdmin4. Fixes #5017
If DEBUG is true then we used the default flask server.
2019-12-20 11:32:02 +05:30
Aditya Toshniwal a6841bb1e1 Fixed couple of typos for edit types which results in showing proper edit types instead of all data types. 2019-12-18 13:35:58 +05:30
Akshay Joshi 584a200bf0 Updated node alpine image from 8 to 10. 2019-12-17 17:27:34 +05:30
Dave Page 60304e5a46 Clarify file ownership/permission requirements for mapped files in the container. 2019-12-17 10:50:52 +00:00
Aditya Toshniwal f1a18749f6 1) Allow screen-reader to read relationship attributes for tab, tabpanels and tables under it. Similar changes are done for subnode controls.
2) Add role="img" for font icons.

Fixes #4764
2019-12-17 13:22:36 +05:30
Levitt Olivier e29ea15554 Fix an issue where servers.json import fails when running in desktop mode. 2019-12-17 13:15:04 +05:30
Aditya Toshniwal ded71be73f Improved performance while fetching edit types for each column.
Edit types query is executed for every column when open properties dialog of the table.
Change the logic to fetch the edit types for all the distinct column types used in the table at once.
2019-12-16 18:26:22 +05:30
Ashesh Vashi 1f5ccd1c3b Fixed any typo - we were using the function
'TreeNode.prototype.hasParent(...)' to find the server parent node
instead of 'TreeNode.prototype.anyParen(...)'.
2019-12-14 10:31:33 +05:30
Dave Page 8cb239abcb Rename some internal environment variables that could conflict with Kubernetes. Fixes #4999. 2019-12-13 10:42:43 +05:30
Dave Page 8e8f89aa8f Add a warning about the need to chown storage directories. 2019-12-12 15:06:33 +00:00
Karan Takalkar 53f418b9a2 Added more information to the 'Database connected/disconnected' message. Fixes #4943. 2019-12-12 11:12:18 +05:30
Aditya Toshniwal 9bda583d5b Added aria-label to the buttons in the debugger. 2019-12-11 14:52:15 +05:30
Aditya Toshniwal 11bf5fc679 Fix an issue where clicking on an empty textbox like fill factor or comments, considers it as change and enabled the save button. Fixes #4506. 2019-12-11 14:35:14 +05:30
Aditya Toshniwal 43d37e3b4c Fix vulnerability issues reported by 'yarn audit'. Replace the deprecated uglifyjs-webpack-plugin with a terser-webpack-plugin. Fixes #5004. 2019-12-11 14:02:27 +05:30
Fred Escallier 3247223595 Update French translation. 2019-12-09 21:12:39 +05:30
Akshay Joshi 4a87b1387a Update version for release. 2019-12-09 18:05:09 +05:30
Khushboo Vashi cb26ca0e46 Fix XSS issue in explain and explain analyze for table and type which contain HTML. Fixes #4947. 2019-12-09 18:00:56 +05:30
Akshay Joshi f15db03ec3 Added statistics and storage information in reverse engineering SQL of table/column. Fixes #4982. 2019-12-09 15:01:04 +05:30
Dave Page 619c4e1180 Run pgAdmin in the container as a non-root user (pgadmin, UID: 5050). Fixes #4939. 2019-12-09 11:09:46 +05:30
Identifier Anonymous f44627c205 Update Japanese translation. 2019-12-09 10:31:55 +05:30
Domenico Sgarbossa 1b2cd8404a Update Italian translation. 2019-12-09 10:29:54 +05:30
Akshay Joshi 4a2e587123 Update message catalogs. 2019-12-06 19:30:51 +05:30
Aditya Toshniwal 6e2cf8ced2 Changed the open query tool and data filter icons. Fixes #4990. 2019-12-06 19:27:55 +05:30
Akshay Joshi 1a9d365c42 Fix reverse engineering SQL issue where when clause is not visible for PG/EPAS 12. Fixes #4976. 2019-12-06 19:01:55 +05:30
Aditya Toshniwal f8e443bda7 Fix scrolling issue in 'Users' dialog. Fixes #4220. 2019-12-05 17:50:19 +05:30
Dave Page 1bdb7d33fc Fix typo 2019-12-05 06:35:57 -05:00
Aditya Toshniwal 75ac259632 Fix issue where the user can not switch the UI language. It's a regression of #4348. Fixes #4975 2019-12-05 14:34:44 +05:30
Aditya Toshniwal 0bd26222d8 Fix query tool launch error if user name contains HTML characters. It's a regression. Fixes #4674. 2019-12-05 13:13:33 +05:30
Akshay Joshi f8e1973bc2 Fix reverse engineering SQL issue for partitions when specifying digits as comments. Fixes #4893. 2019-12-05 12:55:52 +05:30
Akshay Joshi 6c7fe644e5 Fix reverse engineering SQL issue for triggers when passed a single argument to trigger function. Fixes #4958. 2019-12-05 11:45:47 +05:30
Murtuza Zabuawala f901eeeb4a Fix an issue where context menu is open along with submenu and the focus is not on context menu or submenu. Fixes #4991. 2019-12-05 11:14:59 +05:30
Aditya Toshniwal b9c7a9e887 Fix the feature tests which were failing after the accessibility commit.
The reason being, the span elements which was used to show properties tab
data are changed to input now as per accessibility requirements.
2019-12-04 18:02:53 +05:30
Shubham Agarwal 5093e6db5e Fixed following issues for feature test:
1. Modified the get_chromedriver utility for supporting python version below 3.5.
2. Handled some exceptions getting intermittently on some databases.
3. Generalized some functions with additional parameters.
4. Disabled the auto-expansion of the children nodes for maintaining the synchronization.
2019-12-03 19:35:48 +05:30
Akshay Joshi f7cc79fab1 Fix an issue where the inherited table name with quotes did not escape correctly. Fixes #4985. 2019-12-03 19:31:32 +05:30
Akshay Joshi 9110703aaa Fix 'Could not find the object on the server.' error while refreshing the check constraint. Fixes #4966. 2019-12-03 14:18:45 +05:30
Aditya Toshniwal 0a67b2ecb9 Added aria-label to provide an invisible label where a visible label cannot be used. Fixes #4772. 2019-12-03 12:47:42 +05:30
Khushboo Vashi d476343b99 Enhance the logic to change the label from 'Delete/Drop' to 'Remove' for the server and server group node. Fixes #4923 2019-12-03 11:52:02 +05:30
Dave Page ac2bd5e6ee Use a 'play' icon for the Execute Query button in the Query Tool for greater consistency with other applications. Fixes #4711 2019-12-02 20:44:54 -05:00
Dave Page 246a475600 Allow Gunicorn logs in the container to be directed to a file specified through GUNICORN_ACCESS_LOGFILE. Fixes #4944 2019-12-02 20:14:01 -05:00
Khushboo Vashi ae2aadeede Fix an issue where pgAdmin4 unable to retrieve table node if the trigger is already disabled and the user clicks on Enable All. Fixes #4953. 2019-12-02 15:26:36 +05:30
Akshay Joshi d95e8db4ee Fix an issue of retrieving properties for Compound Triggers. It's a regression of #4006. Fixes #4952. 2019-12-02 15:01:54 +05:30
Khushboo Vashi cccc6e5676 Added role=status attribute to all the status messages for accessibility. Fixes #4773. 2019-12-02 14:15:31 +05:30
Aditya Toshniwal c4facc04d3 Fix pgAdmin4 failed to start issue after upgrading to version 4.15. Fixes #4978 2019-12-02 11:40:48 +05:30
Rahul Shirsat d98e86d3df Warn the user on changing the definition of Materialized View about the loss of data and its dependent objects. Fixes #4396 2019-12-02 11:25:51 +05:30
Fahar Abbas 623ff4f91f Allow drag and drop functionality for all the nodes under the database node, excluding collection nodes. Fixes #4435 2019-12-02 09:35:20 +05:30
Akshay Joshi 4fa1bdba5a 1) Refactored code of columns node. Fixes #4938.
2) Fix an issue where length and precision are not removed from table/column dialog. Fixes #4964.
3) Fix an issue where the Interval data type is not displayed in the properties dialog of table/column. Fixes #4965.
4) Fix an issue where the wrong type is displayed when changing the datatype from timestamp with time zone to timestamp without time zone. Fixes #4761.
5) Change the label from 'Length and Precision' to 'Length/Precision and Scale' for columns.
6) The maximum length for datatype like interval, timestamp with time zone, time with time zone, etc.. is 6. Set the max length to 6 instead of 10.
2019-11-28 18:48:53 +05:30
Aditya Toshniwal 4ed2d74d9c 1) Fix network disconnect issue while establishing the connection via SSH Tunnel and it impossible to expand the Servers node. Fixes #4724.
2) Fix server connection drops out issue in query tool. Fixes #4818
3) Fix VPN network disconnect issue where pgAdmin4 hangs on expanding the Servers node. Fixes #4926.
4) Ensure that the Servers collection node should expand independently of server connections. Fixes #4933.

Set the default connection timeout to 10 seconds instead of 0.
2019-11-26 09:04:41 +05:30
Abhilasha Narendra 700e01708b Updated documentation for default privileges to clarify more on the grantor. Fixes #4659. 2019-11-26 08:33:59 +05:30
Rahul Shirsat 1a39dedc62 Add Reverse Engineered and Modified SQL tests for Materialized Views. Fixes #4696. 2019-11-25 11:11:09 +05:30
Abhilasha Narendra a03b8b4f76 Updated the json file name from 'servers.json' to 'pgadmin4/servers.json' in the container deployment section of the documentation. Fixes #4836. 2019-11-25 10:45:05 +05:30
Shubham Agarwal ae462ed099 Fixed following feature tests:
1) Handled click event in query tool due to intermediate clicking issue.
2) Observed that the database is not getting created in a test case, so failed the test case there only.
2019-11-21 17:20:27 +05:30
Aditya Toshniwal 5316a28e6c Fixed issue where Dark Theme is unavailable in python wheel distro.
pgAdmin wheel distro is not having pgadmin.themes.json file in 'web/pgadmin/misc/themes' directory,
so it's better to refer this file from the generated directory.
2019-11-20 15:05:20 +05:30
Akshay Joshi bb845817d6 Fix vulnerability issue for package 'mem', which is a dependency module for eclint.
Remove unused eclint module from the package.json
2019-11-20 14:47:04 +05:30
Shubham Agarwal 425cc2a966 Fix some more feature tests:
1. Added an attribute 'data-click-counter' in query execute button which gets incremented
   once query button is clicked up to 9 and then reset to 0. This is added just to support automation.
2. Locator for login_group_role is added and used to expand tree.
3. Functions for enabling and disable auto_commit and auto_rollback are made more precise.
4. Some scrolling problem is addressed in view_data_dml_query test.
5. Handled the stale element reference exception in query_tool_journey_test
2019-11-20 12:50:04 +05:30
Shubham Agarwal dc47c8f898 Fixed following feature tests:
1. Process watcher loading logs fix
2. Auto commit/rollback issue in query_tool_tests
3. Fixed the scrolling issue while verifying values in a table.
4. Modified some functions in pgadmin_page.py
2019-11-15 18:02:17 +05:30
Akshay Joshi de878b3198 Refactored code of table and it's child nodes.
1) Remove duplicate logic.
2) Child node specific logic should be inside the child node and table node gets the required information from the respective child node.

Note:- Refactoring of columns node still in progress.

Fixes #4807
2019-11-15 14:45:55 +05:30
Aditya Toshniwal 00ce130286 Shown some text on process watcher till the initial logs are loaded. Fixes #4925 2019-11-15 12:12:19 +05:30
Aditya Toshniwal 3ff4dfd02d Fix issue where the Reset button does not get enabled till all the mandatory fields are provided in the dialog. Fixes #3538 2019-11-15 11:51:06 +05:30
Nagesh Dhope 397a1b9616 Fix main window tab navigation accessibility issue:
1) Dashboard -> Server Activity grid: terminate the session, cancel active button not navigable using tab key.
2) SQL -> If the focus inside code mirror control tab navigation not working.

Fixes #4930
2019-11-15 11:31:19 +05:30
Murtuza Zabuawala 6a5d98cf19 Fix accessibility issues:
1) Suppress ESC key presses in Alertify dialogues when the come from Select2 controls (It also closes the alertify dialog when user try to close Select2 using ESC key)
2) Do not allow Tabindex focus on Switch control when it is disbaled
3) Tab keyboard shortcut navigation does not work in wcDocker iframe.

Fixes #4935
2019-11-15 11:06:00 +05:30
Akshay Joshi f22134dabd Ensure that the superuser should be able to create database and role, as the superuser
overrides all the access restrictions.
Fixes #4792 Fixes #4878
2019-11-14 18:14:53 +05:30
Domenico Sgarbossa b7d7bda93a Update Italian translation. 2019-11-14 17:58:06 +05:30
Dave Page 3d4d40fa02 Fix the help button link on the User Management dialog. Fixes #4934 2019-11-14 11:51:26 +00:00
Aditya Toshniwal 42cd2a2276 Set browser autofill color as primary light to highlight autofill. This works only on WebKit browsers. 2019-11-13 11:35:09 +05:30
Shubham Agarwal 7b568cfce2 Fixed feature tests related to process watcher. 2019-11-13 11:19:21 +05:30
Fred Escallier 00ebc58795 Update French translation. 2019-11-12 20:01:34 +05:30
Aditya Toshniwal 79e04d5e23 Customize the scrollbar stying. Added new SASS variable to change the color as per theme. 2019-11-12 19:38:35 +05:30
Aditya Toshniwal 636ab29669 Further changes to the welcome dashboard for theme customization. 2019-11-12 17:53:52 +05:30
Akshay Joshi fb87920bbb Fixed docker container exit issue occurs due to change in Gunicorn's latest version.
Updated Dockerfile and hardcoded Gunicorn version to 19.9.0

Fixes #4924
2019-11-12 17:48:10 +05:30
Akshay Joshi 8a03c42bd4 Update version for release. 2019-11-12 08:20:43 +05:30
Dave Page 5b00ad0336 Remove extra whitespace. 2019-11-11 14:55:53 +00:00
Dave Page 314990447c Ensure compatibility with older versions of Sphinx. 2019-11-11 14:54:43 +00:00
Dave Page 664d9a2144 Support older versions of Sphinx 2019-11-11 14:51:11 +00:00
Aditya Toshniwal c1c682402a 1) Further styling tweaks for Dark Theme.
2) Theme related code changes are removed from config.py and moved to miscellaneous under a new package - "themes".
2019-11-11 18:47:43 +05:30
Akshay Joshi 7282e15ee2 Fixed API and RESQL test cases for Compound Trigger after the recent changes in EPAS 12.
EPAS 12 Changes:
   Fix server crash when the compound trigger has both row and statement-level triggers having
   WHEN clause containing NEW/OLD vars.
2019-11-11 17:22:50 +05:30
Shubham Agarwal b48121335c Fixed feature tests.
Changes included:
  1. Created function for traversing the browser tree.
  2. Fixed some synchronization issues.
  3. Modified locators.
  4. Test cases fix for the recent commits.
2019-11-11 10:49:00 +05:30
Identifier Anonymous ea0c077180 Update Japanese translation. 2019-11-11 09:51:20 +05:30
Akshay Joshi c11bed3819 Update message catalogs. 2019-11-08 18:50:00 +05:30
Murtuza Zabuawala 022cf3d93c Fixed an issue where keyboard shortcut for context menu is not working when using Firefox on CentOS7. Fixes #4906 2019-11-08 18:41:57 +05:30
Nagesh Dhope 2522c8c9e2 Fixed an issue where escape key not working to close the open/save file dialog. Fixes #4896 2019-11-08 18:26:46 +05:30
Dave Page 475a717cd6 Add navigation links to the bottom of the docs, and embiggen the font a touch. 2019-11-07 16:37:54 +00:00
Dave Page 4c192393b0 Tone down the primary FG colour in dark mode a touch. 2019-11-07 14:24:42 +00:00
Dave Page 9961a6c101 Remove extra space. 2019-11-07 14:15:13 +00:00
Dave Page c3c3e802ca Fix wrapping. 2019-11-07 14:13:22 +00:00
Dave Page 1ebf7948c6 Quick tweak to increase the contrast of dark mode a little prior to a real review of the colours tomorrow. 2019-11-07 14:09:51 +00:00
Akshay Joshi f98136cd99 Correct the issue number for the previous commit. Fixes #4173 2019-11-07 19:01:29 +05:30
Aditya Toshniwal 8180403f97 1) Added support for custom theme creation and selection. Fixes #4348.
2) Added Dark(Beta) UI Theme option. Fixes #3741.
3) Fix an issue where a black arrow-kind image is displaying at the background of browser tree images. Fixes #4171

Changes include:
  1) New theme option in preferences - Miscellaneous -> Themes. You can select the theme from the dropdown.
     It also has a preview of the theme just below the dropdown. Note that, a page refresh is needed to apply changes.
     On saving, a dialog appears to ask for refresh.
  2) You can create your own theme and submit to hackers. README is updated to help you create a theme. Theme will be available only after the bundle.
  3) Correction of SASS variables at few places and few other CSS corrections.
  4) Added iconfont-webpack-plugin, which will convert all the SVG files(monochrome) used as icons for buttons to font icons.
     This will allow us to change the color of the icon by using CSS color property.
  5) All the .css files will bundle into a separate file now- pgadmin.style.css. This will help reduce the size of
     theme CSS files as CSS in .css files will not change with the change of SASS variables.
2019-11-07 18:51:03 +05:30
Rahul Shirsat 62d55cabd9 1) Fixed issue where Drop and Disconnect connection menu points are too close to each other. Fixes #3279
2) Rename the context menu from 'Drop Server' to 'Remove Server'. Fixes #3859
2019-11-07 13:11:24 +05:30
Dave Page 091d2cd0d2 Fixed an issue where psql of v12 throwing "symbol not found" error while running Maintenance and Import/Export.
Copy libpq.so.5.12 from pg12-builder to the final container and create a symbolic link. 

Fixes #4835
2019-11-07 12:12:43 +05:30
Ganesh Jaybhay 69fba93152 Fixed potential issue in reset function for nested objects.
Reset function clears the model instead of storing previous values.

Fixes #4895
2019-11-05 14:47:07 +05:30
Aditya Toshniwal 570ee58f53 Add an option to request confirmation before cancelling/resetting changes on a Properties dialog. Fixes #4351 2019-11-05 14:28:03 +05:30
Aditya Toshniwal e10b58e4ca Ensure create new object dialog should be opened when alt+shift+n key is pressed on the collection node. Fixes #3130 2019-11-05 11:20:03 +05:30
Aditya Toshniwal 080ccdda5b Remove arbitrary (and incorrect) requirement that composite types must have at least two members. Fixes #4451 2019-11-01 15:21:59 +00:00
Aditya Toshniwal a7d8b9de8c Ensure that units are respected when sorting by file size in the File dialog. Fixes #4647 2019-11-01 15:00:34 +00:00
Aditya Toshniwal 30c7effa50 Fix the toggle case shortcut key combination. Fixes #3999 2019-11-01 12:10:14 +00:00
Aditya Toshniwal f85efb2797 Handle NULL values appropriately when sorting backgrid tables. Fixes #4242 2019-11-01 12:04:40 +00:00
Aditya Toshniwal f8e0b54836 Ensure comments are shown in reverse engineered SQL for table partitions. Fixes #4191 2019-11-01 11:58:38 +00:00
Aditya Toshniwal 131a944e24 Support Enable Always and Enable Replica on triggers. Fixes #4006 2019-11-01 11:49:17 +00:00
Abhilasha Narendra ab5d954337 1) Updated documentation for the delete row button that only strikeout the row instead of deleting it. Fixes #4734
2) Updated documentation for the query tool toolbar buttons. Fixes #4779
2019-10-31 19:40:18 +05:30
Aditya Toshniwal 4bec7df33b Suppress Enter key presses in Alertify dialogues when the come from Select2 controls to allow item selection with Enter. Fixes #4610 2019-10-30 10:42:06 +00:00
Aditya Toshniwal fbc3e2d0e7 Don't warn the user before saving changes. 2019-10-30 10:13:29 +00:00
Aditya Toshniwal 4f9d2de8cd Ensure Javascript errors during Query Tool execution are reported as such and not as Ajax errors.. Fixes #4564 2019-10-29 15:51:28 +00:00
Dave Page 18b7483cc4 Correct the issue number for the previous commit (c25034a8). Fixes #4351 2019-10-29 14:34:51 +00:00
Aditya Toshniwal c25034a86d Add an option to request confirmation before cancelling changes on a Properties dialog. Fixes #4315 2019-10-29 14:31:43 +00:00
Dave Page 7408b8c8d9 PEP-8 fix. 2019-10-29 12:18:49 +00:00
Aditya Toshniwal 06022dfd7e Fix an issue in the Query Tool where shortcut keys could be ignored following a query error. Fixes #3915 2019-10-29 11:51:01 +00:00
Richard Yen 30e9673375 Give appropriate error messages when the user tries to use an blank master password. Fixes #4341 2019-10-25 13:55:07 +01:00
Aditya Toshniwal 2182dc3cc5 2 fixes for the backup dialogue when using directory format:
Ensure compression level is passed to pg_dump when backing up in directory format. Fixes #4482
Ensure the number of jobs can be specified when backing up in directory format. Fixes #4483
2019-10-25 13:21:53 +01:00
Aditya Toshniwal 1f6a0a87f6 Ensure all messages are retained in the Query Tool from long running queries. Fixes #4730 2019-10-25 12:38:46 +01:00
Aditya Toshniwal 6d7ff9444a Don't quote bigints when copying them from the Query Tool results grid. Fixes #4459 2019-10-25 11:53:39 +01:00
Aditya Toshniwal 4125360dfb Ensure the correct "running at" agent is shown when a pgAgent job is executing. Fixes #3913 2019-10-25 11:39:40 +01:00
Aditya Toshniwal a804485a4c Ensure context menus never get hidden below the menu bar. Fixes #3789 2019-10-25 11:31:25 +01:00
Aditya Toshniwal 02642628b0 Added encrypted password in reverse engineered SQL for roles. Fixes #1974. 2019-10-23 13:16:36 +05:30
Ganesh Jaybhay 5b438e13cc Fixed potential error in the properties dialog for the Code tab. Fixes #4845. 2019-10-18 17:38:15 +05:30
Nagesh Dhope 687fe617cc Fixed an issue where Datetimepicker control opens when clicking on the label.
Change the click event to 'click .input-group'.

Fixes #4850
2019-10-18 17:37:57 +05:30
Usman Muzaffar 03391a07e0 Fixed minor issue in feature tests.
Signed-off-by: Akshay Joshi <akshay.joshi@enterprisedb.com>
2019-10-18 17:37:33 +05:30
1162 changed files with 27714 additions and 21985 deletions

No files matched your search

+1
View File
@@ -36,6 +36,7 @@ runtime/pgAdmin4_resource.rc
runtime/release/
runtime/ui_BrowserWindow.h
web/config_local.py
web/pgadmin/misc/themes/pgadmin.themes.json
web/geckodriver.log
web/regression/test_config.json
node_modules/
+20 -3
View File
@@ -12,7 +12,7 @@
# and clean up the web/ source code
#########################################################################
FROM node:8-alpine AS app-builder
FROM node:10-alpine AS app-builder
RUN apk add --no-cache \
autoconf \
@@ -160,12 +160,18 @@ RUN apk add --no-cache --virtual \
apk add \
postfix \
postgresql-client \
postgresql-libs && \
postgresql-libs \
shadow \
libcap && \
pip install --upgrade pip && \
pip install --no-cache-dir -r requirements.txt && \
pip install --no-cache-dir gunicorn && \
pip install --no-cache-dir gunicorn==19.9.0 && \
apk del --no-cache build-deps
# We need the v12 libpq, which is only in the 'edge' build of Alpine at present
COPY --from=pg12-builder /usr/local/lib/libpq.so.5.12 /usr/lib/
RUN ln -sf /usr/lib/libpq.so.5.12 /usr/lib/libpq.so.5
# Copy the runner script
COPY pkg/docker/run_pgadmin.py /pgadmin4
COPY pkg/docker/entrypoint.sh /entrypoint.sh
@@ -173,6 +179,17 @@ COPY pkg/docker/entrypoint.sh /entrypoint.sh
# Precompile and optimize python code to save time and space on startup
RUN python -O -m compileall -x node_modules /pgadmin4
RUN groupadd -g 5050 pgadmin && \
useradd -r -u 5050 -g pgadmin pgadmin && \
mkdir -p /var/lib/pgadmin && \
chown pgadmin:pgadmin /var/lib/pgadmin && \
mkdir -p /var/log/pgadmin && \
chown pgadmin:pgadmin /var/log/pgadmin && \
touch /pgadmin4/config_distro.py && \
chown pgadmin:pgadmin /pgadmin4/config_distro.py && \
setcap CAP_NET_BIND_SERVICE=+eip /usr/local/bin/python3.7
USER pgadmin
# Finish up
VOLUME /var/lib/pgadmin
EXPOSE 80 443
+1 -1
View File
@@ -1,6 +1,6 @@
pgAdmin 4
Copyright (C) 2013 - 2019, The pgAdmin Development Team
Copyright (C) 2013 - 2020, 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
+17
View File
@@ -219,6 +219,23 @@ can be used:
C:\$PGADMIN4_SRC\web> yarn install
C:\$PGADMIN4_SRC\web> yarn run bundle
Creating pgAdmin themes
-----------------------
To create a pgAdmin theme, you need to create a directory under
web/pgadmin/static/scss/resources.
Copy the sample file _theme.variables.scss.sample to the new directory and
rename it to _theme.variables.scss. Change the desired hexadecimal values of
the colors and bundle pgAdmin. You can also add a preview image in the theme
directory with the name as <dir name>_preview.png. It is recommended that the
preview image should not be larger in size as it may take time to load on slow
networks. Run the yarn run bundle and you're good to go. No other changes are
required, pgAdmin bundle will read the directory and create other required
entries to make them available in preferences.
The name of the theme is derived from the directory name. Underscores (_) and
hyphens (-) will be replaced with spaces and the result will be camel cased.
Configuring the Runtime
-----------------------
+1 -1
View File
@@ -16,7 +16,7 @@ review process for any patches 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 - 2019, The pgAdmin Development Team
Copyright (C) 2013 - 2020, The pgAdmin Development Team
* Ensure there's a blank line immediately following any copyright headers.
+1 -1
View File
@@ -170,7 +170,7 @@ with the required file header is shown below::
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2019, The pgAdmin Development Team
# Copyright (C) 2013 - 2020, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+1 -1
View File
@@ -34,7 +34,7 @@ are disabled if inapplicable.)
column. For more information on the data types that are supported by
PostgreSQL, refer to Chapter 8 of the Postgres core documentation. This field
is required.
* Use the *Length* and *Precision* fields to specify the maximum number of
* Use the *Length/Precision* and *Scale* fields to specify the maximum number of
significant digits in a numeric value, or the maximum number of characters in
a text value.
* Use the drop-down listbox next to *Collation* to apply a collation setting to
+7
View File
@@ -24,6 +24,13 @@ Use the fields in the *General* tab to identify the compound trigger:
The name will be displayed in the *pgAdmin* tree control.
* Store notes about the compound trigger in the *Comment* field.
.. image:: images/compound_trigger_general_enabled.png
:alt: Trigger enabled in dialog tab
:align: center
* *Trigger enabled* field is available in compound trigger dialog once the trigger is created.
You can select one of the four options available.
Click the *Events* tab to continue.
.. image:: images/compound_trigger_events.png
+30 -3
View File
@@ -76,6 +76,13 @@ than using the default.
Override the default file path for the server definition list. See the
/pgadmin4/servers.json mapped file below for more information.
**GUNICORN_ACCESS_LOGFILE**
*Default: -* (stdout)
Specify an output file in which to store the Gunicorn access logs, instead of
sending them to stdout.
**GUNICORN_THREADS**
*Default: 25*
@@ -104,7 +111,27 @@ Mapped Files and Directories
The following files or directories can be mapped from the container onto the
host machine to allow configuration to be customised and shared between
instances:
instances.
.. warning:: Warning: pgAdmin runs as the *pgadmin* user (UID: 5050) in the
*pgadmin* group (GID: 5050) in the container. You must ensure that all files
are readable, and where necessary (e.g. the working/session directory) for
this user on the host machine. For example:
.. code-block:: bash
sudo chown -R 5050:5050 <host_directory>
On some filesystems that do not support extended attributes, it may not be
possible to run pgAdmin without specifying a value for *PGADMIN_LISTEN_PORT*
that is greater than 1024. In such cases, specify an alternate port when
launching the container by adding the environment variable, for example:
.. code-block:: bash
-e 'PGADMIN_LISTEN_PORT=5050'
Don't forget to adjust any host-container port mapping accordingly.
**/var/lib/pgadmin**
@@ -174,7 +201,7 @@ Run a TLS secured container using a shared config/storage directory in
-v /private/var/lib/pgadmin:/var/lib/pgadmin \
-v /path/to/certificate.cert:/certs/server.cert \
-v /path/to/certificate.key:/certs/server.key \
-v /tmp/servers.json:/servers.json \
-v /tmp/servers.json:/pgadmin4/servers.json \
-e 'PGADMIN_DEFAULT_EMAIL=user@domain.com' \
-e 'PGADMIN_DEFAULT_PASSWORD=SuperSecret' \
-e 'PGADMIN_ENABLE_TLS=True' \
@@ -372,4 +399,4 @@ the container is launched like this:
The *SCRIPT_NAME* environment variable has been set to tell the container it is
being hosted under a subdirectory (in the same way as the *X-Script-Name* header
is used with Nginx), and a label has been added to tell Traefik to route
requests under the subdirectory to this container.
requests under the subdirectory to this container.
+1 -3
View File
@@ -61,8 +61,7 @@ Use the *Privileges* panel to assign privileges to a role. Click the *Add* icon
* Select the name of the role from the drop-down listbox in the *Grantee* field.
* Click inside the *Privileges* field. Check the boxes to the left of one or
more privileges to grant the selected privilege to the specified user.
* Select the name of the role from the drop-down listbox in the *Grantor* field.
The default grantor is the owner of the database.
* The current user, who is the default grantor for granting the privilege, is displayed in the *Grantor* field.
Click add to set additional privileges; to discard a privilege, click the trash
icon to the left of the row and confirm deletion in the *Delete Row* popup.
@@ -121,4 +120,3 @@ allows unlimited connections, and is available to all authenticated users.
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
+1 -5
View File
@@ -75,9 +75,7 @@ to assign a set of privileges.
* Select the name of the role from the drop-down listbox in the *Grantee* field.
* Click inside the *Privileges* field. Check the boxes to the left of one or
more privileges to grant the selected privileges to the specified user.
* Select the name of the role granting the privileges from the drop-down listbox
in the *Grantor* field. The default grantor is the owner of the foreign data
wrapper.
* The current user, who is the default grantor for granting the privilege, is displayed in the *Grantor* field.
Click add to assign additional privileges; to discard a privilege, click the
trash icon to the left of the row and confirm deletion in the *Delete Row*
@@ -108,5 +106,3 @@ pre-existing validator and handler functions, *dblink_fdw_validator* and
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
+1 -3
View File
@@ -65,9 +65,7 @@ Click *Add* before you assign a set of privileges.
* Select the name of the role from the drop-down listbox in the *Grantee* field.
* Click inside the *Privileges* field. Check the boxes to the left of one or
more privileges to grant the selected privileges to the specified user.
* Select the name of the role from the drop-down listbox in the *Grantor* field.
The default grantor is the owner of the foreign server. This is a required
field.
* The current user, who is the default grantor for granting the privilege, is displayed in the *Grantor* field.
Click *Add* to assign a new set of privileges; to discard a privilege, click the
trash icon to the left of the row and confirm deletion in the *Delete Row*
+1 -5
View File
@@ -120,9 +120,7 @@ Use the *Privileges* panel to assign privileges to a role. Click the *Add* icon
drop-down listbox in the *Grantee* field.
* Click inside the *Privileges* field. Check the boxes to the left of one or
more privileges to grant the selected privilege to the specified user.
* Select the name of the role that owns the foreign table from the drop-down
listbox in the *Grantor* field. The default grantor is the owner of the
database.
* The current user, who is the default grantor for granting the privilege, is displayed in the *Grantor* field.
Click the *Add* icon (+) to assign additional privileges; to discard a
privilege, click the trash icon to the left of the row and confirm deletion in
@@ -166,5 +164,3 @@ columns and two options.
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
+1 -5
View File
@@ -140,8 +140,7 @@ role.
* Select the name of the role from the drop-down listbox in the *Grantee* field.
* Click inside the *Privileges* field. Check the boxes to the left of one or
more privileges to grant the selected privilege to the specified user.
* Select the name of the role from the drop-down listbox in the *Grantor* field.
The default grantor is the owner of the database.
* The current user, who is the default grantor for granting the privilege, is displayed in the *Grantor* field.
Click the *Add* icon (+) to assign additional privileges; to discard a
privilege, click the trash icon to the left of the row and confirm deletion in
@@ -184,6 +183,3 @@ function have three columns (p_ename, p_sal and p_comm).
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
+2 -3
View File
@@ -55,8 +55,7 @@ the object.
more privileges to grant the selected privileges to the specified user. If
privileges have previously been granted on a database object, unchecking a
privilege for a group or user will result in revoking that privilege.
* If enabled, select the name of the role from the drop-down listbox in the
*Grantor* field. The default grantor is the owner of the database.
* The current user, who is the default grantor for granting the privilege, is displayed in the *Grantor* field.
* Click the *Add* icon (+) to assign a set of privileges to another role; to
discard a privilege, click the trash icon to the left of the row and confirm
deletion in the *Delete Row* dialog.
@@ -89,4 +88,4 @@ privileges *WITH GRANT OPTION* on the *sales_meetings* and the
* Click the *Back* button to select or deselect additional database objects,
roles and privileges.
* Click the *Cancel* button to exit without saving work.
* Click the *Finish* button to save selections and exit the wizard.
* Click the *Finish* button to save selections and exit the wizard.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 KiB

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 449 KiB

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 495 KiB

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 168 KiB

After

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 250 KiB

After

Width:  |  Height:  |  Size: 226 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 220 KiB

After

Width:  |  Height:  |  Size: 195 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 166 KiB

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 127 KiB

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 74 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 55 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

+1 -4
View File
@@ -53,8 +53,7 @@ Use the *Privileges* panel to assign privileges to a role. Click the *Add* icon
* Select the name of the role from the drop-down listbox in the *Grantee* field.
* Click inside the *Privileges* field. Check the boxes to the left of one or
more privileges to grant the selected privilege to the specified user.
* Select the name of the role from the drop-down listbox in the *Grantor* field.
The default grantor is the owner of the database.
* The current user, who is the default grantor for granting the privilege, is displayed in the *Grantor* field.
Click the *Add* icon (+) to assign additional privileges; to discard a
privilege, click the trash icon to the left of the row and confirm deletion in
@@ -96,5 +95,3 @@ The example shown demonstrates creating the procedural language named *plperl*.
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
+1 -1
View File
@@ -13,7 +13,7 @@ documentation is attributed to the
.. topic:: pgAdmin 4
Copyright (C) 2013 - 2019, The pgAdmin Development Team
Copyright (C) 2013 - 2020, The pgAdmin Development Team
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose, without fee, and without a written agreement is
+4 -3
View File
@@ -35,7 +35,9 @@ Click the *Definition* tab to continue.
:align: center
Use the text editor field in the *Definition* tab to provide the query that will
populate the materialized view.
populate the materialized view. Please note that updating the definition of existing
materialized view would result in loss of Parameter(Table, Toast), Security(Privileges & Security labels),
Indexes and other dependent objects.
Click the *Storage* tab to continue.
@@ -83,8 +85,7 @@ Use the *Privileges* panel to assign privileges to a role. Click the *Add* icon
* Select the name of the role from the drop-down listbox in the *Grantee* field.
* Click inside the *Privileges* field. Check the boxes to the left of one or
more privileges to grant the selected privilege to the specified user.
* Select the name of the role from the drop-down listbox in the *Grantor*
field. The default grantor is the owner of the database.
* The current user, who is the default grantor for granting the privilege, is displayed in the *Grantor* field.
Click the *Add* icon (+) to assign additional privileges; to discard a
privilege, click the trash icon to the left of the row and confirm deletion in
+3 -1
View File
@@ -57,7 +57,7 @@ following options (in alphabetical order):
+-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
| *Delete/Drop* | Click to delete the currently selected object from the server. |
+-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
| *Disconnect Server...* | Click to refresh the currently selected object. |
| *Disconnect Server...* | Click to disconnect the currently selected server. |
+-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
| *Drop Cascade* | Click to delete the currently selected object and all dependent objects from the server. |
+-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
@@ -65,6 +65,8 @@ following options (in alphabetical order):
+-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
| *Refresh...* | Click to refresh the currently selected object. |
+-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
| *Remove Server* | Click to remove the currently selected server. |
+-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
| *Scripts* | Click to open the :ref:`Query tool <query_tool>` to edit or view the selected script from the flyout menu. |
+-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
| *Trigger(s)* | Click to *Disable* or *Enable* trigger(s) for the currently selected table. Options are displayed on the flyout menu. |
+1 -4
View File
@@ -51,8 +51,7 @@ package to a role. Click the *Add* icon (+) to set privileges for the package:
* Select the name of the role from the drop-down listbox in the *Grantee* field.
* Click inside the *Privileges* field. Check the boxes to the left of a
privilege to grant the selected privilege to the specified user.
* Select the name of a role from the drop-down listbox in the *Grantor* field.
The default grantor is the owner of the package.
* The current user, who is the default grantor for granting the privilege, is displayed in the *Grantor* field.
Click the *Add* icon (+) to assign additional privileges; to discard a
privilege, click the trash icon to the left of the row, and confirm the deletion
@@ -73,5 +72,3 @@ two function and two procedure.
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Reset* button to delete any changes to the dialog.
+12
View File
@@ -34,6 +34,10 @@ Use the fields on the *Display* panel to specify general display preferences:
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.
@@ -174,6 +178,14 @@ Expand the *Miscellaneous* node to specify miscellaneous display preferences.
* Use the *User 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 *Themes* drop-down listbox to select the theme for pgAdmin. You'll also get a preview just below the
drop down. Note that, to apply the theme you need to refresh the pgAdmin page. You can also submit your
own themes, check `here <https://git.postgresql.org/gitweb/?p=pgadmin4.git;a=blob_plain;f=README>`_ how.
The Paths Node
**************
+2 -3
View File
@@ -122,8 +122,7 @@ role:
* Select the name of the role from the drop-down listbox in the *Grantee* field.
* Click inside the *Privileges* field. Check the boxes to the left of one or
more privileges to grant the selected privilege to the specified user.
* Select the name of the role from the drop-down listbox in the *Grantor* field.
The default grantor is the owner of the database.
* The current user, who is the default grantor for granting the privilege, is displayed in the *Grantor* field.
Click *Add* to assign additional privileges; to discard a privilege, click the
trash icon to the left of the row and confirm deletion in the *Delete Row*
@@ -166,4 +165,4 @@ with the privileges of the role that defined the procedure.
* Click the *Info* button (i) to access online help.
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
* Click the *Reset* button to restore configuration parameters.
+183 -172
View File
@@ -1,172 +1,183 @@
.. _query_tool_toolbar:
***************************
`Query Tool Toolbar`:index:
***************************
The *Query Tool* toolbar uses context-sensitive icons that provide shortcuts to
frequently performed tasks. If an icon is highlighted, the option is enabled;
if the icon is grayed-out, the task is disabled.
.. note:: The :ref:`Query Tool <query_tool>` and
:ref:`View/Edit Data <editgrid>` tools are actually different operating
modes of the same tool. Some controls will be disabled in either mode.
.. image:: images/query_toolbar.png
:alt: Query tool toolbar
:align: center
Hover over an icon in pgAdmin to display a tooltip that describes the icon's
functionality.
File Options
************
.. table::
:class: longtable
:widths: 1 4 1
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| Icon | Behavior | Shortcut |
+======================+===================================================================================================+================+
| *Open File* | Click the *Open File* icon to display a previously saved query in the SQL Editor. | Accesskey + O |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Save File* | Click the *Save* icon to perform a quick-save of a previously saved query, or to access the | Accesskey + S |
| | *Save* menu: | |
| | | |
| | * Select *Save* to save the selected content of the SQL Editor panel in a file. | |
| | | |
| | * Select *Save As* to open a new browser dialog and specify a new location to which to save the | |
| | selected content of the SQL Editor panel. | |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
Editing Options
***************
.. table::
:class: longtable
:widths: 1 4 1
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| Icon | Behavior | Shortcut |
+======================+===================================================================================================+================+
| *Save Data* | Click the *Save Data* icon to save data changes in the Data Output Panel to the server. | F6 |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Find* | Use the *Find* menu to search, replace, or navigate the code displayed in the SQL Editor: | |
| +---------------------------------------------------------------------------------------------------+----------------+
| | Select *Find* to provide a search target, and search the SQL Editor contents. | Cmd+F |
| +---------------------------------------------------------------------------------------------------+----------------+
| | Select *Find next* to locate the next occurrence of the search target. | Cmd+G |
| +---------------------------------------------------------------------------------------------------+----------------+
| | Select *Find previous* to move to the last occurrence of the search target. | Cmd+Shift+G |
| +---------------------------------------------------------------------------------------------------+----------------+
| | Select *Pesistent find* to identify all occurrences of the search target within the editor. | |
| +---------------------------------------------------------------------------------------------------+----------------+
| | Select *Replace* to locate and replace (with prompting) individual occurrences of the target. | Cmd+Shift+F |
| +---------------------------------------------------------------------------------------------------+----------------+
| | Select *Replace all* to locate and replace all occurrences of the target within the editor. | |
| +---------------------------------------------------------------------------------------------------+----------------+
| | Select *Jump* to navigate to the next occurrence of the search target. | Alt+G |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Copy* | Click the *Copy* icon to copy the content that is currently highlighted in the Data Output panel. | Accesskey + C |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Paste* | Click the *Paste* icon to paste a previously row into a new row. | Accesskey + P |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Delete* | Click the *Delete* icon to delete the selected rows. | Accesskey + D |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Edit* | Use options on the *Edit* menu to access text editing tools; the options operate on the text | |
| | displayed in the SQL Editor panel when in Query Tool mode: | |
| +---------------------------------------------------------------------------------------------------+----------------+
| | Select *Indent Selection* to indent the currently selected text. | Tab |
| +---------------------------------------------------------------------------------------------------+----------------+
| | Select *Unindent Selection* to remove indentation from the currently selected text. | Shift+Tab |
| +---------------------------------------------------------------------------------------------------+----------------+
| | Select *Inline Comment Selection* to enclose any lines that contain the selection in SQL style | Cmd+/ |
| | comment notation. | |
| +---------------------------------------------------------------------------------------------------+----------------+
| | Select *Inline Uncomment Selection* to remove SQL style comment notation from the selected line. | Cmd+. |
| +---------------------------------------------------------------------------------------------------+----------------+
| | Select *Block Comment* to enclose all lines that contain the selection in C style comment | Shift+Cmd+/ |
| | notation. This option acts as a toggle. | |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
View/Edit Data Resultset Control
********************************
.. table::
:class: longtable
:widths: 1 4 1
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| Icon | Behavior | Shortcut |
+======================+===================================================================================================+================+
| *Filter* | Click the *Filter* icon to set filtering and sorting criteria for the data when in View/Edit data | Accesskey + F |
| | mode. Click the down arrow to access other filtering and sorting options: | |
| | | |
| | * Click *Sort/Filter* to open the sorting and filtering dialogue. | |
| | | |
| | * Click *Filter by Selection* to show only the rows containing the values in the selected cells. | |
| | | |
| | * Click *Exclude by Selection* to show only the rows that do not contain the values in the | |
| | selected cells. | |
| | | |
| | * Click *Remove Sort/Filter* to remove any previously selected sort or filtering options. | |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| Limit Selector | Select a value in the *Limit Selector* to limit the size of the dataset to a number of rows. | Accesskey + R |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Stop* | Click the *Stop* icon to cancel the execution of the currently running query. | Accesskey + Q |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
Query Execution
***************
.. table::
:class: longtable
:widths: 1 4 1
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| Icon | Behavior | Shortcut |
+======================+===================================================================================================+================+
| *Execute/Refresh* | Click the *Execute/Refresh* icon to either execute or refresh the query highlighted in the SQL | F5 |
| | editor panel. Click the down arrow to access other execution options: | |
| | | |
| | * Add a check next to *Auto-Rollback* to instruct the server to automatically roll back a | |
| | transaction if an error occurs during the transaction. | |
| | | |
| | * Add a check next to *Auto-Commit* to instruct the server to automatically commit each | |
| | transaction. Any changes made by the transaction will be visible to others, and | |
| | durable in the event of a crash. | |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Explain* | Click the *Explain* icon to view an explanation plan for the current query. The result of the | F7 |
| | EXPLAIN is displayed graphically on the *Explain* tab of the output panel, and in text | |
| | form on the *Data Output* tab. | |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Explain analyze* | Click the *Explain analyze* icon to invoke an EXPLAIN ANALYZE command on the current query. | Shift+F7 |
| | | |
| | Navigate through the *Explain Options* menu to select options for the EXPLAIN command: | |
| | | |
| | * Select *Verbose* to display additional information regarding the query plan. | |
| | | |
| | * 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 *Timing* to include information about the startup time and the amount of time | |
| | spent in each node of the query. | |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Commit* | Click the *Commit* icon to commit the transaction. | Shift+CTRL+M |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Rollback* | Click the *Rollback* icon to rollback the transaction. | Shift+CTRL+R |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Clear* | Use options on the *Clear* drop-down menu to erase display contents: | Accesskey + L |
| | | |
| | * Select *Clear Query Window* to erase the content of the SQL Editor panel. | |
| | | |
| | * Select *Clear History* to erase the content of the *History* tab. | |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Download as CSV* | Click the *Download as CSV* icon to download the result set of the current query to a | F8 |
| | comma-separated list. You can specify the CSV settings through | |
| | *Preferences -> SQL Editor -> CSV output* dialogue. | |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
.. _query_tool_toolbar:
***************************
`Query Tool Toolbar`:index:
***************************
The *Query Tool* toolbar uses context-sensitive icons that provide shortcuts to
frequently performed tasks. If an icon is highlighted, the option is enabled;
if the icon is grayed-out, the task is disabled.
.. note:: The :ref:`Query Tool <query_tool>` and
:ref:`View/Edit Data <editgrid>` tools are actually different operating
modes of the same tool. Some controls will be disabled in either mode.
.. image:: images/query_toolbar.png
:alt: Query tool toolbar
:align: center
Hover over an icon in pgAdmin to display a tooltip that describes the icon's
functionality.
File Options
************
.. table::
:class: longtable
:widths: 1 4 1
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| Icon | Behavior | Shortcut |
+======================+===================================================================================================+================+
| *Open File* | Click the *Open File* icon to display a previously saved query in the SQL Editor. | Accesskey + O |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Save File* | Click the *Save* icon to perform a quick-save of a previously saved query, or to access the | Accesskey + S |
| | *Save* menu: | |
| | | |
| | * Select *Save* to save the selected content of the SQL Editor panel in a file. | |
| | | |
| | * Select *Save As* to open a new browser dialog and specify a new location to which to save the | |
| | selected content of the SQL Editor panel. | |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
Editing Options
***************
.. table::
:class: longtable
:widths: 1 4 1
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| Icon | Behavior | Shortcut |
+======================+===================================================================================================+================+
| *Save Data Changes* | Click the *Save Data Changes* icon to save data changes (insert, update, or delete) in the Data | F6 |
| | Output Panel to the server. | |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Find* | Use the *Find* menu to search, replace, or navigate the code displayed in the SQL Editor: | |
| +---------------------------------------------------------------------------------------------------+----------------+
| | Select *Find* to provide a search target, and search the SQL Editor contents. | Cmd+F |
| +---------------------------------------------------------------------------------------------------+----------------+
| | Select *Find next* to locate the next occurrence of the search target. | Cmd+G |
| +---------------------------------------------------------------------------------------------------+----------------+
| | Select *Find previous* to move to the last occurrence of the search target. | Cmd+Shift+G |
| +---------------------------------------------------------------------------------------------------+----------------+
| | Select *Persistent find* to identify all occurrences of the search target within the editor. | |
| +---------------------------------------------------------------------------------------------------+----------------+
| | Select *Replace* to locate and replace (with prompting) individual occurrences of the target. | Cmd+Shift+F |
| +---------------------------------------------------------------------------------------------------+----------------+
| | Select *Replace all* to locate and replace all occurrences of the target within the editor. | |
| +---------------------------------------------------------------------------------------------------+----------------+
| | Select *Jump* to navigate to the next occurrence of the search target. | Alt+G |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Copy* | Click the *Copy* icon to copy the content with or without header: | Accesskey + C |
| | | |
| | * Click the *Copy* icon to copy the content that is currently highlighted in the Data Output | |
| | panel. | |
| | | |
| | * Click *Copy with headers* to copy the highlighted content along with the header. | |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Paste* | Click the *Paste* icon to paste a previously copied row into a new row. | Accesskey + P |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Delete* | Click the *Delete* icon to mark the selected rows for deletion. These marked rows get deleted |Accesskey + D |
| | when you click the *Save Data Changes* icon. | |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Edit* | Use options on the *Edit* menu to access text editing tools; the options operate on the text | |
| | displayed in the SQL Editor panel when in Query Tool mode: | |
| +---------------------------------------------------------------------------------------------------+----------------+
| | Select *Indent Selection* to indent the currently selected text. | Tab |
| +---------------------------------------------------------------------------------------------------+----------------+
| | Select *Unindent Selection* to remove indentation from the currently selected text. | Shift+Tab |
| +---------------------------------------------------------------------------------------------------+----------------+
| | Select *Inline Comment Selection* to enclose any lines that contain the selection in SQL style | Cmd+/ |
| | comment notation. | |
| +---------------------------------------------------------------------------------------------------+----------------+
| | Select *Inline Uncomment Selection* to remove SQL style comment notation from the selected line. | Cmd+. |
| +---------------------------------------------------------------------------------------------------+----------------+
| | Select *Block Comment* to enclose all lines that contain the selection in C style comment | Shift+Cmd+/ |
| | notation. This option acts as a toggle. | |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
View/Edit Data Resultset Control
********************************
.. table::
:class: longtable
:widths: 1 4 1
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| Icon | Behavior | Shortcut |
+======================+===================================================================================================+================+
| *Filter* | Click the *Filter* icon to set filtering and sorting criteria for the data when in View/Edit data | Accesskey + F |
| | mode. Click the down arrow to access other filtering and sorting options: | |
| | | |
| | * Click *Sort/Filter* to open the sorting and filtering dialogue. In the *SQL Filter*, you can | |
| | enter a SQL query as filtering criteria. In *Data Sorting*, you can select the column and | |
| | specify the order for sorting. | |
| | | |
| | * Click *Filter by Selection* to show only the rows containing the values in the selected cells. | |
| | | |
| | * Click *Exclude by Selection* to show only the rows that do not contain the values in the | |
| | selected cells. | |
| | | |
| | * Click *Remove Sort/Filter* to remove any previously selected sort or filtering options. | |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| Limit Selector | Select a value in the *Limit Selector* to limit the size of the dataset to a number of rows. | Accesskey + R |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Stop* | Click the *Stop* icon to cancel the execution of the currently running query. | Accesskey + Q |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
Query Execution
***************
.. table::
:class: longtable
:widths: 1 4 1
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| Icon | Behavior | Shortcut |
+======================+===================================================================================================+================+
| *Execute/Refresh* | Click the *Execute/Refresh* icon to either execute or refresh the query highlighted in the SQL | F5 |
| | editor panel. Click the down arrow to access other execution options: | |
| | | |
| | * Add a check next to *Auto-Rollback* to instruct the server to automatically roll back a | |
| | transaction if an error occurs during the transaction. | |
| | | |
| | * Add a check next to *Auto-Commit* to instruct the server to automatically commit each | |
| | transaction. Any changes made by the transaction will be visible to others, and | |
| | durable in the event of a crash. | |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Explain* | Click the *Explain* icon to view an explanation plan for the current query. The result of the | F7 |
| | EXPLAIN is displayed graphically on the *Explain* tab of the output panel, and in text | |
| | form on the *Data Output* tab. | |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Explain analyze* | Click the *Explain analyze* icon to invoke an EXPLAIN ANALYZE command on the current query. | Shift+F7 |
| | | |
| | Navigate through the *Explain Options* menu to select options for the EXPLAIN command: | |
| | | |
| | * Select *Verbose* to display additional information regarding the query plan. | |
| | | |
| | * 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 *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. | |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Commit* | Click the *Commit* icon to commit the transaction. | Shift+CTRL+M |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Rollback* | Click the *Rollback* icon to rollback the transaction. | Shift+CTRL+R |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Clear* | Use options on the *Clear* drop-down menu to erase display contents: | Accesskey + L |
| | | |
| | * Select *Clear Query Window* to erase the content of the SQL Editor panel. | |
| | | |
| | * Select *Clear History* to erase the content of the *History* tab. | |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Download as CSV* | Click the *Download as CSV* icon to download the result set of the current query to a | F8 |
| | comma-separated list. You can specify the CSV settings through | |
| | *Preferences -> SQL Editor -> CSV output* dialogue. | |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
+3
View File
@@ -11,6 +11,9 @@ notes for it.
.. toctree::
:maxdepth: 1
release_notes_4_17
release_notes_4_16
release_notes_4_15
release_notes_4_14
release_notes_4_13
release_notes_4_12
+1 -1
View File
@@ -10,7 +10,7 @@ New features
************
| `Issue #3009 <https://redmine.postgresql.org/issues/3009>`_ - Added Copy with headers functionality when copy data from Query Tool/View Data.
| `Issue #4778 <https://redmine.postgresql.org/issues/4778>`_ - Implemeted the Query Plan Analyser.
| `Issue #4778 <https://redmine.postgresql.org/issues/4778>`_ - Implemented the Query Plan Analyser.
| `Issue #4823 <https://redmine.postgresql.org/issues/4823>`_ - Include PostgreSQL 12 binaries in the container.
Housekeeping
+52
View File
@@ -0,0 +1,52 @@
************
Version 4.15
************
Release date: 2019-11-14
This release contains a number of bug fixes and new features since the release of pgAdmin4 4.14.
New features
************
| `Issue #1974 <https://redmine.postgresql.org/issues/1974>`_ - Added encrypted password in reverse engineered SQL for roles.
| `Issue #3741 <https://redmine.postgresql.org/issues/3741>`_ - Added Dark(Beta) UI Theme option.
| `Issue #4006 <https://redmine.postgresql.org/issues/4006>`_ - Support Enable Always and Enable Replica on triggers.
| `Issue #4351 <https://redmine.postgresql.org/issues/4351>`_ - Add an option to request confirmation before cancelling/resetting changes on a Properties dialog.
| `Issue #4348 <https://redmine.postgresql.org/issues/4348>`_ - Added support for custom theme creation and selection.
Housekeeping
************
Bug fixes
*********
| `Issue #3130 <https://redmine.postgresql.org/issues/3130>`_ - Ensure create new object dialog should be opened when alt+shift+n key is pressed on the collection node.
| `Issue #3279 <https://redmine.postgresql.org/issues/3279>`_ - Fixed issue where Drop and Disconnect connection menu points are too close to each other.
| `Issue #3789 <https://redmine.postgresql.org/issues/3789>`_ - Ensure context menus never get hidden below the menu bar.
| `Issue #3859 <https://redmine.postgresql.org/issues/3859>`_ - Rename the context menu from 'Drop Server' to 'Remove Server'.
| `Issue #3913 <https://redmine.postgresql.org/issues/3913>`_ - Ensure the correct "running at" agent is shown when a pgAgent job is executing.
| `Issue #3915 <https://redmine.postgresql.org/issues/3915>`_ - Fix an issue in the Query Tool where shortcut keys could be ignored following a query error.
| `Issue #3999 <https://redmine.postgresql.org/issues/3999>`_ - Fix the toggle case shortcut key combination.
| `Issue #4173 <https://redmine.postgresql.org/issues/4173>`_ - Fix an issue where a black arrow-kind image is displaying at the background of browser tree images.
| `Issue #4191 <https://redmine.postgresql.org/issues/4191>`_ - Ensure comments are shown in reverse engineered SQL for table partitions.
| `Issue #4242 <https://redmine.postgresql.org/issues/4242>`_ - Handle NULL values appropriately when sorting backgrid tables.
| `Issue #4341 <https://redmine.postgresql.org/issues/4341>`_ - Give appropriate error messages when the user tries to use an blank master password.
| `Issue #4451 <https://redmine.postgresql.org/issues/4451>`_ - Remove arbitrary (and incorrect) requirement that composite types must have at least two members.
| `Issue #4459 <https://redmine.postgresql.org/issues/4459>`_ - Don't quote bigints when copying them from the Query Tool results grid.
| `Issue #4482 <https://redmine.postgresql.org/issues/4482>`_ - Ensure compression level is passed to pg_dump when backing up in directory format.
| `Issue #4483 <https://redmine.postgresql.org/issues/4483>`_ - Ensure the number of jobs can be specified when backing up in directory format.
| `Issue #4564 <https://redmine.postgresql.org/issues/4564>`_ - Ensure Javascript errors during Query Tool execution are reported as such and not as Ajax errors.
| `Issue #4610 <https://redmine.postgresql.org/issues/4610>`_ - Suppress Enter key presses in Alertify dialogues when the come from Select2 controls to allow item selection with Enter.
| `Issue #4647 <https://redmine.postgresql.org/issues/4647>`_ - Ensure that units are respected when sorting by file size in the File dialog.
| `Issue #4730 <https://redmine.postgresql.org/issues/4730>`_ - Ensure all messages are retained in the Query Tool from long running queries.
| `Issue #4734 <https://redmine.postgresql.org/issues/4734>`_ - Updated documentation for the delete row button that only strikeout the row instead of deleting it.
| `Issue #4779 <https://redmine.postgresql.org/issues/4779>`_ - Updated documentation for the query tool toolbar buttons.
| `Issue #4835 <https://redmine.postgresql.org/issues/4835>`_ - Fixed an issue where psql of v12 throwing "symbol not found" error while running Maintenance and Import/Export.
| `Issue #4845 <https://redmine.postgresql.org/issues/4845>`_ - Fixed potential error in the properties dialog for the Code tab.
| `Issue #4850 <https://redmine.postgresql.org/issues/4850>`_ - Fixed an issue where Datetimepicker control opens when clicking on the label.
| `Issue #4895 <https://redmine.postgresql.org/issues/4895>`_ - Fixed potential issue in reset function for nested objects.
| `Issue #4896 <https://redmine.postgresql.org/issues/4896>`_ - Fixed an issue where escape key not working to close the open/save file dialog.
| `Issue #4906 <https://redmine.postgresql.org/issues/4906>`_ - Fixed an issue where keyboard shortcut for context menu is not working when using Firefox on CentOS7.
| `Issue #4924 <https://redmine.postgresql.org/issues/4924>`_ - Fixed docker container exit issue occurs due to change in Gunicorn's latest version.
+71
View File
@@ -0,0 +1,71 @@
************
Version 4.16
************
Release date: 2019-12-12
This release contains a number of bug fixes and new features since the release of pgAdmin4 4.15.
.. warning:: Warning: This release includes a change to the container
distribution to run pgAdmin as a non-root user. Those users of the
container who are running with mapped storage directories may need to
change the ownership on the host machine, for example:
.. code-block:: bash
sudo chown -R 5050:5050 <host_directory>
New features
************
| `Issue #4396 <https://redmine.postgresql.org/issues/4396>`_ - Warn the user on changing the definition of Materialized View about the loss of data and its dependent objects.
| `Issue #4435 <https://redmine.postgresql.org/issues/4435>`_ - Allow drag and drop functionality for all the nodes under the database node, excluding collection nodes.
| `Issue #4711 <https://redmine.postgresql.org/issues/4711>`_ - Use a 'play' icon for the Execute Query button in the Query Tool for greater consistency with other applications.
| `Issue #4772 <https://redmine.postgresql.org/issues/4772>`_ - Added aria-label to provide an invisible label where a visible label cannot be used.
| `Issue #4773 <https://redmine.postgresql.org/issues/4773>`_ - Added role="status" attribute to all the status messages for accessibility.
| `Issue #4939 <https://redmine.postgresql.org/issues/4939>`_ - Run pgAdmin in the container as a non-root user (pgadmin, UID: 5050)
| `Issue #4944 <https://redmine.postgresql.org/issues/4944>`_ - Allow Gunicorn logs in the container to be directed to a file specified through GUNICORN_ACCESS_LOGFILE.
| `Issue #4990 <https://redmine.postgresql.org/issues/4990>`_ - Changed the open query tool and data filter icons.
Housekeeping
************
| `Issue #4696 <https://redmine.postgresql.org/issues/4696>`_ - Add Reverse Engineered and Modified SQL tests for Materialized Views.
| `Issue #4807 <https://redmine.postgresql.org/issues/4807>`_ - Refactored code of table and it's child nodes.
| `Issue #4938 <https://redmine.postgresql.org/issues/4938>`_ - Refactored code of columns node.
Bug fixes
*********
| `Issue #3538 <https://redmine.postgresql.org/issues/3538>`_ - Fix issue where the Reset button does not get enabled till all the mandatory fields are provided in the dialog.
| `Issue #4220 <https://redmine.postgresql.org/issues/4220>`_ - Fix scrolling issue in 'Users' dialog.
| `Issue #4516 <https://redmine.postgresql.org/issues/4516>`_ - Remove the sorting of table headers with no labels.
| `Issue #4659 <https://redmine.postgresql.org/issues/4659>`_ - Updated documentation for default privileges to clarify more on the grantor.
| `Issue #4674 <https://redmine.postgresql.org/issues/4674>`_ - Fix query tool launch error if user name contains HTML characters. It's a regression.
| `Issue #4724 <https://redmine.postgresql.org/issues/4724>`_ - Fix network disconnect issue while establishing the connection via SSH Tunnel and it impossible to expand the Servers node.
| `Issue #4761 <https://redmine.postgresql.org/issues/4761>`_ - Fix an issue where the wrong type is displayed when changing the datatype from timestamp with time zone to timestamp without time zone.
| `Issue #4792 <https://redmine.postgresql.org/issues/4792>`_ - Ensure that the superuser should be able to create database, as the superuser overrides all the access restrictions.
| `Issue #4818 <https://redmine.postgresql.org/issues/4818>`_ - Fix server connection drops out issue in query tool.
| `Issue #4836 <https://redmine.postgresql.org/issues/4836>`_ - Updated the json file name from 'servers.json' to 'pgadmin4/servers.json' in the container deployment section of the documentation.
| `Issue #4878 <https://redmine.postgresql.org/issues/4878>`_ - Ensure that the superuser should be able to create role, as the superuser overrides all the access restrictions.
| `Issue #4893 <https://redmine.postgresql.org/issues/4893>`_ - Fix reverse engineering SQL issue for partitions when specifying digits as comments.
| `Issue #4923 <https://redmine.postgresql.org/issues/4923>`_ - Enhance the logic to change the label from 'Delete/Drop' to 'Remove' for the server and server group node.
| `Issue #4925 <https://redmine.postgresql.org/issues/4925>`_ - Shown some text on process watcher till the initial logs are loaded.
| `Issue #4926 <https://redmine.postgresql.org/issues/4926>`_ - Fix VPN network disconnect issue where pgAdmin4 hangs on expanding the Servers node.
| `Issue #4930 <https://redmine.postgresql.org/issues/4930>`_ - Fix main window tab navigation accessibility issue.
| `Issue #4933 <https://redmine.postgresql.org/issues/4933>`_ - Ensure that the Servers collection node should expand independently of server connections.
| `Issue #4934 <https://redmine.postgresql.org/issues/4934>`_ - Fix the help button link on the User Management dialog.
| `Issue #4935 <https://redmine.postgresql.org/issues/4935>`_ - Fix accessibility issues.
| `Issue #4947 <https://redmine.postgresql.org/issues/4947>`_ - Fix XSS issue in explain and explain analyze for table and type which contain HTML.
| `Issue #4952 <https://redmine.postgresql.org/issues/4952>`_ - Fix an issue of retrieving properties for Compound Triggers. It's a regression of #4006.
| `Issue #4953 <https://redmine.postgresql.org/issues/4953>`_ - Fix an issue where pgAdmin4 unable to retrieve table node if the trigger is already disabled and the user clicks on Enable All.
| `Issue #4958 <https://redmine.postgresql.org/issues/4958>`_ - Fix reverse engineering SQL issue for triggers when passed a single argument to trigger function.
| `Issue #4964 <https://redmine.postgresql.org/issues/4964>`_ - Fix an issue where length and precision are not removed from table/column dialog.
| `Issue #4965 <https://redmine.postgresql.org/issues/4965>`_ - Fix an issue where the Interval data type is not displayed in the properties dialog of table/column.
| `Issue #4966 <https://redmine.postgresql.org/issues/4966>`_ - Fix 'Could not find the object on the server.' error while refreshing the check constraint.
| `Issue #4975 <https://redmine.postgresql.org/issues/4975>`_ - Fix issue where the user can not switch the UI language. It's a regression of #4348.
| `Issue #4976 <https://redmine.postgresql.org/issues/4976>`_ - Fix reverse engineering SQL issue where when clause is not visible for PG/EPAS 12.
| `Issue #4978 <https://redmine.postgresql.org/issues/4978>`_ - Fix pgAdmin4 failed to start issue after upgrading to version 4.15.
| `Issue #4982 <https://redmine.postgresql.org/issues/4982>`_ - Added statistics and storage information in reverse engineering SQL of table/column.
| `Issue #4985 <https://redmine.postgresql.org/issues/4985>`_ - Fix an issue where the inherited table name with quotes did not escape correctly.
| `Issue #4991 <https://redmine.postgresql.org/issues/4991>`_ - Fix an issue where context menu is open along with submenu and the focus is not on context menu or submenu.
+39
View File
@@ -0,0 +1,39 @@
************
Version 4.17
************
Release date: 2020-01-09
This release contains a number of bug fixes and new features since the release of pgAdmin4 4.16.
New features
************
| `Issue #4764 <https://redmine.postgresql.org/issues/4764>`_ - Allow screen-reader to read relationship attributes in nested elements.
| `Issue #5060 <https://redmine.postgresql.org/issues/5060>`_ - Ensure all binaries are securely signed and linked with the hardened runtime in the macOS bundle
Housekeeping
************
| `Issue #4988 <https://redmine.postgresql.org/issues/4988>`_ - Refactored SQL of Table's and it's child nodes.
| `Issue #5023 <https://redmine.postgresql.org/issues/5023>`_ - Refactored SQL of Views and Materialized Views.
| `Issue #5024 <https://redmine.postgresql.org/issues/5024>`_ - Refactored SQL of Functions and Procedures.
| `Issue #5038 <https://redmine.postgresql.org/issues/5038>`_ - Added support for on-demand loading of items in Select2.
| `Issue #5048 <https://redmine.postgresql.org/issues/5048>`_ - Added code coverage tool for pgAdmin.
Bug fixes
*********
| `Issue #4198 <https://redmine.postgresql.org/issues/4198>`_ - Fix syntax highlighting in code mirror for backslash and escape constant.
| `Issue #4506 <https://redmine.postgresql.org/issues/4506>`_ - Fix an issue where clicking on an empty textbox like fill factor or comments, considers it as change and enabled the save button.
| `Issue #4633 <https://redmine.postgresql.org/issues/4633>`_ - Added support to view multilevel partitioned tables.
| `Issue #4842 <https://redmine.postgresql.org/issues/4842>`_ - Ensure that constraints, indexes, rules, triggers, and compound triggers should be created on partitions.
| `Issue #4943 <https://redmine.postgresql.org/issues/4943>`_ - Added more information to the 'Database connected/disconnected' message.
| `Issue #4950 <https://redmine.postgresql.org/issues/4950>`_ - Ensure that the user should be able to select/modify tablespace for the partitioned table on v12 and above.
| `Issue #4999 <https://redmine.postgresql.org/issues/4999>`_ - Rename some internal environment variables that could conflict with Kubernetes.
| `Issue #5004 <https://redmine.postgresql.org/issues/5004>`_ - Fix vulnerability issues reported by 'yarn audit'. Replace the deprecated uglifyjs-webpack-plugin with a terser-webpack-plugin.
| `Issue #5008 <https://redmine.postgresql.org/issues/5008>`_ - Ensure that the error message should not be displayed if Tablespace is not selected while creating the index.
| `Issue #5009 <https://redmine.postgresql.org/issues/5009>`_ - Fix an issue where operator, access method and operator class is not visible for exclusion constraints.
| `Issue #5013 <https://redmine.postgresql.org/issues/5013>`_ - Add a note to the documentation about the use of non-privileged ports on filesystems that don't support extended attributes when running the container.
| `Issue #5047 <https://redmine.postgresql.org/issues/5047>`_ - Added tab navigation for tabs under explain panel in query tool.
| `Issue #5068 <https://redmine.postgresql.org/issues/5068>`_ - Fix an issue where the table is not created with autovacuum_enabled and toast.autovacuum_enabled for PG/EPAS 12.
+2 -8
View File
@@ -38,9 +38,7 @@ panel:
* Select the name of the role from the drop-down listbox in the *Grantee* field.
* Click inside the *Privileges* field. Check the boxes to the left of one or
more privileges to grant the selected privileges to the specified user.
* Select the name of the role that is granting the privilege from the drop-down
listbox in the *Grantor* field. The default grantor is the owner of the
schema.
* The current user, who is the default grantor for granting the privilege, is displayed in the *Grantor* field.
Click the *Add* icon (+) to assign additional sets of privileges; to discard a
privilege, click the trash icon to the left of the row and confirm deletion in
@@ -75,8 +73,7 @@ privileges:
the drop-down listbox in the *Grantee* field.
* Click inside the *Privileges* field. Check the boxes to the left of one or
more privileges to grant the selected privileges to the specified user.
* Select the name of the role that is granting the privilege from the drop-down
listbox in the *Grantor* field. The default grantor is the owner of the schema.
* The current user, who is the default grantor for granting the privilege, is displayed in the *Grantor* field.
Click the *SQL* tab to continue.
@@ -101,6 +98,3 @@ The example creates a schema named hr; the command grants *USAGE* privileges to
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
+1 -8
View File
@@ -73,8 +73,7 @@ set privileges:
listbox in the *Grantee* field.
* Click inside the *Privileges* field. Check the boxes to the left of one or
more privileges to grant the selected privilege to the specified user.
* Select the name of the role from the drop-down listbox in the *Grantor*
field. The default grantor is the owner of the database.
* The current user, who is the default grantor for granting the privilege, is displayed in the *Grantor* field.
Click the *Add* icon (+) to assign additional privileges; to discard a
privilege, click the trash icon to the left of the row and confirm deletion in
@@ -118,9 +117,3 @@ equal of *60*.
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
+2 -1
View File
@@ -170,7 +170,8 @@ Use the fields in the *Advanced* tab to configure a connection:
`Section 33.15 of the Postgres documentation <https://www.postgresql.org/docs/current/libpq-pgpass.html>`_.
* Use the *Connection timeout* field to specify the maximum wait for connection,
in seconds. Zero or not specified means wait indefinitely. It is not
recommended to use a timeout of less than 2 seconds.
recommended to use a timeout of less than 2 seconds. By default it is set to
10 seconds.
.. note:: The password file option is only supported when pgAdmin is using libpq
v10.0 or later to connect to the server.
+4 -5
View File
@@ -50,9 +50,9 @@ the *Columns* table:
the column. This can include array specifiers. For more information on the
data types supported by PostgreSQL, refer to Chapter 8 of the core
documentation.
* If enabled, use the *Length* and *Precision* fields to specify the maximum
number of significant digits in a numeric value, or the maximum number of
characters in a text value.
* If enabled, use the *Length/Precision* and *Scale* fields to specify the
maximum number of significant digits in a numeric value, or the maximum
number of characters in a text value.
* Move the *Not NULL?* switch to the *Yes* position to require a value in the
column field.
* Move the *Primary key?* switch to the *Yes* position to specify the column is
@@ -482,8 +482,7 @@ Use the *Privileges* panel to assign privileges to a role. Click the *Add* icon
* Select the name of the role from the drop-down listbox in the *Grantee* field.
* Click inside the *Privileges* field. Check the boxes to the left of one or
more privileges to grant the selected privilege to the specified user.
* Select the name of the role from the drop-down listbox in the *Grantor* field.
The default grantor is the owner of the database.
* The current user, who is the default grantor for granting the privilege, is displayed in the *Grantor* field.
Click the *Add* icon (+) to assign additional privileges; to discard a
privilege, click the trash icon to the left of the row and confirm deletion in
+1 -5
View File
@@ -62,8 +62,7 @@ Use the *Privileges* panel to assign security privileges. Click the *Add* icon
(+) to assign a set of privileges:
* Select the name of the role from the drop-down listbox in the *Grantee* field.
* Select the name of the role from the drop-down listbox in the *Grantor* field.
The default grantor is the owner of the owner of the tablespace.
* The current user, who is the default grantor for granting the privilege, is displayed in the *Grantor* field.
* Click inside the *Privileges* field. Check the boxes to the left of one or
more privileges to grant the selected privileges to the specified user.
@@ -107,6 +106,3 @@ The example shown demonstrates creating a tablespace named *space_01*. It has a
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
+23
View File
@@ -2,3 +2,26 @@
{% set favicon = 'favicon.ico' %}
{% endif %}
{%- extends "classic/layout.html" %}
{%- block footer %}
<div class="footer" role="contentinfo">
<div class="related" role="navigation" aria-label="related navigation">
<ul>
{%- if show_copyright %}
{%- if hasdoc('copyright') %}
{% trans path=pathto('copyright'), copyright=copyright|e %}<li class="left" style="margin-left: 10px">&#169; <a href="{{ path }}">Copyright</a> {{ copyright }}.</li>{% endtrans %}
{%- else %}
{% trans copyright=copyright|e %}<li class="left" style="margin-left: 10px">&#169; Copyright {{ copyright }}.</li>{% endtrans %}
{%- endif %}
{%- endif %}
<li class="right" style="margin-right: 10px"><a href="genindex.html" title="General Index" accesskey="I">index</a></li>
{%- if next %}
<li class="right" ><a href="{{ next.link|e }}" title="{{ next.title|striptags|e }}" accesskey="N">next</a> |</li>
{%- endif %}
{%- if prev %}
<li class="right" ><a href="{{ prev.link|e }}" title="{{ prev.title|striptags|e }}" accesskey="P">previous</a> |</li>
{%- endif %}
</ul>
</div>
</div>
{%- endblock %}
+17 -3
View File
@@ -14,7 +14,7 @@ body {
div.body {
font-family: Roboto, Helvetica Neue, -apple-system, BlinkMacSystemFont, Segoe UI, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
font-size: 1rem;
font-size: 1.1rem;
max-width: 100%;
color: #222222;
-webkit-font-smoothing: antialiased;
@@ -138,10 +138,23 @@ div.related[role=navigation] ~ div.related[role=navigation] {
display: none;
}
div.related a {
color: #fff;
}
div.footer div.related ul {
line-height: 0.85em;
}
div.footer div.related a {
text-decoration: none;
}
div.footer div.related a:hover {
text-decoration: underline;
}
div.document{
background-color: #ebeef3;
}
@@ -151,6 +164,7 @@ div.footer {
padding: 5px 0;
background-color: #295C85;
top: calc(100% - 24px);
font-size: 1em;
}
.line-block {
@@ -379,14 +393,14 @@ div.sphinxsidebarwrapper {
div.sphinxsidebarwrapper ul li.toctree-l1 ul li.toctree-l2 a:before{
content: "●";
padding-right: 5px;
font-size: 0.60rem;
font-size: 0.85rem;
vertical-align: baseline;
}
div.sphinxsidebarwrapper ul li.toctree-l1 a:before{
content: "●";
padding-right: 5px;
font-size: 0.6rem;
font-size: 0.85rem;
}
div.body form input[type="text"]{
+8 -1
View File
@@ -48,6 +48,13 @@ Use the fields in the *Definition* tab to define the trigger:
arguments to the function when the trigger is executed. The arguments are
literal string constants.
.. image:: images/trigger_definition_enabled.png
:alt: Trigger enabled in dialog tab
:align: center
* *Trigger enabled* field is available in trigger dialog once the trigger is created.
You can select one of the four options available.
Click the *Events* tab to continue.
.. image:: images/trigger_events.png
@@ -96,4 +103,4 @@ The example demonstrates creating a trigger named *log_update*.
* Click the *Info* button (i) to access online help.
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
* Click the *Reset* button to restore configuration parameters.
+1 -4
View File
@@ -128,8 +128,7 @@ to a role. Click the *Add* icon (+) to to add a role to the table.
* Select the name of the role from the drop-down listbox in the *Grantee* field.
* Click inside the *Privileges* field. Check the boxes to the left of one or
more privileges to grant the selected privilege to the specified user.
* Select the name of a role from the drop-down listbox in the *Grantor* field.
The default grantor is the owner of the database.
* The current user, who is the default grantor for granting the privilege, is displayed in the *Grantor* field.
Click the *Add* icon (+) to assign additional privileges; to discard a
privilege, click the trash icon to the left of the row and confirm deletion in
@@ -171,5 +170,3 @@ The example shown demonstrates creating a trigger function named *emp_stamp*.
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
+1 -6
View File
@@ -187,9 +187,7 @@ icon (+) to grant privileges:
the drop-down listbox in the *Grantee* field.
* Click inside the *Privileges* field. Check the boxes to the left of one or
more privileges to grant the selected privilege to the specified user.
* Select the name of the role that is granting privileges from the drop-down
listbox in the *Grantor* field. The default grantor is the owner of the
database.
* The current user, who is the default grantor for granting the privilege, is displayed in the *Grantor* field.
Click the *Add* icon (+) to assign additional privileges; to discard a
privilege, click the trash icon to the left of the row and confirm deletion in
@@ -232,6 +230,3 @@ type is an enumerated type with three labels: new, open and closed.
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
+1 -6
View File
@@ -72,9 +72,7 @@ Use the *Privileges* panel to assign privileges to a role. Click the *Add* icon
listbox in the *Grantee* field.
* Click inside the *Privileges* field. Check the boxes to the left of one or
more privileges to grant the selected privilege to the specified user.
* Select the name of a role with sufficient privileges to grant privileges on
the view from the drop-down listbox in the *Grantor* field. The default
grantor is the owner of the database.
* The current user, who is the default grantor for granting the privilege, is displayed in the *Grantor* field.
Click the *Add* icon (+) to assign additional privileges; to discard a
privilege, click the trash icon to the left of the row and confirm deletion in
@@ -116,6 +114,3 @@ The example shown demonstrates creating a view named *distributor_code*.
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
-1
View File
@@ -449,7 +449,6 @@ dropzone 5.5.1
duplexer 0.1.1 MIT git://github.com/Raynos/duplexer.git
duplexify 3.7.1 MIT git://github.com/mafintosh/duplexify
ecc-jsbn 0.1.2 MIT https://github.com/quartzjer/ecc-jsbn.git
eclint 2.8.1 MIT https://github.com/jedmao/eclint.git
editorconfig 0.15.3 MIT git://github.com/editorconfig/editorconfig-core-js.git
ee-first 1.1.1 MIT https://github.com/jonathanong/ee-first.git
elliptic 6.5.1 MIT git@github.com:indutny/elliptic
+13 -6
View File
@@ -1,9 +1,10 @@
#!/bin/sh
# Create config_distro.py. This has some default config, as well as anything
# Populate config_distro.py. This has some default config, as well as anything
# provided by the user through the PGADMIN_CONFIG_* environment variables.
# Only write the file on first launch.
if [ ! -f /pgadmin4/config_distro.py ]; then
# Only update the file on first launch. The empty file is created during the
# container build so it can have the required ownership.
if [ `wc -m /pgadmin4/config_distro.py | awk '{ print $1 }'` = "0" ]; then
cat << EOF > /pgadmin4/config_distro.py
HELP_PATH = '../../docs'
DEFAULT_BINARY_PATHS = {
@@ -36,7 +37,13 @@ if [ ! -f /var/lib/pgadmin/pgadmin4.db ]; then
export PGADMIN_SERVER_JSON_FILE=${PGADMIN_SERVER_JSON_FILE:-/pgadmin4/servers.json}
# Pre-load any required servers
if [ -f "${PGADMIN_SERVER_JSON_FILE}" ]; then
/usr/local/bin/python /pgadmin4/setup.py --load-servers "${PGADMIN_SERVER_JSON_FILE}" --user ${PGADMIN_DEFAULT_EMAIL}
# When running in Desktop mode, no user is created
# so we have to import servers anonymously
if [ "${PGADMIN_CONFIG_SERVER_MODE}" = "False" ]; then
/usr/local/bin/python /pgadmin4/setup.py --load-servers "${PGADMIN_SERVER_JSON_FILE}"
else
/usr/local/bin/python /pgadmin4/setup.py --load-servers "${PGADMIN_SERVER_JSON_FILE}" --user ${PGADMIN_DEFAULT_EMAIL}
fi
fi
fi
@@ -51,7 +58,7 @@ TIMEOUT=$(cd /pgadmin4 && python -c 'import config; print(config.SESSION_EXPIRAT
# Using --threads to have multi-threaded single-process worker
if [ ! -z ${PGADMIN_ENABLE_TLS} ]; then
exec gunicorn --timeout ${TIMEOUT} --bind ${PGADMIN_LISTEN_ADDRESS:-[::]}:${PGADMIN_LISTEN_PORT:-443} -w 1 --threads ${GUNICORN_THREADS:-25} --access-logfile - --keyfile /certs/server.key --certfile /certs/server.cert run_pgadmin:app
exec gunicorn --timeout ${TIMEOUT} --bind ${PGADMIN_LISTEN_ADDRESS:-[::]}:${PGADMIN_LISTEN_PORT:-443} -w 1 --threads ${GUNICORN_THREADS:-25} --access-logfile ${GUNICORN_ACCESS_LOGFILE:--} --keyfile /certs/server.key --certfile /certs/server.cert run_pgadmin:app
else
exec gunicorn --timeout ${TIMEOUT} --bind ${PGADMIN_LISTEN_ADDRESS:-[::]}:${PGADMIN_LISTEN_PORT:-80} -w 1 --threads ${GUNICORN_THREADS:-25} --access-logfile - run_pgadmin:app
exec gunicorn --timeout ${TIMEOUT} --bind ${PGADMIN_LISTEN_ADDRESS:-[::]}:${PGADMIN_LISTEN_PORT:-80} -w 1 --threads ${GUNICORN_THREADS:-25} --access-logfile ${GUNICORN_ACCESS_LOGFILE:--} run_pgadmin:app
fi
+17
View File
@@ -223,6 +223,22 @@ _framework_config() {
./framework-config.sh "${BUILDROOT}/${APP_BUNDLE_NAME}" || { echo "framework-config.sh failed"; exit 1; }
}
_codesign_binaries() {
cd ${SOURCEDIR}/pkg/mac
if [ ! -f codesign.conf ]; then
echo
echo "******************************************************************"
echo "* codesign.conf not found. NOT signing the binaries."
echo "******************************************************************"
echo
sleep 5
return
fi
./codesign-binaries.sh "${BUILDROOT}/${APP_BUNDLE_NAME}" || { echo codesign-binaries.sh failed; exit 1; }
}
_codesign_bundle() {
cd ${SOURCEDIR}/pkg/mac
@@ -268,6 +284,7 @@ _build_runtime || { echo Runtime build failed; exit 1; }
_build_doc
_complete_bundle
_framework_config
_codesign_binaries
_codesign_bundle
_create_dmg
_codesign_dmg
+37
View File
@@ -0,0 +1,37 @@
#!/bin/sh
BUNDLE="$1"
if ! test -d "${BUNDLE}" ; then
echo "${BUNDLE} is no bundle!" >&2
exit 1
fi
# Get the config
source codesign.conf
if [ -z "${DEVELOPER_ID}" ] ; then
echo "Developer ID Application not found in codesign.conf" >&2
exit 1
fi
if [ -z "${DEVELOPER_BUNDLE_ID}" ]; then
echo "Developer Bundle Identifier not found in codesign.conf" >&2
fi
echo Signing ${BUNDLE} binaries
IFS=$'\n'
for i in $(find "${BUNDLE}" -type f)
do
file "${i}" | grep -E "Mach-O executable|Mach-O 64-bit executable|Mach-O 64-bit bundle"
if [ $? -eq 0 ] ; then
codesign --deep -f -i "${DEVELOPER_BUNDLE_ID}" -s "${DEVELOPER_ID}" --options runtime ${i}
fi
done
echo Signing ${BUNDLE} libraries
for i in $(find "${BUNDLE}" -type f -name "*.dylib*")
do
codesign --deep -f -i "${DEVELOPER_BUNDLE_ID}" -s "${DEVELOPER_ID}" --options runtime ${i}
done
+1
View File
@@ -2,3 +2,4 @@
# codesign.conf, and edit the value below to reflect your developer ID
DEVELOPER_ID="Developer ID Application: My Name (12345ABCD)"
DEVELOPER_BUNDLE_ID="Developer Bundle Identifier (pgadmin4-4)"
+1 -1
View File
@@ -10,7 +10,7 @@
\fs22 \
\
\f1\i Copyright (C) 2013 - 2019, The pgAdmin Development Team
\f1\i Copyright (C) 2013 - 2020, 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 - 2019, The pgAdmin Development Team
# Copyright (C) 2013 - 2020, 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 - 2019, The pgAdmin Development Team
# Copyright (C) 2013 - 2020, 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 - 2019, The pgAdmin Development Team
# Copyright (C) 2013 - 2020, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
#########################################################################
Binary file not shown.
+1 -1
View File
@@ -2,7 +2,7 @@
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2019, The pgAdmin Development Team
// Copyright (C) 2013 - 2020, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
// ConfigWindow.h - Configuration window
+1 -1
View File
@@ -2,7 +2,7 @@
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2019, The pgAdmin Development Team
// Copyright (C) 2013 - 2020, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
// ConfigWindow.h - Configuration window
+1 -1
View File
@@ -2,7 +2,7 @@
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2019, The pgAdmin Development Team
// Copyright (C) 2013 - 2020, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
// FloatingWindow.cpp - For GNOME 3.26 and above floating window will be used.
+1 -1
View File
@@ -2,7 +2,7 @@
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2019, The pgAdmin Development Team
// Copyright (C) 2013 - 2020, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
// FloatingWindow.h - For GNOME 3.26 and above floating window will be used.
+3 -3
View File
@@ -8,13 +8,13 @@
<key>CFBundleName</key>
<string>pgAdmin 4</string>
<key>CFBundleShortVersionString</key>
<string>4.14.0</string>
<string>4.17.0</string>
<key>CFBundleVersion</key>
<string>4.14.0</string>
<string>4.17.0</string>
<key>LSMinimumSystemVersion</key>
<string>10.10</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright (C) 2013 - 2019, The pgAdmin Development Team</string>
<string>Copyright (C) 2013 - 2020, The pgAdmin Development Team</string>
<key>CFBundleIconFile</key>
<string>@ICON@</string>
<key>CFBundlePackageType</key>
+1 -1
View File
@@ -2,7 +2,7 @@
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2019, The pgAdmin Development Team
// Copyright (C) 2013 - 2020, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
// LogWindow.cpp - Log viewer window
+1 -1
View File
@@ -2,7 +2,7 @@
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2019, The pgAdmin Development Team
// Copyright (C) 2013 - 2020, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
// LogWindow.h - Log viewer window
+1 -1
View File
@@ -2,7 +2,7 @@
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2019, The pgAdmin Development Team
// Copyright (C) 2013 - 2020, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
// Logger.cpp - Logger Utility
+1 -1
View File
@@ -2,7 +2,7 @@
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2019, The pgAdmin Development Team
// Copyright (C) 2013 - 2020, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
// Logger.h - Logger Utility
+1 -1
View File
@@ -2,7 +2,7 @@
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2019, The pgAdmin Development Team
// Copyright (C) 2013 - 2020, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
// MenuActions.cpp - Common file for menu actions.
+1 -1
View File
@@ -2,7 +2,7 @@
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2019, The pgAdmin Development Team
// Copyright (C) 2013 - 2020, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
// MenuActions.h - Common file for menu actions.
+3 -3
View File
@@ -2,7 +2,7 @@
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2019, The pgAdmin Development Team
// Copyright (C) 2013 - 2020, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
// Server.cpp - Thread in which the web server will run.
@@ -341,8 +341,8 @@ void Server::run()
// Set the port number and key, and force SERVER_MODE off.
Logger::GetLogger()->Log("Set the port number, key and force SERVER_MODE off");
PyRun_SimpleString(QString("PGADMIN_PORT = %1").arg(m_port).toLatin1());
PyRun_SimpleString(QString("PGADMIN_KEY = '%1'").arg(m_key).toLatin1());
PyRun_SimpleString(QString("PGADMIN_INT_PORT = %1").arg(m_port).toLatin1());
PyRun_SimpleString(QString("PGADMIN_INT_KEY = '%1'").arg(m_key).toLatin1());
PyRun_SimpleString(QString("SERVER_MODE = False").toLatin1());
// Run the app!
+1 -1
View File
@@ -2,7 +2,7 @@
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2019, The pgAdmin Development Team
// Copyright (C) 2013 - 2020, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
// Server.h - Thread in which the web server will run.
+1 -1
View File
@@ -2,7 +2,7 @@
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2019, The pgAdmin Development Team
// Copyright (C) 2013 - 2020, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
// TrayIcon.cpp - Manages the tray icon
+1 -1
View File
@@ -2,7 +2,7 @@
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2019, The pgAdmin Development Team
// Copyright (C) 2013 - 2020, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
// TrayIcon.h - Manages the tray icon
+1 -1
View File
@@ -2,7 +2,7 @@
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2019, The pgAdmin Development Team
// Copyright (C) 2013 - 2020, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
// pgAdmin4.cpp - Main application entry point
+1 -1
View File
@@ -2,7 +2,7 @@
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2019, The pgAdmin Development Team
// Copyright (C) 2013 - 2020, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
// pgAdmin4.h - Main application header
+2 -2
View File
@@ -1,8 +1,8 @@
VERSION = 4.14.0.0
VERSION = 4.17.0.0
QMAKE_TARGET_COMPANY = "The pgAdmin Development Team"
QMAKE_TARGET_PRODUCT = "pgAdmin 4"
QMAKE_TARGET_DESCRIPTION = "pgAdmin 4 Desktop Runtime"
QMAKE_TARGET_COPYRIGHT = "Copyright (C) 2013 - 2019, The pgAdmin Development Team"
QMAKE_TARGET_COPYRIGHT = "Copyright (C) 2013 - 2020, The pgAdmin Development Team"
# Configure QT modules for the appropriate version of QT
greaterThan(QT_MAJOR_VERSION, 4) {
+1 -1
View File
@@ -4,7 +4,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2019, The pgAdmin Development Team
# Copyright (C) 2013 - 2020, 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 - 2019, The pgAdmin Development Team
# Copyright (C) 2013 - 2020, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
+15 -10
View File
@@ -4,7 +4,7 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2019, The pgAdmin Development Team
# Copyright (C) 2013 - 2020, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
@@ -17,7 +17,12 @@ import os
import platform
import subprocess
import sys
import urllib.request
try:
from urllib.request import urlopen, urlretrieve
from urllib.error import URLError
except Exception:
from urllib import urlopen, urlretrieve
URLError = Exception
import zipfile
@@ -85,13 +90,13 @@ def get_chrome_version(args):
# On Linux/Mac we run the Chrome executable with the --version flag,
# then parse the output.
try:
result = subprocess.run([args.chrome, '--version'],
stdout=subprocess.PIPE)
except FileNotFoundError as e:
result = subprocess.Popen([args.chrome, '--version'],
stdout=subprocess.PIPE)
except FileNotFoundError:
print('The specified Chrome executable could not be found.')
sys.exit(1)
version_str = result.stdout.decode("utf-8").strip()
version_str = result.stdout.read().decode("utf-8")
# Check for 'Chrom' not 'Chrome' in case the user is using Chromium.
if "Chrom" not in version_str:
print('The specified Chrome executable output an unexpected '
@@ -120,8 +125,8 @@ def get_chromedriver_version(chrome_version):
.format(chrome_version)
try:
fp = urllib.request.urlopen(url)
except urllib.error.URLError as e:
fp = urlopen(url)
except URLError as e:
print('The chromedriver catalog URL could not be accessed: {}'
.format(e))
sys.exit(1)
@@ -173,8 +178,8 @@ print('Downloading chromedriver v{} for Chrome v{} on {}...'
.format(chromedriver_version, chrome_version, system))
try:
file, headers = urllib.request.urlretrieve(url)
except urllib.error.URLError as e:
file, headers = urlretrieve(url)
except URLError as e:
print('The chromedriver download URL could not be accessed: {}'
.format(e))
sys.exit(1)
Loaded 100 of 1162 files, more files were not shown because too many files have changed in this diff. Show more