Major doc cleanup:
- Reformat source so it's wrapped. - Standardise markup. - Center images. - Restructure in various places to improve the indexing. - Remove duplicated Query Tool toolbar descriptions. - Ensure the structure works in both HTML and LaTeX.pull/21/head
parent
f4ca208474
commit
8f1f04e5f3
|
@ -1,18 +1,25 @@
|
|||
.. _add_restore_point_dialog:
|
||||
|
||||
***************************************
|
||||
`Add named restore point Dialog`:index:
|
||||
`Add Named Restore Point Dialog`:index:
|
||||
***************************************
|
||||
|
||||
Use the *Add named restore point* dialog to take a named snapshot of the state of the server for use in a recovery file. To create a named restore point, the server's postgresql.conf file must specify a *wal_level* value of *archive*, *hot_standby*, or *logical*. You must be a database superuser to create a restore point.
|
||||
Use the *Add named restore point* dialog to take a named snapshot of the state
|
||||
of the server for use in a recovery file. To create a named restore point, the
|
||||
server's postgresql.conf file must specify a *wal_level* value of *archive*,
|
||||
*hot_standby*, or *logical*. You must be a database superuser to create a
|
||||
restore point.
|
||||
|
||||
.. image:: images/add_restore_point.png
|
||||
:alt: Restore point dialog
|
||||
:align: center
|
||||
|
||||
When the *Restore point name* window launches, use the field *Enter the name of the restore point to add* to provide a descriptive name for the restore point.
|
||||
When the *Restore point name* window launches, use the field *Enter the name of
|
||||
the restore point to add* to provide a descriptive name for the restore point.
|
||||
|
||||
For more information about using a restore point as a recovery target, please see the `PostgreSQL
|
||||
documentation <http://www.postgresql.org/docs/9.5/static/recovery-target-settings.html#RECOVERY-TARGET-NAME>`_.
|
||||
For more information about using a restore point as a recovery target, please
|
||||
see the
|
||||
`PostgreSQL documentation <http://www.postgresql.org/docs/9.5/static/recovery-target-settings.html#RECOVERY-TARGET-NAME>`_.
|
||||
|
||||
* Click the *OK* button to save the restore point.
|
||||
* Click the *Cancel* button to exit without saving work.
|
|
@ -4,9 +4,9 @@
|
|||
`Backup and Restore`:index:
|
||||
***************************
|
||||
|
||||
A powerful, but user-friendly Backup and Restore tool provides an easy way to use pg_dump, pg_dumpall, and pg_restore to take backups and create copies of databases or database objects for use in a development environment.
|
||||
|
||||
Contents:
|
||||
A powerful, but user-friendly Backup and Restore tool provides an easy way to
|
||||
use pg_dump, pg_dumpall, and pg_restore to take backups and create copies of
|
||||
databases or database objects for use in a development environment.
|
||||
|
||||
.. toctree::
|
||||
|
||||
|
|
|
@ -4,120 +4,215 @@
|
|||
`Backup Dialog`:index:
|
||||
**********************
|
||||
|
||||
Using the *pg_dump* utility, *pgAdmin* provides an easy way to create a backup in a plain-text or archived format. You can then use a client application (like *psql* or the *Query Tool*) to restore a plain-text backup file, or use the Postgres *pg_restore* utility to restore an archived backup. The *pg_dump* utility must have read access to all database objects that you want to back up.
|
||||
Using the *pg_dump* utility, *pgAdmin* provides an easy way to create a backup
|
||||
in a plain-text or archived format. You can then use a client application (like
|
||||
*psql* or the *Query Tool*) to restore a plain-text backup file, or use the
|
||||
Postgres *pg_restore* utility to restore an archived backup. The *pg_dump*
|
||||
utility must have read access to all database objects that you want to back up.
|
||||
|
||||
You can backup a single table, a schema, or a complete database. Select the name of the backup source in the *pgAdmin* tree control, right click to open the context menu, and select *Backup...* to open the *Backup* dialog. The name of the object selected will appear in the dialog title bar.
|
||||
You can backup a single table, a schema, or a complete database. Select the name
|
||||
of the backup source in the *pgAdmin* tree control, right click to open the
|
||||
context menu, and select *Backup...* to open the *Backup* dialog. The name of
|
||||
the object selected will appear in the dialog title bar.
|
||||
|
||||
.. image:: images/backup_general.png
|
||||
:alt: Backup dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to specify parameters for the backup:
|
||||
|
||||
* Enter the name of the backup file in the *Filename* field. Optionally, select the *Browser* icon (...) to the right to navigate into a directory and select a file that will contain the archive.
|
||||
* Use the drop-down listbox in the *Format* field to select the format that is best suited for your application. Each format has advantages and disadvantages:
|
||||
* Enter the name of the backup file in the *Filename* field. Optionally, select
|
||||
the *Browser* icon (...) to the right to navigate into a directory and select
|
||||
a file that will contain the archive.
|
||||
|
||||
* Select *Custom* to create a custom archive file that you can use with *pg_restore* to create a copy of a database. Custom archive file formats must be restored with *pg_restore*. This format offers the opportunity to select which database objects to restore from the backup file. *Custom* archive format is recommended for medium to large databases as it is compressed by default.
|
||||
* Use the drop-down listbox in the *Format* field to select the format that is
|
||||
best suited for your application. Each format has advantages and
|
||||
disadvantages:
|
||||
|
||||
* Select *Tar* to generate a tar archive file that you can restore with *pg_restore*. The tar format does not support compression.
|
||||
* Select *Custom* to create a custom archive file that you can use with
|
||||
*pg_restore* to create a copy of a database. Custom archive file formats
|
||||
must be restored with *pg_restore*. This format offers the opportunity to
|
||||
select which database objects to restore from the backup file. *Custom*
|
||||
archive format is recommended for medium to large databases as it is
|
||||
compressed by default.
|
||||
|
||||
* Select *Plain* to create a plain-text script file. A plain-text script file contains SQL statements and commands that you can execute at the *psql* command line to recreate the database objects and load the table data. A plain-text backup file can be edited in a text editor, if desired, before using the *psql* program to restore database objects. *Plain* format is normally recommended for smaller databases; script dumps are not recommended for blobs. The SQL commands within the script will reconstruct the database to the last saved state of the database. A plain-text script can be used to reconstruct the database on another machine, or (with modifications) on other architectures.
|
||||
* Select *Tar* to generate a tar archive file that you can restore with
|
||||
*pg_restore*. The tar format does not support compression.
|
||||
|
||||
* Select *Directory* to generate a directory-format archive suitable for use with *pg_restore*. This file format creates a directory with one file for each table and blob being dumped, plus a *Table of Contents* file describing the dumped objects in a machine-readable format that *pg_restore* can read. This format is compressed by default.
|
||||
* Select *Plain* to create a plain-text script file. A plain-text script file
|
||||
contains SQL statements and commands that you can execute at the *psql*
|
||||
command line to recreate the database objects and load the table data. A
|
||||
plain-text backup file can be edited in a text editor, if desired, before
|
||||
using the *psql* program to restore database objects. *Plain* format is
|
||||
normally recommended for smaller databases; script dumps are not
|
||||
recommended for blobs. The SQL commands within the script will reconstruct
|
||||
the database to the last saved state of the database. A plain-text script
|
||||
can be used to reconstruct the database on another machine, or (with
|
||||
modifications) on other architectures.
|
||||
|
||||
* Use the *Compression Ratio* field to select a compression level for the backup. Specify a value of zero to mean use no compression; specify a maximum compression value of 9. Please note that tar archives do not support compression.
|
||||
* Use the *Encoding* drop-down listbox to select the character encoding method that should be used for the archive.
|
||||
* Use the *Number of Jobs* field (when applicable) to specify the number of tables that will be dumped simultaneously in a parallel backup.
|
||||
* Use the dropdown listbox next to *Rolename* to specify the role that owns the backup.
|
||||
* Select *Directory* to generate a directory-format archive suitable for use
|
||||
with *pg_restore*. This file format creates a directory with one file for
|
||||
each table and blob being dumped, plus a *Table of Contents* file
|
||||
describing the dumped objects in a machine-readable format that
|
||||
*pg_restore* can read. This format is compressed by default.
|
||||
|
||||
Click the *Dump options* tab to continue. Use the box fields in the *Dump options* tab to provide options for *pg_dump*.
|
||||
* Use the *Compression Ratio* field to select a compression level for the
|
||||
backup. Specify a value of zero to mean use no compression; specify a maximum
|
||||
compression value of 9. Please note that tar archives do not support
|
||||
compression.
|
||||
* Use the *Encoding* drop-down listbox to select the character encoding method
|
||||
that should be used for the archive.
|
||||
* Use the *Number of Jobs* field (when applicable) to specify the number of
|
||||
tables that will be dumped simultaneously in a parallel backup.
|
||||
* Use the dropdown listbox next to *Rolename* to specify the role that owns the
|
||||
backup.
|
||||
|
||||
Click the *Dump options* tab to continue. Use the box fields in the *Dump
|
||||
options* tab to provide options for *pg_dump*.
|
||||
|
||||
.. image:: images/backup_sections.png
|
||||
:alt: Sections option on backup dialog
|
||||
:align: center
|
||||
|
||||
* Move switches in the **Sections** field box to select a portion of the object that will be backed up.
|
||||
* Move switches in the **Sections** field box to select a portion of the object
|
||||
that will be backed up.
|
||||
|
||||
* Move the switch next to *Pre-data* to the *Yes* position to include all data definition items not included in the data or post-data item lists.
|
||||
* Move the switch next to *Pre-data* to the *Yes* position to include all
|
||||
data definition items not included in the data or post-data item lists.
|
||||
|
||||
* Move the switch next to *Data* to the *Yes* position to backup actual table data, large-object contents, and sequence values.
|
||||
* Move the switch next to *Data* to the *Yes* position to backup actual table
|
||||
data, large-object contents, and sequence values.
|
||||
|
||||
* Move the switch next to *Post-data* to the *Yes* position to include definitions of indexes, triggers, rules, and constraints other than validated check constraints.
|
||||
* Move the switch next to *Post-data* to the *Yes* position to include
|
||||
definitions of indexes, triggers, rules, and constraints other than
|
||||
validated check constraints.
|
||||
|
||||
.. image:: images/backup_objects.png
|
||||
:alt: Type of objects option on backup dialog
|
||||
:align: center
|
||||
|
||||
* Move switches in the **Type of objects** field box to specify details about the type of objects that will be backed up.
|
||||
* Move switches in the **Type of objects** field box to specify details about
|
||||
the type of objects that will be backed up.
|
||||
|
||||
* Move the switch next to *Only data* to the *Yes* position to limit the back up to data.
|
||||
* Move the switch next to *Only data* to the *Yes* position to limit the back
|
||||
up to data.
|
||||
|
||||
* Move the switch next to *Only schema* to limit the back up to schema-level database objects.
|
||||
* Move the switch next to *Only schema* to limit the back up to schema-level
|
||||
database objects.
|
||||
|
||||
* Move the switch next to *Blobs* to the *No* position to exclude large objects in the backup.
|
||||
* Move the switch next to *Blobs* to the *No* position to exclude large
|
||||
objects in the backup.
|
||||
|
||||
.. image:: images/backup_do_not_save.png
|
||||
:alt: Do not save option on backup dialog
|
||||
:align: center
|
||||
|
||||
* Move switches in the **Do not save** field box to select the objects that will not be included in the backup.
|
||||
* Move switches in the **Do not save** field box to select the objects that will
|
||||
not be included in the backup.
|
||||
|
||||
* Move the switch next to *Owner* to the *Yes* position to exclude commands that set object ownership.
|
||||
* Move the switch next to *Owner* to the *Yes* position to exclude commands
|
||||
that set object ownership.
|
||||
|
||||
* Move the switch next to *Privilege* to the *Yes* position to exclude commands that create access privileges.
|
||||
* Move the switch next to *Privilege* to the *Yes* position to exclude
|
||||
commands that create access privileges.
|
||||
|
||||
* Move the switch next to *Tablespace* to the *Yes* position to exclude tablespaces.
|
||||
* Move the switch next to *Tablespace* to the *Yes* position to exclude
|
||||
tablespaces.
|
||||
|
||||
* Move the switch next to *Unlogged table data* to the *Yes* position to exclude the contents of unlogged tables.
|
||||
* Move the switch next to *Unlogged table data* to the *Yes* position to
|
||||
exclude the contents of unlogged tables.
|
||||
|
||||
* Move the switch next to *Comments* to the *Yes* position to exclude commands that set the comments. **Note:** This option is visible only for database server greater than or equal to 11.
|
||||
* Move the switch next to *Comments* to the *Yes* position to exclude
|
||||
commands that set the comments. **Note:** This option is visible only for
|
||||
database server greater than or equal to 11.
|
||||
|
||||
.. image:: images/backup_queries.png
|
||||
:alt: Queries option on backup dialog
|
||||
:align: center
|
||||
|
||||
* Move switches in the **Queries** field box to specify the type of statements that should be included in the backup.
|
||||
* Move switches in the **Queries** field box to specify the type of statements
|
||||
that should be included in the backup.
|
||||
|
||||
* Move the switch next to *Use Column Inserts* to the *Yes* position to dump the data in the form of INSERT statements and include explicit column names. Please note: this may make restoration from backup slow.
|
||||
* Move the switch next to *Use Column Inserts* to the *Yes* position to dump
|
||||
the data in the form of INSERT statements and include explicit column
|
||||
names. Please note: this may make restoration from backup slow.
|
||||
|
||||
* Move the switch next to *Use Insert commands* to the *Yes* position to dump the data in the form of INSERT statements rather than using a COPY command. Please note: this may make restoration from backup slow.
|
||||
* Move the switch next to *Use Insert commands* to the *Yes* position to
|
||||
dump the data in the form of INSERT statements rather than using a COPY
|
||||
command. Please note: this may make restoration from backup slow.
|
||||
|
||||
* Move the switch next to *Include CREATE DATABASE statement* to the *Yes* position to include a command in the backup that creates a new database when restoring the backup.
|
||||
* Move the switch next to *Include CREATE DATABASE statement* to the *Yes*
|
||||
position to include a command in the backup that creates a new database
|
||||
when restoring the backup.
|
||||
|
||||
* Move the switch next to *Include DROP DATABASE statement* to the *Yes* position to include a command in the backup that will drop any existing database object with the same name before recreating the object during a backup.
|
||||
* Move the switch next to *Include DROP DATABASE statement* to the *Yes*
|
||||
position to include a command in the backup that will drop any existing
|
||||
database object with the same name before recreating the object during a
|
||||
backup.
|
||||
|
||||
* Move the switch next to *Load Via Partition Root* to the *Yes* position, so when dumping a COPY or INSERT statement for a partitioned table, target the root of the partitioning hierarchy which contains it rather than the partition itself. **Note:** This option is visible only for database server greater than or equal to 11.
|
||||
* Move the switch next to *Load Via Partition Root* to the *Yes* position,
|
||||
so when dumping a COPY or INSERT statement for a partitioned table, target
|
||||
the root of the partitioning hierarchy which contains it rather than the
|
||||
partition itself. **Note:** This option is visible only for database server
|
||||
greater than or equal to 11.
|
||||
|
||||
.. image:: images/backup_disable.png
|
||||
:alt: Disable option on backup dialog
|
||||
:align: center
|
||||
|
||||
* Move switches in the **Disable** field box to specify the type of statements that should be excluded from the backup.
|
||||
* Move switches in the **Disable** field box to specify the type of statements
|
||||
that should be excluded from the backup.
|
||||
|
||||
* Move the switch next to *Trigger* (active when creating a data-only backup) to the *Yes* position to include commands that will disable triggers on the target table while the data is being loaded.
|
||||
* Move the switch next to *Trigger* (active when creating a data-only backup)
|
||||
to the *Yes* position to include commands that will disable triggers on the
|
||||
target table while the data is being loaded.
|
||||
|
||||
* Move the switch next to *$ quoting* to the *Yes* position to enable dollar quoting within function bodies; if disabled, the function body will be quoted using SQL standard string syntax.
|
||||
* Move the switch next to *$ quoting* to the *Yes* position to enable dollar
|
||||
quoting within function bodies; if disabled, the function body will be
|
||||
quoted using SQL standard string syntax.
|
||||
|
||||
.. image:: images/backup_miscellaneous.png
|
||||
:alt: Miscellaneous option on backup dialog
|
||||
:align: center
|
||||
|
||||
* Move switches in the **Miscellaneous** field box to specify miscellaneous backup options.
|
||||
* Move switches in the **Miscellaneous** field box to specify miscellaneous
|
||||
backup options.
|
||||
|
||||
* Move the switch next to *With OIDs* to the *Yes* position to include object identifiers as part of the table data for each table.
|
||||
* Move the switch next to *With OIDs* to the *Yes* position to include object
|
||||
identifiers as part of the table data for each table.
|
||||
|
||||
* Move the switch next to *Verbose messages* to the *No* position to instruct *pg_dump* to exclude verbose messages.
|
||||
* Move the switch next to *Verbose messages* to the *No* position to instruct
|
||||
*pg_dump* to exclude verbose messages.
|
||||
|
||||
* Move the switch next to *Force double quotes on identifiers* to the *Yes* position to force the quoting of all identifiers.
|
||||
* Move the switch next to *Force double quotes on identifiers* to the *Yes*
|
||||
position to force the quoting of all identifiers.
|
||||
|
||||
* Move the switch next to *Use SET SESSION AUTHORIZATION* to the *Yes* position to include a statement that will use a SET SESSION AUTHORIZATION command to determine object ownership (instead of an ALTER OWNER command).
|
||||
* Move the switch next to *Use SET SESSION AUTHORIZATION* to the *Yes*
|
||||
position to include a statement that will use a SET SESSION AUTHORIZATION
|
||||
command to determine object ownership (instead of an ALTER OWNER command).
|
||||
|
||||
When you’ve specified the details that will be incorporated into the pg_dump command:
|
||||
When you’ve specified the details that will be incorporated into the pg_dump
|
||||
command:
|
||||
|
||||
* Click the *Backup* button to build and execute a command that builds a backup
|
||||
based on your selections on the *Backup* dialog.
|
||||
|
||||
* Click the *Backup* button to build and execute a command that builds a backup based on your selections on the *Backup* dialog.
|
||||
* Click the *Cancel* button to exit without saving work.
|
||||
|
||||
.. image:: images/backup_messages.png
|
||||
:alt: Backup success notification popup
|
||||
:align: center
|
||||
|
||||
Use the **Stop Process** button to stop the Backup process.
|
||||
|
||||
If the backup is successful, a popup window will confirm success. Click *Click here for details* on the popup window to launch the *Process Watcher*. The *Process Watcher* logs all the activity associated with the backup and provides additional information for troubleshooting.
|
||||
If the backup is successful, a popup window will confirm success. Click *Click
|
||||
here for details* on the popup window to launch the *Process Watcher*. The
|
||||
*Process Watcher* logs all the activity associated with the backup and provides
|
||||
additional information for troubleshooting.
|
||||
|
||||
.. image:: images/backup_process_watcher.png
|
||||
:alt: Backup process watcher
|
||||
:align: center
|
||||
|
||||
If the backup is unsuccessful, you can review the error messages returned by the backup command on the *Process Watcher*.
|
||||
If the backup is unsuccessful, you can review the error messages returned by the
|
||||
backup command on the *Process Watcher*.
|
|
@ -4,31 +4,50 @@
|
|||
`Backup Globals Dialog`:index:
|
||||
******************************
|
||||
|
||||
Use the *Backup Globals* dialog to create a plain-text script that recreates all of the database objects within a cluster, and the global objects that are shared by those databases. Global objects include tablespaces, roles, and object properties. You can use the pgAdmin *Query Tool* to play back a plain-text script, and recreate the objects in the backup.
|
||||
Use the *Backup Globals* dialog to create a plain-text script that recreates all
|
||||
of the database objects within a cluster, and the global objects that are shared
|
||||
by those databases. Global objects include tablespaces, roles, and object
|
||||
properties. You can use the pgAdmin *Query Tool* to play back a plain-text
|
||||
script, and recreate the objects in the backup.
|
||||
|
||||
.. image:: images/backup_globals_general.png
|
||||
:alt: Backup globals dialog
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to specify the following:
|
||||
|
||||
* Enter the name of the backup file in the *Filename* field. Optionally, select the *Browser* icon (ellipsis) to the right to navigate into a directory and select a file that will contain the archive.
|
||||
* Use the drop-down listbox next to *Role name* to specify a role with connection privileges on the selected server. The role will be used for authentication during the backup.
|
||||
* Enter the name of the backup file in the *Filename* field. Optionally, select
|
||||
the *Browser* icon (ellipsis) to the right to navigate into a directory and
|
||||
select a file that will contain the archive.
|
||||
* Use the drop-down listbox next to *Role name* to specify a role with
|
||||
connection privileges on the selected server. The role will be used for
|
||||
authentication during the backup.
|
||||
|
||||
Move switches in the **Miscellaneous** field box to specify the type of statements that should be included in the backup.
|
||||
Move switches in the **Miscellaneous** field box to specify the type of
|
||||
statements that should be included in the backup.
|
||||
|
||||
* Move the *Verbose messages* switch to the *No* position to exclude status messages from the backup. The default is *Yes*.
|
||||
* Move the *Force double quote on identifiers* switch to the *Yes* position to name identifiers without changing case. The default is *No*.
|
||||
* Move the *Verbose messages* switch to the *No* position to exclude status
|
||||
messages from the backup. The default is *Yes*.
|
||||
* Move the *Force double quote on identifiers* switch to the *Yes* position to
|
||||
name identifiers without changing case. The default is *No*.
|
||||
|
||||
Click the *Backup* button to build and execute a command based on your selections; click the *Cancel* button to exit without saving work.
|
||||
Click the *Backup* button to build and execute a command based on your
|
||||
selections; click the *Cancel* button to exit without saving work.
|
||||
|
||||
.. image:: images/backup_globals_messages.png
|
||||
:alt: Backup globals success notification popup
|
||||
:align: center
|
||||
|
||||
Use the **Stop Process** button to stop the Backup process.
|
||||
|
||||
If the backup is successful, a popup window will confirm success. Click *Click here for details* on the popup window to launch the *Process Watcher*. The *Process Watcher* logs all the activity associated with the backup and provides additional information for troubleshooting.
|
||||
If the backup is successful, a popup window will confirm success. Click *Click
|
||||
here for details* on the popup window to launch the *Process Watcher*. The
|
||||
*Process Watcher* logs all the activity associated with the backup and provides
|
||||
additional information for troubleshooting.
|
||||
|
||||
.. image:: images/backup_globals_process_watcher.png
|
||||
:alt: Backup globals process watcher
|
||||
:align: center
|
||||
|
||||
If the backup is unsuccessful, review the error message returned by the *Process Watcher* to resolve any issue.
|
||||
If the backup is unsuccessful, review the error message returned by the
|
||||
*Process Watcher* to resolve any issue.
|
|
@ -4,85 +4,135 @@
|
|||
`Backup Server Dialog`:index:
|
||||
*****************************
|
||||
|
||||
Use the *Backup Server* dialog to create a plain-text script that will recreate the selected server. You can use the pgAdmin *Query Tool* to play back a plain-text script, and recreate the server.
|
||||
Use the *Backup Server* dialog to create a plain-text script that will recreate
|
||||
the selected server. You can use the pgAdmin *Query Tool* to play back a
|
||||
plain-text script, and recreate the server.
|
||||
|
||||
.. image:: images/backup_server_general.png
|
||||
:alt: Backup server dialog
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to specify the following:
|
||||
|
||||
* Enter the name of the backup file in the *Filename* field. Optionally, select the *Browser* icon (ellipsis) to the right to navigate into a directory and select a file that will contain the archive.
|
||||
* Use the *Encoding* drop-down listbox to select the character encoding method that should be used for the archive. **Note:** This option is visible only for database server greater than or equal to 11.
|
||||
* Use the drop-down listbox next to *Role name* to specify a role with connection privileges on the selected server. The role will be used for authentication during the backup.
|
||||
* Enter the name of the backup file in the *Filename* field. Optionally, select
|
||||
the *Browser* icon (ellipsis) to the right to navigate into a directory and
|
||||
select a file that will contain the archive.
|
||||
* Use the *Encoding* drop-down listbox to select the character encoding method
|
||||
that should be used for the archive. **Note:** This option is visible only for
|
||||
database server greater than or equal to 11.
|
||||
* Use the drop-down listbox next to *Role name* to specify a role with
|
||||
connection privileges on the selected server. The role will be used for
|
||||
authentication during the backup.
|
||||
|
||||
.. image:: images/backup_server_objects.png
|
||||
:alt: Type of objects option on backup server dialog
|
||||
:align: center
|
||||
|
||||
* Move switches in the **Type of objects** field box to specify details about the type of objects that will be backed up.
|
||||
* Move switches in the **Type of objects** field box to specify details about
|
||||
the type of objects that will be backed up.
|
||||
|
||||
* Move the switch next to *Only data* to the *Yes* position to limit the back up to data.
|
||||
* Move the switch next to *Only data* to the *Yes* position to limit the back
|
||||
up to data.
|
||||
|
||||
* Move the switch next to *Only schema* to limit the back up to schema-level database objects.
|
||||
* Move the switch next to *Only schema* to limit the back up to schema-level
|
||||
database objects.
|
||||
|
||||
.. image:: images/backup_server_do_not_save.png
|
||||
:alt: Do not save option on backup server dialog
|
||||
:align: center
|
||||
|
||||
* Move switches in the **Do not save** field box to select the objects that will not be included in the backup.
|
||||
* Move switches in the **Do not save** field box to select the objects that will
|
||||
not be included in the backup.
|
||||
|
||||
* Move the switch next to *Owner* to the *Yes* position to exclude commands that set object ownership.
|
||||
* Move the switch next to *Owner* to the *Yes* position to exclude commands
|
||||
that set object ownership.
|
||||
|
||||
* Move the switch next to *Privilege* to the *Yes* position to exclude commands that create access privileges.
|
||||
* Move the switch next to *Privilege* to the *Yes* position to exclude
|
||||
commands that create access privileges.
|
||||
|
||||
* Move the switch next to *Tablespace* to the *Yes* position to exclude tablespaces.
|
||||
* Move the switch next to *Tablespace* to the *Yes* position to exclude
|
||||
tablespaces.
|
||||
|
||||
* Move the switch next to *Unlogged table data* to the *Yes* position to exclude the contents of unlogged tables.
|
||||
* Move the switch next to *Unlogged table data* to the *Yes* position to
|
||||
exclude the contents of unlogged tables.
|
||||
|
||||
* Move the switch next to *Comments* to the *Yes* position to exclude commands that set the comments. **Note:** This option is visible only for database server greater than or equal to 11.
|
||||
* Move the switch next to *Comments* to the *Yes* position to exclude
|
||||
commands that set the comments. **Note:** This option is visible only for
|
||||
database server greater than or equal to 11.
|
||||
|
||||
.. image:: images/backup_server_queries.png
|
||||
:alt: Queries option on backup server dialog
|
||||
:align: center
|
||||
|
||||
* Move switches in the **Queries** field box to specify the type of statements that should be included in the backup.
|
||||
* Move switches in the **Queries** field box to specify the type of statements
|
||||
that should be included in the backup.
|
||||
|
||||
* Move the switch next to *Use Column Inserts* to the *Yes* position to dump the data in the form of INSERT statements and include explicit column names. Please note: this may make restoration from backup slow.
|
||||
* Move the switch next to *Use Column Inserts* to the *Yes* position to dump
|
||||
the data in the form of INSERT statements and include explicit column
|
||||
names. Please note: this may make restoration from backup slow.
|
||||
|
||||
* Move the switch next to *Use Insert commands* to the *Yes* position to dump the data in the form of INSERT statements rather than using a COPY command. Please note: this may make restoration from backup slow.
|
||||
* Move the switch next to *Use Insert commands* to the *Yes* position to dump
|
||||
the data in the form of INSERT statements rather than using a COPY command.
|
||||
Please note: this may make restoration from backup slow.
|
||||
|
||||
* Move the switch next to *Include DROP DATABASE statement* to the *Yes* position to include a command in the backup that will drop any existing database object with the same name before recreating the object during a backup.
|
||||
* Move the switch next to *Include DROP DATABASE statement* to the *Yes*
|
||||
position to include a command in the backup that will drop any existing
|
||||
database object with the same name before recreating the object during a
|
||||
backup.
|
||||
|
||||
|
||||
.. image:: images/backup_server_disable.png
|
||||
:alt: Disable option on backup server dialog
|
||||
:align: center
|
||||
|
||||
* Move switches in the **Disable** field box to specify the type of statements that should be excluded from the backup.
|
||||
* Move switches in the **Disable** field box to specify the type of statements
|
||||
that should be excluded from the backup.
|
||||
|
||||
* Move the switch next to *Trigger* (active when creating a data-only backup) to the *Yes* position to include commands that will disable triggers on the target table while the data is being loaded.
|
||||
* Move the switch next to *Trigger* (active when creating a data-only backup)
|
||||
to the *Yes* position to include commands that will disable triggers on the
|
||||
target table while the data is being loaded.
|
||||
|
||||
* Move the switch next to *$ quoting* to the *Yes* position to enable dollar quoting within function bodies; if disabled, the function body will be quoted using SQL standard string syntax.
|
||||
* Move the switch next to *$ quoting* to the *Yes* position to enable dollar
|
||||
quoting within function bodies; if disabled, the function body will be
|
||||
quoted using SQL standard string syntax.
|
||||
|
||||
.. image:: images/backup_server_miscellaneous.png
|
||||
:alt: Miscellaneous option on backup server dialog
|
||||
:align: center
|
||||
|
||||
* Move switches in the **Miscellaneous** field box to specify miscellaneous backup options.
|
||||
* Move switches in the **Miscellaneous** field box to specify miscellaneous
|
||||
backup options.
|
||||
|
||||
* Move the switch next to *With OIDs* to the *Yes* position to include object identifiers as part of the table data for each table.
|
||||
* Move the switch next to *With OIDs* to the *Yes* position to include object
|
||||
identifiers as part of the table data for each table.
|
||||
|
||||
* Move the switch next to *Verbose messages* to the *No* position to instruct *pg_dump* to exclude verbose messages.
|
||||
* Move the switch next to *Verbose messages* to the *No* position to instruct
|
||||
*pg_dump* to exclude verbose messages.
|
||||
|
||||
* Move the switch next to *Force double quotes on identifiers* to the *Yes* position to force the quoting of all identifiers.
|
||||
* Move the switch next to *Force double quotes on identifiers* to the *Yes*
|
||||
position to force the quoting of all identifiers.
|
||||
|
||||
* Move the switch next to *Use SET SESSION AUTHORIZATION* to the *Yes* position to include a statement that will use a SET SESSION AUTHORIZATION command to determine object ownership (instead of an ALTER OWNER command).
|
||||
* Move the switch next to *Use SET SESSION AUTHORIZATION* to the *Yes*
|
||||
position to include a statement that will use a SET SESSION AUTHORIZATION
|
||||
command to determine object ownership (instead of an ALTER OWNER command).
|
||||
|
||||
Click the *Backup* button to build and execute a command based on your selections; click the *Cancel* button to exit without saving work.
|
||||
Click the *Backup* button to build and execute a command based on your
|
||||
selections; click the *Cancel* button to exit without saving work.
|
||||
|
||||
.. image:: images/backup_server_messages.png
|
||||
:alt: Backup server success notification popup
|
||||
:align: center
|
||||
|
||||
Use the **Stop Process** button to stop the Backup process.
|
||||
|
||||
If the backup is successful, a popup window will confirm success. Click *Click here for details* on the popup window to launch the *Process Watcher*. The *Process Watcher* logs all the activity associated with the backup and provides additional information for troubleshooting.
|
||||
If the backup is successful, a popup window will confirm success. Click *Click
|
||||
here for details* on the popup window to launch the *Process Watcher*. The
|
||||
*Process Watcher* logs all the activity associated with the backup and provides
|
||||
additional information for troubleshooting.
|
||||
|
||||
.. image:: images/backup_server_process_watcher.png
|
||||
:alt: Backup server process watcher
|
||||
:align: center
|
||||
|
||||
If the backup is unsuccessful, review the error message returned by the *Process Watcher* to resolve any issue.
|
||||
If the backup is unsuccessful, review the error message returned by the
|
||||
*Process Watcher* to resolve any issue.
|
|
@ -4,44 +4,64 @@
|
|||
`Cast Dialog`:index:
|
||||
********************
|
||||
|
||||
Use the *Cast* dialog to define a cast. A cast specifies how to convert a value from one data type to another.
|
||||
Use the *Cast* dialog to define a cast. A cast specifies how to convert a value
|
||||
from one data type to another.
|
||||
|
||||
The *Cast* dialog organizes the development of a cast through the following dialog tabs: *General* and *Definition*. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *Cast* dialog organizes the development of a cast through the following
|
||||
dialog tabs: *General* and *Definition*. The *SQL* tab displays the SQL code
|
||||
generated by dialog selections.
|
||||
|
||||
.. image:: images/cast_general.png
|
||||
:alt: Cast dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to identify the cast:
|
||||
|
||||
* The *Name* field is disabled. The name that will be displayed in the *pgAdmin* tree control is the *Source* type concatenated with the *Target* type, and is generated automatically when you make selections on the *Cast* dialog *Definition* tab.
|
||||
* The *Name* field is disabled. The name that will be displayed in the
|
||||
*pgAdmin* tree control is the *Source* type concatenated with the *Target*
|
||||
type, and is generated automatically when you make selections on the *Cast*
|
||||
dialog *Definition* tab.
|
||||
* Store notes about the cast in the *Comment* field.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/cast_definition.png
|
||||
:alt: Cast dialog definition tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Definition* tab to define parameters:
|
||||
|
||||
* Use the drop-down listbox next to *Source type* to select the name of the source data type of the cast.
|
||||
* Use the drop-down listbox next to *Target type* to select the name of the target data type of the cast.
|
||||
* Use the drop-down listbox next to *Function* to select the function used to perform the cast. The function's result data type must match the target type of the cast.
|
||||
* Move the *Context* switch to the *Implicit* position if the cast is implicit. By default, a cast can be invoked only by an explicit cast request. If the cast is marked *Implicit* then it can be invoked implicitly in any context, whether by assignment or internally in an expression.
|
||||
* Use the drop-down listbox next to *Source type* to select the name of the
|
||||
source data type of the cast.
|
||||
* Use the drop-down listbox next to *Target type* to select the name of the
|
||||
target data type of the cast.
|
||||
* Use the drop-down listbox next to *Function* to select the function used to
|
||||
perform the cast. The function's result data type must match the target type
|
||||
of the cast.
|
||||
* Move the *Context* switch to the *Implicit* position if the cast is implicit.
|
||||
By default, a cast can be invoked only by an explicit cast request. If the
|
||||
cast is marked *Implicit* then it can be invoked implicitly in any context,
|
||||
whether by assignment or internally in an expression.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *Cast* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
|
||||
Your entries in the *Cast* dialog generate a SQL command (see an example below).
|
||||
Use the *SQL* tab for review; revisit or switch tabs to make any changes to the
|
||||
SQL command.
|
||||
|
||||
**Example**
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Cast* dialog:
|
||||
The following is an example of the sql command generated by user selections in
|
||||
the *Cast* dialog:
|
||||
|
||||
.. image:: images/cast_sql.png
|
||||
:alt: Cast dialog sql tab
|
||||
:align: center
|
||||
|
||||
The cast uses a function named *int4(bigint)* to convert a biginteger data type to an integer.
|
||||
The cast uses a function named *int4(bigint)* to convert a biginteger data type
|
||||
to an integer.
|
||||
|
||||
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
|
||||
* 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.
|
|
@ -4,24 +4,37 @@
|
|||
`Change Password Dialog`:index:
|
||||
*******************************
|
||||
|
||||
It is a good policy to routinely change your password to protect data, even in what you may consider a 'safe' environment. In the workplace, failure to apply an appropriate password policy could leave you in breach of Data Protection laws.
|
||||
It is a good policy to routinely change your password to protect data, even in
|
||||
what you may consider a 'safe' environment. In the workplace, failure to apply
|
||||
an appropriate password policy could leave you in breach of Data Protection
|
||||
laws.
|
||||
|
||||
Please consider the following guidelines when selecting a password:
|
||||
|
||||
* Ensure that your password is an adequate length; 6 characters should be the absolute minimum number of characters in the password.
|
||||
* Ensure that your password is not open to dictionary attacks. Use a mixture of upper and lower case letters and numerics, and avoid words or names. Consider using the first letter from each word in a phrase that you will remember easily but is an unfamiliar acronym.
|
||||
* Ensure that your password is changed regularly; at minimum, change it every ninety days.
|
||||
* Ensure that your password is an adequate length; 6 characters should be the
|
||||
absolute minimum number of characters in the password.
|
||||
* Ensure that your password is not open to dictionary attacks. Use a mixture of
|
||||
upper and lower case letters and numerics, and avoid words or names. Consider
|
||||
using the first letter from each word in a phrase that you will remember
|
||||
easily but is an unfamiliar acronym.
|
||||
* Ensure that your password is changed regularly; at minimum, change it every
|
||||
ninety days.
|
||||
|
||||
The above should be considered a starting point: It is not a comprehensive list and it **will not guarantee security**.
|
||||
The guidelines above should be considered a starting point: They are not a
|
||||
comprehensive list and they **will not guarantee security**.
|
||||
|
||||
.. image:: images/password.png
|
||||
:alt: Change database password dialog
|
||||
:align: center
|
||||
|
||||
Use the *Change Password* dialog to change your password:
|
||||
|
||||
* The name displayed in the *User* field is the role for which you are modifying the password; it is the role that is associated with the server connection that is highlighted in the tree control.
|
||||
* The name displayed in the *User* field is the role for which you are modifying
|
||||
the password; it is the role that is associated with the server connection
|
||||
that is highlighted in the tree control.
|
||||
* Enter the password associated with the role in the *Current Password* field.
|
||||
* Enter the desired password for in the *New Password* field.
|
||||
* Re-enter the new password in the *Confirm Password* field.
|
||||
|
||||
Click the *OK* button to change your password; click *Cancel* to exit the dialog without changing your password.
|
||||
Click the *OK* button to change your password; click *Cancel* to exit the dialog
|
||||
without changing your password.
|
|
@ -4,18 +4,28 @@
|
|||
`Change User Password Dialog`:index:
|
||||
************************************
|
||||
|
||||
It is a good policy to routinely change your password to protect data, even in what you may consider a 'safe' environment. In the workplace, failure to apply an appropriate password policy could leave you in breach of Data Protection laws.
|
||||
It is a good policy to routinely change your password to protect data, even in
|
||||
what you may consider a 'safe' environment. In the workplace, failure to apply
|
||||
an appropriate password policy could leave you in breach of Data Protection
|
||||
laws.
|
||||
|
||||
Please consider the following guidelines when selecting a password:
|
||||
|
||||
* Ensure that your password is an adequate length; 6 characters should be the absolute minimum number of characters in the password.
|
||||
* Ensure that your password is not open to dictionary attacks. Use a mixture of upper and lower case letters and numerics, and avoid words or names. Consider using the first letter from each word in a phrase that you will remember easily but is an unfamiliar acronym.
|
||||
* Ensure that your password is changed regularly; at minimum, change it every ninety days.
|
||||
* Ensure that your password is an adequate length; 6 characters should be the
|
||||
absolute minimum number of characters in the password.
|
||||
* Ensure that your password is not open to dictionary attacks. Use a mixture of
|
||||
upper and lower case letters and numerics, and avoid words or names. Consider
|
||||
using the first letter from each word in a phrase that you will remember
|
||||
easily but is an unfamiliar acronym.
|
||||
* Ensure that your password is changed regularly; at minimum, change it every
|
||||
ninety days.
|
||||
|
||||
The above should be considered a starting point: It is not a comprehensive list and it **will not guarantee security**.
|
||||
The guidelines above should be considered a starting point: They are not a
|
||||
comprehensive list and they **will not guarantee security**.
|
||||
|
||||
.. image:: images/change_user_password.png
|
||||
:alt: Change current user password dialog
|
||||
:align: center
|
||||
|
||||
Use the *Change Password* dialog to change your password:
|
||||
|
||||
|
@ -23,4 +33,5 @@ Use the *Change Password* dialog to change your password:
|
|||
* Enter the desired password for in the *New Password* field.
|
||||
* Re-enter the new password in the *Confirm Password* field.
|
||||
|
||||
Click the *Change Password* button to change your password; click *Close* to exit the dialog.
|
||||
Click the *Change Password* button to change your password; click *Close* to
|
||||
exit the dialog.
|
|
@ -4,44 +4,62 @@
|
|||
`Check Dialog`:index:
|
||||
*********************
|
||||
|
||||
Use the *Check* dialog to define or modify a check constraint. A check constraint specifies an expression that produces a Boolean result that new or updated rows must satisfy for an insert or update operation to succeed.
|
||||
Use the *Check* dialog to define or modify a check constraint. A check
|
||||
constraint specifies an expression that produces a Boolean result that new or
|
||||
updated rows must satisfy for an insert or update operation to succeed.
|
||||
|
||||
The *Check* dialog organizes the development of a check constraint through the *General* and *Definition* tabs. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *Check* dialog organizes the development of a check constraint through the
|
||||
*General* and *Definition* tabs. The *SQL* tab displays the SQL code generated
|
||||
by dialog selections.
|
||||
|
||||
.. image:: images/check_general.png
|
||||
:alt: Check dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to identify the check constraint:
|
||||
|
||||
* Use the *Name* field to provide a descriptive name for the check constraint that will be displayed in the *pgAdmin* tree control. With PostgreSQL 9.5 forward, when a table has multiple check constraints, they will be tested for each row in alphabetical order by name and after NOT NULL constraints.
|
||||
* Use the *Name* field to provide a descriptive name for the check constraint
|
||||
that will be displayed in the *pgAdmin* tree control. With PostgreSQL 9.5
|
||||
forward, when a table has multiple check constraints, they will be tested for
|
||||
each row in alphabetical order by name and after NOT NULL constraints.
|
||||
* Store notes about the check constraint in the *Comment* field.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/check_definition.png
|
||||
:alt: Check dialog definition tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Definition* tab to define the check constraint:
|
||||
|
||||
* Provide the expression that a row must satisfy in the *Check* field.
|
||||
* Move the *No Inherit?* switch to the *Yes* position to specify this constraint is automatically inherited by a table's children. The default is *No*.
|
||||
* Move the *Don't validate?* switch to the *No* position to skip validation of existing data; the constraint may not hold for all rows in the table. The default is *Yes*.
|
||||
* Move the *No Inherit?* switch to the *Yes* position to specify this constraint
|
||||
is automatically inherited by a table's children. The default is *No*.
|
||||
* Move the *Don't validate?* switch to the *No* position to skip validation of
|
||||
existing data; the constraint may not hold for all rows in the table. The
|
||||
default is *Yes*.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *Check* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
|
||||
Your entries in the *Check* dialog generate a SQL command (see an example
|
||||
below). Use the *SQL* tab for review; revisit or switch tabs to make any changes
|
||||
to the SQL command.
|
||||
|
||||
**Example**
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Check* dialog:
|
||||
The following is an example of the sql command generated by user selections in
|
||||
the *Check* dialog:
|
||||
|
||||
.. image:: images/check_sql.png
|
||||
:alt: Check dialog sql tab
|
||||
:align: center
|
||||
|
||||
The example shown demonstrates creating a check constraint named *check_price* on the *price* column of the *products* table. The constraint confirms that any values added to the column are greater than 0.
|
||||
The example shown demonstrates creating a check constraint named *check_price*
|
||||
on the *price* column of the *products* table. The constraint confirms that
|
||||
any values added to the column are greater than 0.
|
||||
|
||||
|
||||
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
|
||||
* 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.
|
|
@ -4,16 +4,23 @@
|
|||
`Clear Saved Passwords`:index:
|
||||
******************************
|
||||
|
||||
Use *Clear Saved Password* functionality to clear the saved password for the database server.
|
||||
Use *Clear Saved Password* functionality to clear the saved password for the
|
||||
database server.
|
||||
|
||||
.. image:: images/clear_saved_password.png
|
||||
:align: center
|
||||
|
||||
*Clear Saved Password* shows in the context menu for the selected server as well as under the *Object* menu on the top menu bar.
|
||||
*Clear Saved Password* shows in the context menu for the selected server as well
|
||||
as under the *Object* menu on the top menu bar.
|
||||
|
||||
Use *Clear SSH Tunnel Password* functionality to clear the saved password of SSH Tunnel to connect to the database server.
|
||||
Use *Clear SSH Tunnel Password* functionality to clear the saved password of SSH
|
||||
Tunnel to connect to the database server.
|
||||
|
||||
.. image:: images/clear_tunnel_password.png
|
||||
:align: center
|
||||
|
||||
*Clear SSH Tunnel Password* shows in the context menu for the selected server as well as under the *Object* menu on the top menu bar.
|
||||
*Clear SSH Tunnel Password* shows in the context menu for the selected server as
|
||||
well as under the *Object* menu on the top menu bar.
|
||||
|
||||
**Note:** It will be enabled/visible when the password for the selected database server is already saved.
|
||||
**Note:** It will be enabled/visible when the password for the selected database
|
||||
server is already saved.
|
|
@ -10,14 +10,14 @@ desktop runtime is also included for users that prefer a desktop application to
|
|||
a web application, which is written in C++ using the QT framework.
|
||||
|
||||
Runtime
|
||||
=======
|
||||
*******
|
||||
|
||||
The runtime is essentially a Python webserver and browser in a box. Found in the
|
||||
**/runtime** directory in the source tree, it is a relatively simple QT
|
||||
application that is most easily modified using the **QT Creator** application.
|
||||
|
||||
Web Application
|
||||
===============
|
||||
***************
|
||||
|
||||
The web application forms the bulk of pgAdmin and can be found in the **/web**
|
||||
directory in the source tree. The main file is **pgAdmin4.py** which can be used
|
||||
|
@ -25,7 +25,7 @@ to run the built-in standalone web server, or as a WSGI application for producti
|
|||
use.
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
=============
|
||||
|
||||
The core application configuration is found in **config.py**. This file includes
|
||||
all configurable settings for the application, along with descriptions of their
|
||||
|
@ -34,7 +34,7 @@ a web server; these can be overriden in **config_local.py** to avoid modifying
|
|||
the main configuration file.
|
||||
|
||||
User Settings
|
||||
-------------
|
||||
=============
|
||||
|
||||
When running in desktop mode, pgAdmin has a single, default user account that is
|
||||
used for the desktop user. When running in server mode, there may be unlimited
|
||||
|
@ -57,7 +57,7 @@ The local configuration will determine how the script sets up the database,
|
|||
particularly with regard to desktop vs. server mode.
|
||||
|
||||
pgAdmin Core
|
||||
============
|
||||
************
|
||||
|
||||
The heart of pgAdmin is the **pgadmin** package. This contains the globally
|
||||
available HTML templates used by the Jinja engine, as well as any global static
|
||||
|
@ -68,7 +68,7 @@ is responsible for setting up logging and authentication, dynamically loading
|
|||
other modules, and a few other tasks.
|
||||
|
||||
Modules
|
||||
=======
|
||||
*******
|
||||
|
||||
Units of functionality are added to pgAdmin through the addition of modules.
|
||||
Theses are Python object instance of classes, inherits the
|
||||
|
@ -190,7 +190,7 @@ loaded modules, but must use the defined hook points and fail gracefully in the
|
|||
event that a particular module is not present.
|
||||
|
||||
Nodes
|
||||
=====
|
||||
*****
|
||||
|
||||
Nodes are very similar to modules, it represents an individual node or,
|
||||
collection object on the browser treeview. To recognised as a node module, a
|
||||
|
@ -202,7 +202,7 @@ Python package (along with javascript modules) must be created. This must:
|
|||
3) An instance of the class object
|
||||
|
||||
Front End
|
||||
=========
|
||||
*********
|
||||
|
||||
pgAdmin uses javascript extensively for the front-end implementation. It uses
|
||||
require.js to allow the lazy loading (or, say load only when required),
|
||||
|
|
|
@ -8,7 +8,7 @@ pgAdmin uses multiple technologies and multiple languages, each of which have
|
|||
their own coding standards.
|
||||
|
||||
General
|
||||
=======
|
||||
*******
|
||||
|
||||
In all languages, indentations should be made with 4 spaces, and excessively long
|
||||
lines wrapped where appropriate to ensure they can be read on smaller displays
|
||||
|
@ -20,7 +20,7 @@ Comments should be included in all code where required to explain its
|
|||
purpose or how it works if not obvious from a quick review of the code itself.
|
||||
|
||||
CSS 3
|
||||
=====
|
||||
*****
|
||||
|
||||
CSS3 is used for styling and layout throughout the application. Extensive use is
|
||||
made of the Bootstrap Framework to aid in that process, however additional
|
||||
|
@ -54,7 +54,7 @@ Styles should be specified clearly, one per line. For example:
|
|||
All stylesheets must be CSS3 compliant.
|
||||
|
||||
HTML 5
|
||||
======
|
||||
******
|
||||
|
||||
HTML 5 is used for page structure throughout the application, in most cases
|
||||
being rendered from templates by the Jinja2 template engine in Flask.
|
||||
|
@ -62,7 +62,7 @@ being rendered from templates by the Jinja2 template engine in Flask.
|
|||
All HTML must be HTML 5 compliant.
|
||||
|
||||
Javascript
|
||||
==========
|
||||
**********
|
||||
|
||||
Client-side code is written in Javascript using jQuery and various plugins.
|
||||
Whilst much of the code is rendered from static files, there is also code that
|
||||
|
@ -110,7 +110,7 @@ names.
|
|||
ES6 features and conventions.
|
||||
|
||||
C++
|
||||
---
|
||||
***
|
||||
|
||||
C++ code is used in the desktop runtime for the application, primarily with the
|
||||
QT framework and an embedded Python interpreter. Note the use of hanging braces,
|
||||
|
@ -158,7 +158,7 @@ which may be omitted if on a single statement is present:
|
|||
}
|
||||
|
||||
Python
|
||||
======
|
||||
******
|
||||
|
||||
Python is used for the backend web server. All code must be compatible with
|
||||
Python 2.7 and should include PyDoc comments whilst following the official
|
||||
|
|
|
@ -4,49 +4,79 @@
|
|||
`Collation Dialog`:index:
|
||||
*************************
|
||||
|
||||
Use the *Collation* dialog to define a collation. A collation is an SQL schema object that maps a SQL name to operating system locales. To create a collation, you must have a CREATE privilege on the destination schema.
|
||||
Use the *Collation* dialog to define a collation. A collation is an SQL schema
|
||||
object that maps a SQL name to operating system locales. To create a collation,
|
||||
you must have a CREATE privilege on the destination schema.
|
||||
|
||||
The *Collation* dialog organizes the development of a collation through the following dialog tabs: *General* and *Definition*. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *Collation* dialog organizes the development of a collation through the
|
||||
following dialog tabs: *General* and *Definition*. The *SQL* tab displays the
|
||||
SQL code generated by dialog selections.
|
||||
|
||||
.. image:: images/collation_general.png
|
||||
:alt: Collation dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to identify the collation:
|
||||
|
||||
* Use the *Name* field to provide a name for the collation. The collation name must be unique within a schema. The name will be displayed in the *pgAdmin* tree control.
|
||||
* Use the *Name* field to provide a name for the collation. The collation name
|
||||
must be unique within a schema. The name will be displayed in the *pgAdmin*
|
||||
tree control.
|
||||
* Select the name of the owner from the drop-down listbox in the *Owner* field.
|
||||
* Select the name of the schema in which the collation will reside from the drop-down listbox in the *Schema* field.
|
||||
* Select the name of the schema in which the collation will reside from the
|
||||
drop-down listbox in the *Schema* field.
|
||||
* Store notes about the collation in the *Comment* field.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/collation_definition.png
|
||||
:alt: Collation dialog definition tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Definition* tab to specify the operating system locale settings:
|
||||
Use the fields in the *Definition* tab to specify the operating system locale
|
||||
settings:
|
||||
|
||||
* Use the drop-down listbox next to *Copy collation* to select the name of an existing collation to copy. The new collation will have the same properties as the existing one, but will be an independent object. If you choose to copy an existing collation, you cannot modify the collation properties displayed on this tab.
|
||||
* Use the *Locale* field to specify a locale; a locale specifies language and language formatting characteristics. If you specify this, you cannot specify either of the following parameters. To view a list of locales supported by your Linux system use the command *locale -a*.
|
||||
* Use the *LC_COLLATE* field to specify a locale with specified string sort order. The locale must be applicable to the current database encoding. (See CREATE DATABASE for details.)
|
||||
* Use the *LC_CTYPE* field to specify a locale with specified character classification. The locale must be applicable to the current database encoding. (See CREATE DATABASE for details.)
|
||||
* Use the drop-down listbox next to *Copy collation* to select the name of an
|
||||
existing collation to copy. The new collation will have the same properties
|
||||
as the existing one, but will be an independent object. If you choose to copy
|
||||
an existing collation, you cannot modify the collation properties displayed on
|
||||
this tab.
|
||||
* Use the *Locale* field to specify a locale; a locale specifies language and
|
||||
language formatting characteristics. If you specify this, you cannot specify
|
||||
either of the following parameters. To view a list of locales supported by
|
||||
your Linux system use the command *locale -a*.
|
||||
* Use the *LC_COLLATE* field to specify a locale with specified string sort
|
||||
order. The locale must be applicable to the current database encoding. (See
|
||||
CREATE DATABASE for details.)
|
||||
* Use the *LC_CTYPE* field to specify a locale with specified character
|
||||
classification. The locale must be applicable to the current database encoding.
|
||||
(See CREATE DATABASE for details.)
|
||||
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *Collation* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
|
||||
Your entries in the *Collation* dialog generate a SQL command (see an example b
|
||||
elow). Use the *SQL* tab for review; revisit or switch tabs to make any changes
|
||||
to the SQL command.
|
||||
|
||||
**Example**
|
||||
Example
|
||||
*******
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Collation* dialog:
|
||||
The following is an example of the sql command generated by user selections in
|
||||
the *Collation* dialog:
|
||||
|
||||
.. image:: images/collation_sql.png
|
||||
:alt: Collation dialog sql tab
|
||||
:align: center
|
||||
|
||||
The example shown demonstrates creating a collation named *french* that uses the rules specified for the locale, *fr-BI-x-icu. The collation is owned by *postgres*.
|
||||
The example shown demonstrates creating a collation named *french* that uses the
|
||||
rules specified for the locale, *fr-BI-x-icu. The collation is owned by
|
||||
*postgres*.
|
||||
|
||||
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation. For more information about setting a locale, see Chapter 22.1 Locale Support of the PostgreSQL core documentation:
|
||||
* Click the *Info* button (i) to access online help. For more information about
|
||||
setting a locale, see Chapter 22.1 Locale Support of the PostgreSQL core
|
||||
documentation:
|
||||
|
||||
http://www.postgresql.org/docs/9.5/static/locale.html
|
||||
http://www.postgresql.org/docs/current/static/locale.html
|
||||
|
||||
* Click the *Save* button to save work.
|
||||
* Click the *Cancel* button to exit without saving work.
|
||||
|
|
|
@ -4,73 +4,109 @@
|
|||
`Column Dialog`:index:
|
||||
**********************
|
||||
|
||||
Use the *Column* dialog to add a column to an existing table or modify a column definition.
|
||||
Use the *Column* dialog to add a column to an existing table or modify a column
|
||||
definition.
|
||||
|
||||
The *Column* dialog organizes the development of a column through the following dialog tabs: *General*, *Definition*, and *Security*. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *Column* dialog organizes the development of a column through the following
|
||||
dialog tabs: *General*, *Definition*, and *Security*. The *SQL* tab displays the
|
||||
SQL code generated by dialog selections.
|
||||
|
||||
.. image:: images/column_general.png
|
||||
:alt: Column dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to identify the column:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the column. The name will be displayed in the *pgAdmin* tree control. This field is required.
|
||||
* Use the *Name* field to add a descriptive name for the column. The name will
|
||||
be displayed in the *pgAdmin* tree control. This field is required.
|
||||
* Store notes about the column in the *Comment* field.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/column_definition.png
|
||||
:alt: Column dialog definition tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Definition* tab to add parameters for the column. (Fields are disabled if inapplicable.)
|
||||
Use the fields in the *Definition* tab to add parameters for the column. (Fields
|
||||
are disabled if inapplicable.)
|
||||
|
||||
* Use the drop-down listbox next to *Data Type* to select a data type for the 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 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 the column.
|
||||
* Use the drop-down listbox next to *Data Type* to select a data type for the
|
||||
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
|
||||
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
|
||||
the column.
|
||||
* Use the *Default Value* field to specify a default data value.
|
||||
* Move the *Not Null* switch to the *Yes* position to specify the column may not contain null values. The default is *No*.
|
||||
* Move the *Not Null* switch to the *Yes* position to specify the column may not
|
||||
contain null values. The default is *No*.
|
||||
|
||||
Click the *Variables* tab to continue.
|
||||
|
||||
.. image:: images/column_variables.png
|
||||
:alt: Column dialog variables tab
|
||||
:align: center
|
||||
|
||||
Use the *Variables* tab to to specify the number of distinct values that may be present in the column; this value overrides estimates made by the ANALYZE command. Click the *Add* icon (+) to add a *Name*/*Value* pair:
|
||||
Use the *Variables* tab to to specify the number of distinct values that may be
|
||||
present in the column; this value overrides estimates made by the ANALYZE
|
||||
command. Click the *Add* icon (+) to add a *Name*/*Value* pair:
|
||||
|
||||
* Select the name of the variable from the drop-down listbox in the *Name* field.
|
||||
|
||||
* Select *n_distinct* to specify the number of distinct values for the column.
|
||||
* Select *n_distinct_inherited* to specify the number of distinct values for the table and its children.
|
||||
* Select *n_distinct_inherited* to specify the number of distinct values
|
||||
for the table and its children.
|
||||
|
||||
* Specify the number of distinct values in the *Value* field. For more information, see the documentation for `ALTER TABLE <http://www.postgresql.org/docs/9.6/static/sql_altertable.html>`_.
|
||||
* Specify the number of distinct values in the *Value* field. For more
|
||||
information, see the documentation for
|
||||
`ALTER TABLE <http://www.postgresql.org/docs/9.6/static/sql_altertable.html>`_.
|
||||
|
||||
Click the *Add* icon (+) to specify each additional *Name*/*Value* pair; to discard a variable, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
|
||||
Click the *Add* icon (+) to specify each additional *Name*/*Value* pair; to
|
||||
discard a variable, click the trash icon to the left of the row and confirm
|
||||
deletion in the *Delete Row* popup.
|
||||
|
||||
Click the *Security* tab to continue.
|
||||
|
||||
.. image:: images/column_security.png
|
||||
:alt: Column dialog security tab
|
||||
:align: center
|
||||
|
||||
Use the *Security* tab to assign attributes and define security labels. Click the *Add* icon (+) to add each security label selection:
|
||||
Use the *Security* tab to assign attributes and define security labels. Click
|
||||
the *Add* icon (+) to add each security label selection:
|
||||
|
||||
* Specify a security label provider in the *Provider* field. The named provider must be loaded and must consent to the proposed labeling operation.
|
||||
* Specify a a security label in the *Security Label* field. The meaning of a given label is at the discretion of the label provider. PostgreSQL places no restrictions on whether or how a label provider must interpret security labels; it merely provides a mechanism for storing them.
|
||||
* Specify a security label provider in the *Provider* field. The named provider
|
||||
must be loaded and must consent to the proposed labeling operation.
|
||||
* Specify a a security label in the *Security Label* field. The meaning of a
|
||||
given label is at the discretion of the label provider. PostgreSQL places no
|
||||
restrictions on whether or how a label provider must interpret security
|
||||
labels; it merely provides a mechanism for storing them.
|
||||
|
||||
Click the *Add* icon (+) to assign additional security labels; to discard a security label, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
|
||||
Click the *Add* icon (+) to assign additional security labels; to discard a
|
||||
security label, click the trash icon to the left of the row and confirm deletion
|
||||
in the *Delete Row* popup.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *Column* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
|
||||
Your entries in the *Column* dialog generate a SQL command (see an example
|
||||
below). Use the *SQL* tab for review; revisit or switch tabs to make any changes
|
||||
to the SQL command.
|
||||
|
||||
**Example**
|
||||
Example
|
||||
*******
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Column* dialog:
|
||||
The following is an example of the sql command generated by user selections in
|
||||
the *Column* dialog:
|
||||
|
||||
.. image:: images/column_sql.png
|
||||
:alt: Column dialog sql tab
|
||||
:align: center
|
||||
|
||||
The example shown demonstrates creating a column named *territory* in the table named *distributors*.
|
||||
The example shown demonstrates creating a column named *territory* in the table
|
||||
named *distributors*.
|
||||
|
||||
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
|
||||
* 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.
|
|
@ -1,51 +1,76 @@
|
|||
.. _connect_error:
|
||||
|
||||
*************************
|
||||
`Connection error`:index:
|
||||
`Connection Error`:index:
|
||||
*************************
|
||||
|
||||
When connecting to a PostgreSQL server, you may get an error message. If you encounter an error message, please review the message carefully; each error message attempts to incorporate the information you'll need to resolve the problem. For more details about specific errors, please locate the error message in the list below:
|
||||
When connecting to a PostgreSQL server, you may get an error message. If you
|
||||
encounter an error message, please review the message carefully; each error
|
||||
message attempts to incorporate the information you'll need to resolve the
|
||||
problem. For more details about specific errors, please locate the error
|
||||
message in the list below:
|
||||
|
||||
**Connection to the server has been lost**
|
||||
|
||||
.. image:: images/ce_timeout.png
|
||||
:alt: Connection to the server has been lost
|
||||
:align: center
|
||||
|
||||
This error message indicates that the connection attempt has taken longer than the specified threshold; there may be a problem with the connection properties provided on the *Server* dialog, network connectivity issues, or the server may not be running.
|
||||
This error message indicates that the connection attempt has taken longer than
|
||||
the specified threshold; there may be a problem with the connection properties
|
||||
provided on the *Server* dialog, network connectivity issues, or the server may
|
||||
not be running.
|
||||
|
||||
**could not connect to Server: Connection refused**
|
||||
|
||||
.. image:: images/ce_not_running.png
|
||||
:alt: Could not connect to server
|
||||
:align: center
|
||||
|
||||
If pgAdmin displays this message, there are two possible reasons for this:
|
||||
* the database server isn't running - simply start it.
|
||||
* the server isn't configured to accept TCP/IP requests on the address shown.
|
||||
|
||||
For security reasons, a PostgreSQL server "out of the box" doesn't listen on TCP/IP ports. Instead, it must be enabled to listen for TCP/IP requests. This can be done by adding **tcpip = true** to the postgresql.conf file for Versions 7.3.x and 7.4.x, or **listen_addresses='*'** for Version 8.0.x and above; this will make the server accept connections on any IP interface.
|
||||
For security reasons, a PostgreSQL server "out of the box" doesn't listen on
|
||||
TCP/IP ports. Instead, it must be enabled to listen for TCP/IP requests. This
|
||||
can be done by adding **listen_addresses='*'**; this will make the server accept
|
||||
connections on any IP interface.
|
||||
|
||||
For further information, please refer to the PostgreSQL documentation about `runtime configuration <http://www.postgresql.org/docs/current/interactive/runtime-config.html>`_.
|
||||
For further information, please refer to the PostgreSQL documentation about
|
||||
`runtime configuration <http://www.postgresql.org/docs/current/interactive/runtime-config.html>`_.
|
||||
|
||||
**FATAL: no pg_hba.conf entry**
|
||||
|
||||
.. image:: images/ce_error_hba.png
|
||||
:alt: No pg_hba.conf entry
|
||||
:align: center
|
||||
|
||||
If pgAdmin displays this message when connecting, your server can be contacted correctly over the network, but is not configured to accept your connection. Your client has not been detected as a legal user for the database.
|
||||
If pgAdmin displays this message when connecting, your server can be contacted
|
||||
correctly over the network, but is not configured to accept your connection.
|
||||
Your client has not been detected as a legal user for the database.
|
||||
|
||||
To connect to a server, the pg_hba.conf file on the database server must be configured to accept connections from the host of the pgAdmin client. Modify the pg_hba.conf file on the database server host, and add an entry in the form:
|
||||
To connect to a server, the pg_hba.conf file on the database server must be
|
||||
configured to accept connections from the host of the pgAdmin client. Modify
|
||||
the pg_hba.conf file on the database server host, and add an entry in the form:
|
||||
|
||||
* **host template1 postgres 192.168.0.0/24 md5** for an IPV4 network
|
||||
* **host template1 postgres ::ffff:192.168.0.0/120 md5** for an IPV6 network
|
||||
|
||||
For more information, please refer to the PostgreSQL documentation about `client authentication <http://www.postgresql.org/docs/current/interactive/client-authentication.html>`_.
|
||||
For more information, please refer to the PostgreSQL documentation about
|
||||
`client authentication <http://www.postgresql.org/docs/current/interactive/client-authentication.html>`_.
|
||||
|
||||
**FATAL: password authentication failed**
|
||||
|
||||
.. image:: images/ce_password_failed.png
|
||||
:alt: Password authentication failed
|
||||
:align: center
|
||||
|
||||
* The *password authentication failed for user* error message indicates there may be a problem with the password you entered. Retry the password to confirm you entered it correctly. If the error message returns, make sure that you have the correct password, that you are authorized to access the server, and that the access has been correctly configured in the server's postgresql.conf configuration file.
|
||||
The *password authentication failed for user* error message indicates there
|
||||
may be a problem with the password you entered. Retry the password to confirm
|
||||
you entered it correctly. If the error message returns, make sure that you have
|
||||
the correct password, that you are authorized to access the server, and that
|
||||
the access has been correctly configured in the server's postgresql.conf
|
||||
configuration file.
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,31 +1,48 @@
|
|||
.. _connect_to_server:
|
||||
|
||||
**************************
|
||||
`Connect to server`:index:
|
||||
`Connect to Server`:index:
|
||||
**************************
|
||||
|
||||
Use the *Connect to Server* dialog to authenticate with a defined server and access the objects stored on the server through the pgAdmin tree control. To access the dialog, right click on the server name in the *pgAdmin* tree control, and select *Connect Server...* from the context menu.
|
||||
Use the *Connect to Server* dialog to authenticate with a defined server and
|
||||
access the objects stored on the server through the pgAdmin tree control. To
|
||||
access the dialog, right click on the server name in the *pgAdmin* tree control,
|
||||
and select *Connect Server...* from the context menu.
|
||||
|
||||
.. image:: images/connect_to_server.png
|
||||
:alt: Connect to server dialog
|
||||
|
||||
Provide authentication information for the selected server:
|
||||
|
||||
* Use the *Password* field to provide the password of the user that is associated with the defined server.
|
||||
* Check the box next to *Save Password* to instruct the server to save the password for future connections; if you save the password, you will not be prompted when reconnecting to the database server with this server definition.
|
||||
* Use the *Password* field to provide the password of the user that is
|
||||
associated with the defined server.
|
||||
* Check the box next to *Save Password* to instruct the server to save the
|
||||
password for future connections; if you save the password, you will not be
|
||||
prompted when reconnecting to the database server with this server
|
||||
definition.
|
||||
|
||||
In case of SSH Tunneling, *Connect to Server* dialog will prompt for SSH Tunnel and Database server passwords if not already saved.
|
||||
When using SSH Tunneling, the *Connect to Server* dialog will prompt for the SSH
|
||||
Tunnel and Database server passwords if not already saved.
|
||||
|
||||
.. image:: images/connect_to_tunneled_server.png
|
||||
:alt: Connect to server dialog
|
||||
|
||||
Provide authentication information for the selected server:
|
||||
|
||||
* Use the *Password* field to provide the password of the user that is associated with the defined server.
|
||||
* Check the box next to respective *Save Password* to instruct the server to save the password for future connections; if you save the password, you will not be prompted when reconnecting to the database server with this server definition.
|
||||
* Use the *Password* field to provide the password of the user that is
|
||||
associated with the defined server.
|
||||
* Check the box next to respective *Save Password* to instruct the server to
|
||||
save the password for future connections; if you save the password, you will
|
||||
not be prompted when reconnecting to the database server with this server
|
||||
definition.
|
||||
|
||||
The pgAdmin client displays a message in a green status bar in the lower right corner when the server connects successfully.
|
||||
The pgAdmin client displays a message in a green status bar in the lower right
|
||||
corner when the server connects successfully.
|
||||
|
||||
If you receive an error message while attempting a connection, verify that your network is allowing the pgAdmin host and the host of the database server to communicate. For detailed information about a specific error message, please see the :ref:`Connection Error <connect_error>` help page.
|
||||
If you receive an error message while attempting a connection, verify that your
|
||||
network is allowing the pgAdmin host and the host of the database server to
|
||||
communicate. For detailed information about a specific error message, please see
|
||||
the :ref:`Connection Error <connect_error>` help page.
|
||||
|
||||
To review or modify connection details, right-click on the name of the server, and select *Properties...* from the context menu.
|
||||
To review or modify connection details, right-click on the name of the server,
|
||||
and select *Properties...* from the context menu.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.. _connecting:
|
||||
|
||||
*******************************
|
||||
`Connecting to a Server`:index:
|
||||
`Connecting To A Server`:index:
|
||||
*******************************
|
||||
|
||||
Before you can use the pgAdmin client to manage the objects that reside on your
|
||||
|
@ -11,8 +11,6 @@ the server connections within the tree control for easier management. To open
|
|||
the *Server Group* dialog, right-click on the *Servers* node of the tree
|
||||
control, and select *Server Group* from the *Create* menu.
|
||||
|
||||
Contents:
|
||||
|
||||
.. toctree::
|
||||
|
||||
server_group_dialog
|
||||
|
@ -22,8 +20,6 @@ each new server that you wish to manage with pgAdmin. To open the *Server*
|
|||
dialog, right-click on the *Servers* node of the tree control, and select
|
||||
*Server* from the *Create* menu.
|
||||
|
||||
Contents:
|
||||
|
||||
.. toctree::
|
||||
|
||||
server_dialog
|
||||
|
@ -32,8 +28,6 @@ After defining a server connection, right-click on the server name, and select
|
|||
*Connect to server* to authenticate with the server, and start using pgAdmin to
|
||||
manage objects that reside on the server.
|
||||
|
||||
Contents:
|
||||
|
||||
.. toctree::
|
||||
|
||||
connect_to_server
|
||||
|
@ -45,4 +39,4 @@ of pgAdmin.
|
|||
|
||||
.. toctree::
|
||||
|
||||
export_import_servers
|
||||
import_export_servers
|
|
@ -1,8 +1,8 @@
|
|||
.. _container_deployment:
|
||||
|
||||
**************************************
|
||||
*****************************
|
||||
`Container Deployment`:index:
|
||||
**************************************
|
||||
*****************************
|
||||
|
||||
pgAdmin can be deployed in a container using the image at:
|
||||
|
||||
|
@ -17,11 +17,11 @@ maintenance functions to be executed. Multiple versions are included in the
|
|||
following directories to allow use with different versions of the database
|
||||
server:
|
||||
|
||||
* PostgreSQL 9.4: /usr/local/pgsql-9.4
|
||||
* PostgreSQL 9.5: /usr/local/pgsql-9.5
|
||||
* PostgreSQL 9.6: /usr/local/pgsql-9.6
|
||||
* PostgreSQL 10: /usr/local/pgsql-10
|
||||
* PostgreSQL 11: /usr/local/pgsql-11
|
||||
* PostgreSQL 9.4: */usr/local/pgsql-9.4*
|
||||
* PostgreSQL 9.5: */usr/local/pgsql-9.5*
|
||||
* PostgreSQL 9.6: */usr/local/pgsql-9.6*
|
||||
* PostgreSQL 10: */usr/local/pgsql-10*
|
||||
* PostgreSQL 11: */usr/local/pgsql-11*
|
||||
|
||||
The most recent version of the utilities is used by default; this may be
|
||||
changed in the :ref:`preferences`.
|
||||
|
|
|
@ -4,11 +4,14 @@
|
|||
`pgAdmin Project Contributions`:index:
|
||||
**************************************
|
||||
|
||||
pgAdmin is an open-source project that invites you to get involved in the development process. For more information about contributing to the pgAdmin project, contact the developers on the pgAdmin mailing list pgadmin-hackers@postgresql.org to discuss any ideas you might have for enhancements or bug fixes.
|
||||
pgAdmin is an open-source project that invites you to get involved in the
|
||||
development process. For more information about contributing to the pgAdmin
|
||||
project, contact the developers on the pgAdmin mailing list
|
||||
pgadmin-hackers@postgresql.org to discuss any ideas you might have for
|
||||
enhancements or bug fixes.
|
||||
|
||||
In the sections listed below, you'll find detailed information about the development process used to develop, improve, and maintain the pgAdmin client.
|
||||
|
||||
Contents:
|
||||
In the following sections, you'll find detailed information about the
|
||||
development process used to develop, improve, and maintain the pgAdmin client.
|
||||
|
||||
.. toctree::
|
||||
|
||||
|
|
|
@ -4,82 +4,120 @@
|
|||
`Database Dialog`:index:
|
||||
************************
|
||||
|
||||
Use the *Database* dialog to define or modify a database. To create a database, you must be a database superuser or have the CREATE privilege.
|
||||
Use the *Database* dialog to define or modify a database. To create a database,
|
||||
you must be a database superuser or have the CREATE privilege.
|
||||
|
||||
The *Database* dialog organizes the development of a database through the following dialog tabs: *General*, *Definition*, *Security*, and *Parameters*. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *Database* dialog organizes the development of a database through the
|
||||
following dialog tabs: *General*, *Definition*, *Security*, and *Parameters*.
|
||||
The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
|
||||
.. image:: images/database_general.png
|
||||
:alt: Database dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to identify the database:
|
||||
|
||||
* Use the *Database* field to add a descriptive name for the database. The name will be displayed in the *pgAdmin* tree control.
|
||||
* Select the owner of the database from the drop-down listbox in the *Owner* field.
|
||||
* Use the *Database* field to add a descriptive name for the database. The name
|
||||
will be displayed in the *pgAdmin* tree control.
|
||||
* Select the owner of the database from the drop-down listbox in the *Owner*
|
||||
field.
|
||||
* Store notes about the database in the *Comment* field.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/database_definition.png
|
||||
:alt: Database dialog definition tab
|
||||
:align: center
|
||||
|
||||
Use the *Definition* tab to set properties for the database:
|
||||
|
||||
* Select a character set from the drop-down listbox in the *Encoding* field. The default is *UTF8*.
|
||||
* Select a template from the drop-down listbox in the *Template* field. If you do not specify a template, the database will use template1.
|
||||
* Select a tablespace from the drop-down listbox in the *Tablespace* field. The selected tablespace will be the default tablespace used to contain database objects.
|
||||
* Select a character set from the drop-down listbox in the *Encoding* field.
|
||||
The default is *UTF8*.
|
||||
* Select a template from the drop-down listbox in the *Template* field. If you
|
||||
do not specify a template, the database will use template1.
|
||||
* Select a tablespace from the drop-down listbox in the *Tablespace* field. The
|
||||
selected tablespace will be the default tablespace used to contain database
|
||||
objects.
|
||||
* Select the collation order from the drop-down listbox in the *Collation* field.
|
||||
* Select the character classification from the drop-down listbox in the *Character Type* field. This affects the categorization of characters, e.g. lower, upper and digit. The default, or a blank field, uses the character classification of the template database.
|
||||
* Specify a connection limit in the *Connection Limit* field to configure the maximum number of connection requests. The default value (*-1*) allows unlimited connections to the database.
|
||||
* Select the character classification from the drop-down listbox in the
|
||||
*Character Type* field. This affects the categorization of characters, e.g.
|
||||
lower, upper and digit. The default, or a blank field, uses the character
|
||||
classification of the template database.
|
||||
* Specify a connection limit in the *Connection Limit* field to configure the
|
||||
maximum number of connection requests. The default value (*-1*) allows
|
||||
unlimited connections to the database.
|
||||
|
||||
Click the *Security* tab to continue.
|
||||
|
||||
.. image:: images/database_security.png
|
||||
:alt: Database dialog security tab
|
||||
:align: center
|
||||
|
||||
Use the *Security* tab to assign privileges and define security labels.
|
||||
|
||||
Use the *Privileges* panel to assign privileges to a role. Click the *Add* icon (+) to set privileges for database objects:
|
||||
Use the *Privileges* panel to assign privileges to a role. Click the *Add* icon
|
||||
(+) to set privileges for database objects:
|
||||
|
||||
* 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.
|
||||
* 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.
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
Use the *Security Labels* panel to define security labels applied to the database. Click the *Add* icon (+) to add each security label selection:
|
||||
Use the *Security Labels* panel to define security labels applied to the
|
||||
database. Click the *Add* icon (+) to add each security label selection:
|
||||
|
||||
* Specify a security label provider in the *Provider* field. The named provider must be loaded and must consent to the proposed labeling operation.
|
||||
* Specify a a security label in the *Security Label* field. The meaning of a given label is at the discretion of the label provider. PostgreSQL places no restrictions on whether or how a label provider must interpret security labels; it merely provides a mechanism for storing them.
|
||||
* Specify a security label provider in the *Provider* field. The named provider
|
||||
must be loaded and must consent to the proposed labeling operation.
|
||||
* Specify a a security label in the *Security Label* field. The meaning of a
|
||||
given label is at the discretion of the label provider. PostgreSQL places no
|
||||
restrictions on whether or how a label provider must interpret security
|
||||
labels; it merely provides a mechanism for storing them.
|
||||
|
||||
To discard a security label, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
|
||||
To discard a security label, click the trash icon to the left of the row and
|
||||
confirm deletion in the *Delete Row* popup.
|
||||
|
||||
Click the *Parameters* tab to continue.
|
||||
|
||||
.. image:: images/database_parameters.png
|
||||
:alt: Database dialog parameters tab
|
||||
:align: center
|
||||
|
||||
Use the *Parameters* tab to set parameters for the database. Click the *Add* icon (+) to add each parameter:
|
||||
Use the *Parameters* tab to set parameters for the database. Click the *Add*
|
||||
icon (+) to add each parameter:
|
||||
|
||||
* Use the drop-down listbox in the *Name* field to select a parameter.
|
||||
* Use the *Value* field to set a value for the parameter.
|
||||
* Use the drop-down listbox next to *Role* to select a role to which the parameter setting specified will apply.
|
||||
* Use the drop-down listbox next to *Role* to select a role to which the
|
||||
parameter setting specified will apply.
|
||||
|
||||
Follow these steps to add additional parameter value definitions; to discard a parameter, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
|
||||
Follow these steps to add additional parameter value definitions; to discard a
|
||||
parameter, click the trash icon to the left of the row and confirm deletion in
|
||||
the *Delete Row* popup.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *Database* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
|
||||
Your entries in the *Database* dialog generate a SQL command (see an example
|
||||
below). Use the *SQL* tab for review; revisit or switch tabs to make any changes
|
||||
to the SQL command.
|
||||
|
||||
**Example**
|
||||
Example
|
||||
*******
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Database* dialog:
|
||||
The following is an example of the sql command generated by user selections in
|
||||
the *Database* dialog:
|
||||
|
||||
.. image:: images/database_sql.png
|
||||
:alt: Database dialog sql tab
|
||||
:align: center
|
||||
|
||||
The example creates a database named *hr* that is owned by *postgres*. It allows unlimited connections, and is available to all authenticated users.
|
||||
The example creates a database named *hr* that is owned by *postgres*. It
|
||||
allows unlimited connections, and is available to all authenticated users.
|
||||
|
||||
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
|
||||
* 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.
|
||||
|
|
|
@ -1,38 +1,63 @@
|
|||
.. _debugger:
|
||||
|
||||
*************************
|
||||
*****************
|
||||
`Debugger`:index:
|
||||
*************************
|
||||
*****************
|
||||
|
||||
.. image:: images/debug_main.png
|
||||
:alt: Debugger page
|
||||
:align: center
|
||||
|
||||
The debugger may be used to debug PL/pgSQL functions in PostgreSQL, as well as EDB-SPL functions, stored procedures and packages in Advanced Server. The Debugger is available as an extension for your PostgreSQL installation, and is distributed as part of Advanced Server. You must have superuser privileges to use the debugger.
|
||||
The debugger may be used to debug PL/pgSQL functions in PostgreSQL, as well as
|
||||
EDB-SPL functions, stored procedures and packages in EDB Postgres Advanced
|
||||
Server. The Debugger is available as an extension for your PostgreSQL
|
||||
installation, and is distributed as part of Advanced Server. You must have
|
||||
superuser privileges to use the debugger.
|
||||
|
||||
Before using the debugger, you must modify the *postgresql.conf* file, adding the server-side debugger components to the the value of the *shared_preload_libraries* parameter:
|
||||
Before using the debugger, you must modify the *postgresql.conf* file, adding
|
||||
the server-side debugger components to the the value of the
|
||||
*shared_preload_libraries* parameter:
|
||||
|
||||
shared_preload_libraries = '$libdir/*other_libraries*/plugin_debugger'
|
||||
|
||||
After modifying the *shared_preload_libraries* parameter, restart the server to apply the changes.
|
||||
After modifying the *shared_preload_libraries* parameter, restart the server to
|
||||
apply the changes.
|
||||
|
||||
The debugger may be used for either in-context debugging or direct debugging of a target function or procedure. When you use the debugger for in-context debugging, you set a breakpoint at the first line of a program; when a session invokes the target, control is transferred to the debugger. When using direct debugging, the debugger prompts you for any parameters required by the target, and then allows you to step through the code.
|
||||
The debugger may be used for either in-context debugging or direct debugging of
|
||||
a target function or procedure. When you use the debugger for in-context
|
||||
debugging, you set a breakpoint at the first line of a program; when a session
|
||||
invokes the target, control is transferred to the debugger. When using direct
|
||||
debugging, the debugger prompts you for any parameters required by the target,
|
||||
and then allows you to step through the code.
|
||||
|
||||
**In-context Debugging**
|
||||
In-context Debugging
|
||||
********************
|
||||
|
||||
To set a breakpoint at the first line of a program, right-click the name of the object you would like to debug, and select *Set breakpoint* from the *Debugging* sub-menu. The debugger window will open, waiting for another session to invoke the program.
|
||||
To set a breakpoint at the first line of a program, right-click the name of the
|
||||
object you would like to debug, and select *Set breakpoint* from the *Debugging*
|
||||
sub-menu. The debugger window will open, waiting for another session to invoke
|
||||
the program.
|
||||
|
||||
.. image:: images/debug_set_breakpoint.png
|
||||
:alt: Debugger set a breakpoint demo
|
||||
:align: center
|
||||
|
||||
When another session invokes the target, the debugger will display the code, allowing you to add break points, or step through line-by-line. The other session is suspended until the debugging completes; then control is returned to the session.
|
||||
When another session invokes the target, the debugger will display the code,
|
||||
allowing you to add break points, or step through line-by-line. The other
|
||||
session is suspended until the debugging completes; then control is returned
|
||||
to the session.
|
||||
|
||||
.. image:: images/debug_ic_step_in.png
|
||||
:alt: Debugger step-in demo
|
||||
:align: center
|
||||
|
||||
Direct Debugging
|
||||
****************
|
||||
|
||||
**Direct Debugging**
|
||||
|
||||
To use the debugger for direct debugging, right click on the name of the object that you wish to debug in the pgAdmin tree control and select *Debug* from the *Debugging* sub-menu. The debugger window will open, prompting you for any values required by the program:
|
||||
To use the debugger for direct debugging, right click on the name of the object
|
||||
that you wish to debug in the pgAdmin tree control and select *Debug* from the
|
||||
*Debugging* sub-menu. The debugger window will open, prompting you for any
|
||||
values required by the program:
|
||||
|
||||
.. image:: images/debug_params.png
|
||||
:alt: Debugger parameter dialog
|
||||
|
@ -43,22 +68,35 @@ Use the fields on the *Debugger* dialog to provide a value for each parameter:
|
|||
* The *Type* field contains the parameter data type.
|
||||
* Check the *Null?* checkbox to indicate that the parameter is a NULL value.
|
||||
* Check the *Expression?* checkbox if the Value field contains an expression.
|
||||
* Use the *Value* field to provide the parameter value that will be passed to the program. When entering parameter values, type the value into the appropriate cell on the grid, or, leave the cell empty to represent NULL, enter '' (two single quotes) to represent an empty string, or to enter a literal string consisting of just two single quotes, enter \'\'. PostgreSQL 8.4 and above supports variadic function parameters. These may be entered as a comma-delimited list of values, quoted and/or cast as required.
|
||||
* Check the *Use default?* checkbox to indicate that the program should use the value in the Default Value field.
|
||||
* Use the *Value* field to provide the parameter value that will be passed to
|
||||
the program. When entering parameter values, type the value into the
|
||||
appropriate cell on the grid, or, leave the cell empty to represent NULL,
|
||||
enter '' (two single quotes) to represent an empty string, or to enter a
|
||||
literal string consisting of just two single quotes, enter \'\'. PostgreSQL
|
||||
8.4 and above supports variadic function parameters. These may be entered as
|
||||
a comma-delimited list of values, quoted and/or cast as required.
|
||||
* Check the *Use default?* checkbox to indicate that the program should use
|
||||
the value in the Default Value field.
|
||||
* The *Default Value* field contains the default value of the parameter.
|
||||
|
||||
Provide values required by the program, and click the *Debug* button to start stepping through the program.
|
||||
Provide values required by the program, and click the *Debug* button to start
|
||||
stepping through the program.
|
||||
|
||||
.. image:: images/debug_step_in.png
|
||||
:alt: Debugger step-in demo
|
||||
:align: center
|
||||
|
||||
Using the Debugger
|
||||
******************
|
||||
|
||||
**Using the Debugger**
|
||||
|
||||
The main debugger window consists of two panels and a context-sensitive toolbar. Use toolbar icons to manage breakpoints and step into or through code; hover over an icon for a tooltip that identifies the option associated with the icon. The toolbar options are:
|
||||
The main debugger window consists of two panels and a context-sensitive toolbar.
|
||||
Use toolbar icons to manage breakpoints and step into or through code; hover
|
||||
over an icon for a tooltip that identifies the option associated with the icon.
|
||||
The toolbar options are:
|
||||
|
||||
.. image:: images/debug_toolbar.png
|
||||
:alt: Debugger navigation toolbar
|
||||
:align: center
|
||||
|
||||
+-------------------------+-----------------------------------------------------------------------------------------------------------+
|
||||
| Option | Action |
|
||||
|
@ -78,33 +116,47 @@ The main debugger window consists of two panels and a context-sensitive toolbar.
|
|||
| *Stop* | Click the *Stop* icon to halt the execution of a program. |
|
||||
+-------------------------+-----------------------------------------------------------------------------------------------------------+
|
||||
|
||||
The top panel of the debugger window displays the program body; click in the grey margin next to a line number to add a breakpoint. The highlighted line in the top panel is the line that is about to execute.
|
||||
The top panel of the debugger window displays the program body; click in the
|
||||
grey margin next to a line number to add a breakpoint. The highlighted line in
|
||||
the top panel is the line that is about to execute.
|
||||
|
||||
.. image:: images/debug_main.png
|
||||
:alt: Debugger main window
|
||||
:align: center
|
||||
|
||||
The lower panel of the debugger window provides a set of tabs that allow you to review information about the program:
|
||||
The lower panel of the debugger window provides a set of tabs that allow you to
|
||||
review information about the program:
|
||||
|
||||
* The *Parameters* tab displays the value of each parameter.
|
||||
* The *Local* variables tab displays the current value of the program variables.
|
||||
* The *Messages* tab displays any messages returned by the server (errors, warnings and informational messages).
|
||||
* The *Messages* tab displays any messages returned by the server (errors,
|
||||
warnings and informational messages).
|
||||
* The *Results* tab displays the server message when the program completes.
|
||||
* The *Stack* tab displays the list of functions that have been invoked, but which have not yet completed.
|
||||
* The *Stack* tab displays the list of functions that have been invoked, but
|
||||
which have not yet completed.
|
||||
|
||||
As you step through a program, the *Local variables* tab displays the current value of each variable:
|
||||
As you step through a program, the *Local variables* tab displays the current
|
||||
value of each variable:
|
||||
|
||||
.. image:: images/debug_variables.png
|
||||
:alt: Debugger local variables tab
|
||||
:align: center
|
||||
|
||||
When you step into a subroutine, the *Stack* tab displays the call stack, including the name of each caller, the parameter values for each caller (if any), and the line number within each caller:
|
||||
When you step into a subroutine, the *Stack* tab displays the call stack,
|
||||
including the name of each caller, the parameter values for each caller (if
|
||||
any), and the line number within each caller:
|
||||
|
||||
.. image:: images/debug_stack.png
|
||||
:alt: Debugger local stack tab
|
||||
:align: center
|
||||
|
||||
Select a caller to change focus to that stack frame and display the state of the caller in the upper panel.
|
||||
Select a caller to change focus to that stack frame and display the state of
|
||||
the caller in the upper panel.
|
||||
|
||||
When the program completes, the *Results* tab displays the message returned by the server. If the program encounters an error, the *Messages* tab displays details:
|
||||
When the program completes, the *Results* tab displays the message returned by
|
||||
the server. If the program encounters an error, the *Messages* tab displays
|
||||
details:
|
||||
|
||||
.. image:: images/debug_error_message.png
|
||||
:alt: Debugger error message
|
||||
|
||||
:align: center
|
||||
|
|
|
@ -10,8 +10,6 @@ possible. If you are interested in learning more about the project, or if a
|
|||
pgAdmin installer is not available for your environment, the pages listed below
|
||||
will provide detailed information about creating a custom deployment.
|
||||
|
||||
Contents:
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
|
|
|
@ -4,12 +4,13 @@
|
|||
`Developer Tools`:index:
|
||||
************************
|
||||
|
||||
The pgAdmin *Tools* menu displays a list of powerful developer tools that you can use to execute and analyze complex SQL commands, manage data, and debug PL/SQL code.
|
||||
|
||||
Contents:
|
||||
The pgAdmin *Tools* menu displays a list of powerful developer tools that you
|
||||
can use to execute and analyze complex SQL commands, manage data, and debug
|
||||
PL/SQL code.
|
||||
|
||||
.. toctree::
|
||||
|
||||
:maxdepth: 2
|
||||
|
||||
debugger
|
||||
query_tool
|
||||
editgrid
|
||||
|
|
|
@ -4,42 +4,64 @@
|
|||
`Domain Constraints Dialog`:index:
|
||||
**********************************
|
||||
|
||||
Use the *Domain Constraints* dialog to create or modify a domain constraint. A domain constraint confirms that the values provided for a domain meet a defined criteria. The *Domain Constraints* dialog implements options of the ALTER DOMAIN command.
|
||||
Use the *Domain Constraints* dialog to create or modify a domain constraint. A
|
||||
domain constraint confirms that the values provided for a domain meet a defined
|
||||
criteria. The *Domain Constraints* dialog implements options of the ALTER DOMAIN
|
||||
command.
|
||||
|
||||
The *Domain Constraints* dialog organizes the development of a domain constraint through the following dialog tabs: *General* and *Definition*. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *Domain Constraints* dialog organizes the development of a domain constraint
|
||||
through the following dialog tabs: *General* and *Definition*. The *SQL* tab
|
||||
displays the SQL code generated by dialog selections.
|
||||
|
||||
.. image:: images/domain_constraint_general.png
|
||||
:alt: Domain constraint dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to identify the domain constraint:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the constraint. The name will be displayed in the *pgAdmin* tree control.
|
||||
* Use the *Name* field to add a descriptive name for the constraint. The name
|
||||
will be displayed in the *pgAdmin* tree control.
|
||||
* Store notes about the constraint in the *Comment* field.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/domain_constraint_definition.png
|
||||
:alt: Domain constraint dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Definition* tab to define the domain constraint:
|
||||
|
||||
* Use the *Check* field to provide a CHECK expression. A CHECK expression specifies a constraint that the domain must satisfy. A constraint must produce a Boolean result; include the key word VALUE to refer to the value being tested. Only those expressions that evaluate to TRUE or UNKNOWN will succeed. A CHECK expression cannot contain subqueries or refer to variables other than VALUE. If a domain has multiple CHECK constraints, they will be tested in alphabetical order.
|
||||
* Move the *Validate?* switch to the *No* position to mark the constraint NOT VALID. If the constraint is marked NOT VALID, the constraint will not be applied to existing column data. The default value is *Yes*.
|
||||
* Use the *Check* field to provide a CHECK expression. A CHECK expression
|
||||
specifies a constraint that the domain must satisfy. A constraint must produce
|
||||
a Boolean result; include the key word VALUE to refer to the value being
|
||||
tested. Only those expressions that evaluate to TRUE or UNKNOWN will succeed.
|
||||
A CHECK expression cannot contain subqueries or refer to variables other than
|
||||
VALUE. If a domain has multiple CHECK constraints, they will be tested in
|
||||
alphabetical order.
|
||||
* Move the *Validate?* switch to the *No* position to mark the constraint NOT
|
||||
VALID. If the constraint is marked NOT VALID, the constraint will not be
|
||||
applied to existing column data. The default value is *Yes*.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *Domain Constraints* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
|
||||
Your entries in the *Domain Constraints* dialog generate a SQL command (see an
|
||||
example below). Use the *SQL* tab for review; revisit or switch tabs to make any
|
||||
changes to the SQL command.
|
||||
|
||||
**Example**
|
||||
Example
|
||||
*******
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Domain Constraints* dialog:
|
||||
The following is an example of the sql command generated by user selections in
|
||||
the *Domain Constraints* dialog:
|
||||
|
||||
.. image:: images/domain_constraint_sql.png
|
||||
:alt: Domain constraint dialog general tab
|
||||
:align: center
|
||||
|
||||
The example shown demonstrates creating a domain constraint on the domain *timesheets* named *weekday*. It constrains a value to equal *Friday*.
|
||||
The example shown demonstrates creating a domain constraint on the domain
|
||||
*timesheets* named *weekday*. It constrains a value to equal *Friday*.
|
||||
|
||||
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
|
||||
* 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.
|
||||
|
|
|
@ -4,75 +4,120 @@
|
|||
`Domain Dialog`:index:
|
||||
**********************
|
||||
|
||||
Use the *Domain* dialog to define a domain. A domain is a data type definition that may constrain permissible values. Domains are useful when you are creating multiple tables that contain comparable columns; you can create a domain that defines constraints that are common to the columns and re-use the domain definition when creating the columns, rather than individually defining each set of constraints.
|
||||
Use the *Domain* dialog to define a domain. A domain is a data type definition
|
||||
that may constrain permissible values. Domains are useful when you are creating
|
||||
multiple tables that contain comparable columns; you can create a domain that
|
||||
defines constraints that are common to the columns and re-use the domain
|
||||
definition when creating the columns, rather than individually defining each
|
||||
set of constraints.
|
||||
|
||||
The *Domain* dialog organizes the development of a domain through the following tabs: *General*, *Definition*, *Constraints*, and *Security*. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *Domain* dialog organizes the development of a domain through the following
|
||||
tabs: *General*, *Definition*, *Constraints*, and *Security*. The *SQL* tab
|
||||
displays the SQL code generated by dialog selections.
|
||||
|
||||
.. image:: images/domain_general.png
|
||||
:alt: Domain dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields on the *General* tab to identify a domain:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the domain. The name will be displayed in the *pgAdmin* tree control.
|
||||
* Use the drop-down listbox next to *Owner* to select a role that will own the domain.
|
||||
* Select the name of the schema in which the domain will reside from the drop-down listbox in the *Schema* field.
|
||||
* Use the *Name* field to add a descriptive name for the domain. The name will
|
||||
be displayed in the *pgAdmin* tree control.
|
||||
* Use the drop-down listbox next to *Owner* to select a role that will own the
|
||||
domain.
|
||||
* Select the name of the schema in which the domain will reside from the
|
||||
drop-down listbox in the *Schema* field.
|
||||
* Store notes about the domain in the *Comment* field.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/domain_definition.png
|
||||
:alt: Domain dialog definition tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Definition* tab to describe the domain:
|
||||
|
||||
* Use the drop-down listbox next to *Base type* to specify a data type.
|
||||
* Use the context-sensitive *Length* field to specify a numeric length for a numeric type.
|
||||
* Use the context-sensitive *Precision* field to specify the total count of significant digits for a numeric type.
|
||||
* Specify a default value for the domain data type in the *Default* field. The data type of the default expression must match the data type of the domain. If no default value is specified, then the default value is the null value.
|
||||
* Move the *Not Null* switch to specify the values of this domain are prevented from being null.
|
||||
* Use the drop-down listbox next to *Collation* to apply a collation cast. If no collation is specified, the underlying data type's default collation is used. The underlying type must be collatable if COLLATE is specified.
|
||||
* Use the context-sensitive *Length* field to specify a numeric length for a
|
||||
numeric type.
|
||||
* Use the context-sensitive *Precision* field to specify the total count of
|
||||
significant digits for a numeric type.
|
||||
* Specify a default value for the domain data type in the *Default* field. The
|
||||
data type of the default expression must match the data type of the domain. If
|
||||
no default value is specified, then the default value is the null value.
|
||||
* Move the *Not Null* switch to specify the values of this domain are prevented
|
||||
from being null.
|
||||
* Use the drop-down listbox next to *Collation* to apply a collation cast. If
|
||||
no collation is specified, the underlying data type's default collation is
|
||||
used. The underlying type must be collatable if COLLATE is specified.
|
||||
|
||||
Click the *Constraints* tab to continue.
|
||||
|
||||
.. image:: images/domain_constraints.png
|
||||
:alt: Domain dialog constraints tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Constraints* tab to specify rules for the domain. Click the *Add* icon (+) to set constraints:
|
||||
Use the fields in the *Constraints* tab to specify rules for the domain. Click
|
||||
the *Add* icon (+) to set constraints:
|
||||
|
||||
* Use the *Name* field to specify a name for the constraint.
|
||||
* Use the *Check* field to provide an expression for the constraint.
|
||||
* Use the *Validate* checkbox to determine whether the constraint will be validated. The default checkbox is checked and sets a validation requirement.
|
||||
* Use the *Validate* checkbox to determine whether the constraint will be
|
||||
validated. The default checkbox is checked and sets a validation requirement.
|
||||
|
||||
A CHECK clause specifies an integrity test which values of the domain must satisfy. Each constraint must be an expression that produces a Boolean result. Use the key word VALUE to refer to the value being tested. Expressions evaluating to TRUE or UNKNOWN succeed. If the expression produces a FALSE result, an error is reported and the value is not allowed to be converted to the domain type. A CHECK expression cannot contain subqueries nor refer to variables other than VALUE. If a domain has multiple CHECK constraints, they will be tested in alphabetical order by name.
|
||||
A CHECK clause specifies an integrity test which values of the domain must
|
||||
satisfy. Each constraint must be an expression that produces a Boolean result.
|
||||
Use the key word VALUE to refer to the value being tested. Expressions
|
||||
evaluating to TRUE or UNKNOWN succeed. If the expression produces a FALSE
|
||||
result, an error is reported and the value is not allowed to be converted to
|
||||
the domain type. A CHECK expression cannot contain subqueries nor refer to
|
||||
variables other than VALUE. If a domain has multiple CHECK constraints, they
|
||||
will be tested in alphabetical order by name.
|
||||
|
||||
Click the *Add* icon (+) to set additional constraints; to discard a constraint, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
|
||||
Click the *Add* icon (+) to set additional constraints; to discard a constraint,
|
||||
click the trash icon to the left of the row and confirm deletion in the *Delete
|
||||
Row* popup.
|
||||
|
||||
Click the *Security* tab to continue.
|
||||
|
||||
.. image:: images/domain_security.png
|
||||
:alt: Domain dialog security tab
|
||||
:align: center
|
||||
|
||||
Use the *Security Labels* panel to assign security labels. Click the *Add* icon (+) to add a label:
|
||||
Use the *Security Labels* panel to assign security labels. Click the *Add* icon
|
||||
(+) to add a label:
|
||||
|
||||
* Specify a security label provider in the *Provider* field. The named provider must be loaded and must consent to the proposed labeling operation.
|
||||
* Specify a a security label in the *Security Label* field. The meaning of a given label is at the discretion of the label provider. PostgreSQL places no restrictions on whether or how a label provider must interpret security labels; it merely provides a mechanism for storing them.
|
||||
* Specify a security label provider in the *Provider* field. The named provider
|
||||
must be loaded and must consent to the proposed labeling operation.
|
||||
* Specify a a security label in the *Security Label* field. The meaning of a
|
||||
given label is at the discretion of the label provider. PostgreSQL places no
|
||||
restrictions on whether or how a label provider must interpret security
|
||||
labels; it merely provides a mechanism for storing them.
|
||||
|
||||
Click the *Add* icon (+) to specify each additional label; to discard a label, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
|
||||
Click the *Add* icon (+) to specify each additional label; to discard a label,
|
||||
click the trash icon to the left of the row and confirm deletion in the *Delete
|
||||
Row* popup.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *Domain* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
|
||||
Your entries in the *Domain* dialog generate a SQL command (see an example
|
||||
below). Use the *SQL* tab for review; revisit or switch tabs to make any changes
|
||||
to the SQL command.
|
||||
|
||||
**Example**
|
||||
Example
|
||||
*******
|
||||
|
||||
The following is an example of the sql command generated by selections made in the *Domain* dialog:
|
||||
The following is an example of the sql command generated by selections made in
|
||||
the *Domain* dialog:
|
||||
|
||||
.. image:: images/domain_sql.png
|
||||
:alt: Domain dialog sql tab
|
||||
:align: center
|
||||
|
||||
The example shown demonstrates creating a domain named *minimum-wage* that confirms that the value entered is greater than or equal to *7.25*.
|
||||
The example shown demonstrates creating a domain named *minimum-wage* that
|
||||
confirms that the value entered is greater than or equal to *7.25*.
|
||||
|
||||
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
|
||||
* 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.
|
||||
|
|
|
@ -1,130 +1,126 @@
|
|||
.. _editgrid:
|
||||
|
||||
|
||||
***********************************
|
||||
`Reviewing and Editing Data`:index:
|
||||
***********************************
|
||||
***********************
|
||||
`View/Edit Data`:index:
|
||||
***********************
|
||||
|
||||
To review or modify data, right click on a table or view name in the *Browser* tree control. When the context menu opens, use the *View/Edit Data* menu to specify the number of rows you would like to display in the editor panel.
|
||||
To view or modify data, right click on a table or view name in the *Browser*
|
||||
tree control. When the context menu opens, use the *View/Edit Data* menu to
|
||||
specify the number of rows you would like to display in the editor panel.
|
||||
|
||||
.. image:: images/editgrid.png
|
||||
:alt: Edit grid window
|
||||
:align: center
|
||||
|
||||
To modify the content of a table, each row in the table must be uniquely identifiable. If the table definition does not include an OID or a primary key, the displayed data is read only. Note that views cannot be edited; updatable views (using rules) are not supported.
|
||||
To modify the content of a table, each row in the table must be uniquely
|
||||
identifiable. If the table definition does not include an OID or a primary key,
|
||||
the displayed data is read only. Note that views cannot be edited; updatable
|
||||
views (using rules) are not supported.
|
||||
|
||||
The editor features a toolbar that allows quick access to frequently used options, and a work environment divided into two panels:
|
||||
The editor features a toolbar that allows quick access to frequently used
|
||||
options, and a work environment divided into two panels:
|
||||
|
||||
* The upper panel displays the SQL command that was used to select the content displayed in the lower panel.
|
||||
* The lower panel (the Data Grid) displays the data selected from the table or view.
|
||||
* The upper panel displays the SQL command that was used to select the content
|
||||
displayed in the lower panel.
|
||||
* The lower panel (the Data Grid) displays the data selected from the table or
|
||||
view.
|
||||
|
||||
**The View/Edit Data Toolbar**
|
||||
The View/Edit Data Toolbar
|
||||
**************************
|
||||
|
||||
The toolbar includes context-sensitive icons that provide shortcuts to frequently performed tasks.
|
||||
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. Please see
|
||||
:ref:`The Query Tool Toolbar <query_tool_toolbar>` for a description of the
|
||||
available controls.
|
||||
|
||||
.. image:: images/editgrid_toolbar.png
|
||||
:alt: Edit grid toolbar
|
||||
The Data Grid
|
||||
*************
|
||||
|
||||
Hover over an icon to display a tooltip that describes the icon's functionality.
|
||||
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+-------------+
|
||||
| Icon | Behavior | Shortcut |
|
||||
+======================+===================================================================================================+=============+
|
||||
| *Save* | Use the *Save* icon to save your changes to the currently displayed table contents. | |
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+-------------+
|
||||
| *Find* | Use options on the *Find* menu to access Search and Replace functionality or to Jump to another | Ctrl/Cmd +F |
|
||||
| | line. | |
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+-------------+
|
||||
| *Copy* | Click the *Copy* icon to copy the currently selected data. | Ctrl+C |
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+-------------+
|
||||
| *Paste Row* | Click the *Paste Row* icon to paste the content that is currently on the clipboard. | |
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+-------------+
|
||||
| *Delete Row* | Use the *Delete Row* icon to delete all the selected rows from the output panel. | |
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+-------------+
|
||||
| *Filter* | Click the *Filter* icon to open a dialog that allows you to write and apply a filter for the | |
|
||||
| | content currently displayed in the output panel. Click the down arrow to open the *Filter* drop- | |
|
||||
| | down menu and select from pre-defined options: | |
|
||||
| | | |
|
||||
| | Use options on the *Filter* menu to quick-sort or quick-filter the data set: | |
|
||||
| | | |
|
||||
| | * Filter: This option opens a dialog that allows you to define a filter. A filter is a | |
|
||||
| | condition that is supplied to an arbitrary WHERE clause that restricts the result set. | |
|
||||
| | | |
|
||||
| | * Remove Filter: This option removes all selection / exclusion filter conditions. | |
|
||||
| | | |
|
||||
| | * By Selection: This option refreshes the data set and displays only those rows whose | |
|
||||
| | column value matches the value in the cell currently selected. | |
|
||||
| | | |
|
||||
| | * Exclude Selection: This option refreshes the data set and excludes those rows whose | |
|
||||
| | column value matches the value in the cell currently selected. | |
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+-------------+
|
||||
| *No limit* | Use the *No limit* drop-down listbox to specify how many rows to display in the output panel. | |
|
||||
| | Select from: *No limit* (the default), *1000 rows*, *500 rows*, or *100 rows*. | |
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+-------------+
|
||||
| *Execute/Refresh* | Click the *Execute/Refresh* icon to execute the SQL command that is displayed in the top panel. | F5 |
|
||||
| | If you have not saved modifications to the content displayed in the data grid, you will be | |
|
||||
| | prompted to confirm the execution. To preserve your changes before refreshing the content, click | |
|
||||
| | the *Save* toolbar button before executing the refresh. | |
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+-------------+
|
||||
| *Stop* | Click the *Stop* icon to cancel the execution of the currently running query. | |
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+-------------+
|
||||
| *Clear History* | Use the *Clear History* drop-down menu to erase the contents 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 control the CSV settings through | |
|
||||
| | *Preferences -> SQL Editor -> CSV output* dialogue. | |
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+-------------+
|
||||
|
||||
**The Data Grid**
|
||||
|
||||
The top row of the data grid displays the name of each column, the data type, and if applicable, the number of characters allowed. A column that is part of the primary key will additionally be marked with [PK].
|
||||
The top row of the data grid displays the name of each column, the data type,
|
||||
and if applicable, the number of characters allowed. A column that is part of
|
||||
the primary key will additionally be marked with [PK].
|
||||
|
||||
To modify the displayed data:
|
||||
|
||||
* To change a numeric value within the grid, double-click the value to select the field. Modify the content in the square in which it is displayed.
|
||||
* To change a non-numeric value within the grid, double-click the content to access the edit bubble. After modifying the contentof the edit bubble, click the *Save* button to display your changes in the data grid, or *Cancel* to exit the edit bubble without saving.
|
||||
* To change a numeric value within the grid, double-click the value to select
|
||||
the field. Modify the content in the square in which it is displayed.
|
||||
* To change a non-numeric value within the grid, double-click the content to
|
||||
access the edit bubble. After modifying the contentof the edit bubble, click
|
||||
the *Save* button to display your changes in the data grid, or *Cancel* to
|
||||
exit the edit bubble without saving.
|
||||
|
||||
To enter a newline character, click Ctrl-Enter or Shift-Enter. Newline formatting is only displayed when the field content is accessed via an edit bubble.
|
||||
To enter a newline character, click Ctrl-Enter or Shift-Enter. Newline
|
||||
formatting is only displayed when the field content is accessed via an edit
|
||||
bubble.
|
||||
|
||||
To add a new row to the table, enter data into the last (unnumbered) row of the table. As soon as you store the data, the row is assigned a row number, and a fresh empty line is added to the data grid.
|
||||
To add a new row to the table, enter data into the last (unnumbered) row of the
|
||||
table. As soon as you store the data, the row is assigned a row number, and a
|
||||
fresh empty line is added to the data grid.
|
||||
|
||||
To write a SQL NULL to the table, simply leave the field empty. When you store the new row, the will server fill in the default value for that column. If you store a change to an existing row, the value NULL will explicitly be written.
|
||||
To write a SQL NULL to the table, simply leave the field empty. When you store
|
||||
the new row, the will server fill in the default value for that column. If you
|
||||
store a change to an existing row, the value NULL will explicitly be written.
|
||||
|
||||
To write an empty string to the table, enter the special string '' (two single quotes) in the field. If you want to write a string containing solely two single quotes to the table, you need to escape these quotes, by typing \'\'
|
||||
To write an empty string to the table, enter the special string '' (two single
|
||||
quotes) in the field. If you want to write a string containing solely two single
|
||||
quotes to the table, you need to escape these quotes, by typing \'\'
|
||||
|
||||
To delete a row, press the *Delete* toolbar button. A popup will open, asking you to confirm the deletion.
|
||||
To delete a row, press the *Delete* toolbar button. A popup will open, asking
|
||||
you to confirm the deletion.
|
||||
|
||||
To commit the changes to the server, select the *Save* toolbar button. Modifications to a row are written to the server automatically when you select a different row.
|
||||
To commit the changes to the server, select the *Save* toolbar button.
|
||||
Modifications to a row are written to the server automatically when you select
|
||||
a different row.
|
||||
|
||||
**Geometry Data Viewer**
|
||||
|
||||
If PostGIS is installed, you can view GIS objects in a map by selecting row(s) and clicking the 'View Geometry' button in the column. If no rows are selected, the entire data set will be rendered:
|
||||
If PostGIS is installed, you can view GIS objects in a map by selecting row(s)
|
||||
and clicking the 'View Geometry' button in the column. If no rows are selected,
|
||||
the entire data set will be rendered:
|
||||
|
||||
.. image:: images/geometry_viewer.png
|
||||
:alt: Geometry Viewer Button
|
||||
:align: center
|
||||
|
||||
You can adjust the layout by dragging the title of the panel. To view the properties of the geometries directly in map, just click the specific geometry:
|
||||
You can adjust the layout by dragging the title of the panel. To view the
|
||||
properties of the geometries directly in map, just click the specific geometry:
|
||||
|
||||
.. image:: images/geometry_viewer_property_table.png
|
||||
:alt: Geometry Viewer Property Table
|
||||
:align: center
|
||||
|
||||
Notes:
|
||||
.. note::
|
||||
|
||||
- *Supported data types:* The Geometry Viewer supports 2D and 3DM geometries in EWKB format including `Point, LineString, Polygon MultiPoint, MultiLineString, MultiPolygon and GeometryCollection`.
|
||||
- *Supported data types:* The Geometry Viewer supports 2D and 3DM geometries in
|
||||
EWKB format including `Point, LineString, Polygon MultiPoint, MultiLineString,
|
||||
MultiPolygon and GeometryCollection`.
|
||||
|
||||
- *SRIDs:* If there are geometries with different SRIDs in the same column, the viewer will render geometries with the same SRID in the map. If SRID=4326 the OSM tile layer will be added into the map.
|
||||
- *SRIDs:* If there are geometries with different SRIDs in the same column, the
|
||||
viewer will render geometries with the same SRID in the map. If SRID=4326 the
|
||||
OSM tile layer will be added into the map.
|
||||
|
||||
- *Data size:* For performance reasons, the viewer will render no more than 100000 geometries, totaling up to 20MB.
|
||||
- *Data size:* For performance reasons, the viewer will render no more than
|
||||
100000 geometries, totaling up to 20MB.
|
||||
|
||||
- *Internet access:* An internet connection is required for the Geometry Viewer to function correctly.
|
||||
- *Internet access:* An internet connection is required for the Geometry Viewer
|
||||
to function correctly.
|
||||
|
||||
**Sort/Filter options dialog**
|
||||
Sort/Filter options dialog
|
||||
**************************
|
||||
|
||||
You can access *Sort/Filter options dialog* by clicking on Sort/Filter button. This allows you to specify an SQL Filter to limit the data displayed and data sorting options in the edit grid window:
|
||||
You can access *Sort/Filter options dialog* by clicking on Sort/Filter button.
|
||||
This allows you to specify an SQL Filter to limit the data displayed and data
|
||||
sorting options in the edit grid window:
|
||||
|
||||
.. image:: images/editgrid_filter_dialog.png
|
||||
:alt: Edit grid filter dialog window
|
||||
:align: center
|
||||
|
||||
* Use *SQL Filter* to provide SQL filtering criteria. These will be added to the "WHERE" clause of the query used to retrieve the data. For example, you might enter:
|
||||
* Use *SQL Filter* to provide SQL filtering criteria. These will be added to
|
||||
the "WHERE" clause of the query used to retrieve the data. For example,
|
||||
you might enter:
|
||||
|
||||
.. code-block:: sql
|
||||
|
||||
|
|
|
@ -4,57 +4,87 @@
|
|||
`Event Trigger Dialog`:index:
|
||||
*****************************
|
||||
|
||||
Use the *Domain Trigger* dialog to define an event trigger. Unlike regular triggers, which are attached to a single table and capture only DML events, event triggers are global to a particular database and are capable of capturing DDL events. Like regular triggers, event triggers can be written in any procedural language that includes event trigger support, or in C, but not in SQL.
|
||||
Use the *Domain Trigger* dialog to define an event trigger. Unlike regular
|
||||
triggers, which are attached to a single table and capture only DML events,
|
||||
event triggers are global to a particular database and are capable of capturing
|
||||
DDL events. Like regular triggers, event triggers can be written in any
|
||||
procedural language that includes event trigger support, or in C, but not in
|
||||
SQL.
|
||||
|
||||
The *Domain Trigger* dialog organizes the development of a event trigger through the following dialog tabs: *General*, *Definition*, and *Security Labels*. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *Domain Trigger* dialog organizes the development of a event trigger through
|
||||
the following dialog tabs: *General*, *Definition*, and *Security Labels*. The
|
||||
*SQL* tab displays the SQL code generated by dialog selections.
|
||||
|
||||
.. image:: images/event_trigger_general.png
|
||||
:alt: Event trigger dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to identify the event trigger:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the event trigger. The name will be displayed in the *pgAdmin* tree control.
|
||||
* Use the drop-down listbox next to *Owner* to specify the owner of the event trigger.
|
||||
* Use the *Name* field to add a descriptive name for the event trigger. The name
|
||||
will be displayed in the *pgAdmin* tree control.
|
||||
* Use the drop-down listbox next to *Owner* to specify the owner of the event
|
||||
trigger.
|
||||
* Store notes about the event trigger in the *Comment* field.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/event_trigger_definition.png
|
||||
:alt: Event trigger dialog definition tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Definition* tab to define the event trigger:
|
||||
|
||||
* Select a radio button in the *Enabled Status* field to specify a status for the trigger: *Enable* *Disable*, *Replica* *Always*.
|
||||
* Use the drop-down listbox next to *Trigger function* to specify an existing function. A trigger function takes an empty argument list, and returns a value of type event_trigger.
|
||||
* Select a radio button in the *Events* field to specify when the event trigger will fire: *DDL COMMAND START*, *DDL COMMAND END*, or *SQL DROP*.
|
||||
* Use the *When* field to write a condition for the event trigger that must be satisfied before the event trigger can execute.
|
||||
* Select a radio button in the *Enabled Status* field to specify a status for
|
||||
the trigger: *Enable* *Disable*, *Replica* *Always*.
|
||||
* Use the drop-down listbox next to *Trigger function* to specify an existing
|
||||
function. A trigger function takes an empty argument list, and returns a
|
||||
value of type event_trigger.
|
||||
* Select a radio button in the *Events* field to specify when the event trigger
|
||||
will fire: *DDL COMMAND START*, *DDL COMMAND END*, or *SQL DROP*.
|
||||
* Use the *When* field to write a condition for the event trigger that must be
|
||||
satisfied before the event trigger can execute.
|
||||
|
||||
Click the *Security Labels* tab to continue.
|
||||
|
||||
.. image:: images/event_trigger_security.png
|
||||
:alt: Event trigger dialog security tab
|
||||
:align: center
|
||||
|
||||
Use the *Security* tab to define security labels applied to the trigger. Click the *Add* icon (+) to add each security label.
|
||||
Use the *Security* tab to define security labels applied to the trigger. Click
|
||||
the *Add* icon (+) to add each security label.
|
||||
|
||||
* Specify a security label provider in the *Provider* field. The named provider must be loaded and must consent to the proposed labeling operation.
|
||||
* Specify a security label in the *Security Label* field. The meaning of a given label is at the discretion of the label provider. PostgreSQL places no restrictions on whether or how a label provider must interpret security labels; it merely provides a mechanism for storing them.
|
||||
* Specify a security label provider in the *Provider* field. The named provider
|
||||
must be loaded and must consent to the proposed labeling operation.
|
||||
* Specify a security label in the *Security Label* field. The meaning of a given
|
||||
label is at the discretion of the label provider. PostgreSQL places no
|
||||
restrictions on whether or how a label provider must interpret security
|
||||
labels; it merely provides a mechanism for storing them.
|
||||
|
||||
Click the *Add* icon (+) to assign additional security labels; to discard a security label, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
|
||||
Click the *Add* icon (+) to assign additional security labels; to discard a
|
||||
security label, click the trash icon to the left of the row and confirm deletion
|
||||
in the *Delete Row* popup.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *Domain Trigger* dialog generate a generate a SQL command. Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
|
||||
Your entries in the *Domain Trigger* dialog generate a generate a SQL command.
|
||||
Use the *SQL* tab for review; revisit or switch tabs to make any changes to the
|
||||
SQL command.
|
||||
|
||||
**Example**
|
||||
Example
|
||||
*******
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Domain Trigger* dialog:
|
||||
The following is an example of the sql command generated by user selections in
|
||||
the *Domain Trigger* dialog:
|
||||
|
||||
.. image:: images/event_trigger_sql.png
|
||||
:alt: Event trigger dialog sql tab
|
||||
:align: center
|
||||
|
||||
The command creates an event trigger named *accounts* that invokes the procedure named *acct_due*.
|
||||
The command creates an event trigger named *accounts* that invokes the procedure
|
||||
named *acct_due*.
|
||||
|
||||
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
|
||||
* 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.
|
||||
|
|
|
@ -1,69 +1,104 @@
|
|||
.. _exclusion_constraint_dialog:
|
||||
|
||||
************************************
|
||||
`Exclusion constraint Dialog`:index:
|
||||
`Exclusion Constraint Dialog`:index:
|
||||
************************************
|
||||
|
||||
Use the *Exclusion constraint* dialog to define or modify the behavior of an exclusion constraint. An exclusion constraint guarantees that if any two rows are compared on the specified column or expression (using the specified operator), at least one of the operator comparisons will return false or null.
|
||||
Use the *Exclusion constraint* dialog to define or modify the behavior of an
|
||||
exclusion constraint. An exclusion constraint guarantees that if any two rows
|
||||
are compared on the specified column or expression (using the specified
|
||||
operator), at least one of the operator comparisons will return false or null.
|
||||
|
||||
The *Exclusion constraint* dialog organizes the development of an exclusion constraint through the following dialog tabs: *General*, *Definition*, and *Columns*. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *Exclusion constraint* dialog organizes the development of an exclusion
|
||||
constraint through the following dialog tabs: *General*, *Definition*, and
|
||||
*Columns*. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
|
||||
.. image:: images/exclusion_constraint_general.png
|
||||
:alt: Exclusion constraint dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to identify the exclusion constraint:
|
||||
|
||||
* Use the *Name* field to provide a descriptive name for the exclusion constraint. The name will be displayed in the *pgAdmin* tree control.
|
||||
* Use the *Name* field to provide a descriptive name for the exclusion
|
||||
constraint. The name will be displayed in the *pgAdmin* tree control.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/exclusion_constraint_definition.png
|
||||
:alt: Exclusion constraint dialog definition tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Definition* tab to define the exclusion constraint:
|
||||
|
||||
* Use the drop-down listbox next to *Tablespace* to select the tablespace in which the index associated with the exclude constraint will reside.
|
||||
* Use the drop-down listbox next to *Access method* to specify the type of index that will be used when implementing the exclusion constraint:
|
||||
* Use the drop-down listbox next to *Tablespace* to select the tablespace in
|
||||
which the index associated with the exclude constraint will reside.
|
||||
* Use the drop-down listbox next to *Access method* to specify the type of
|
||||
index that will be used when implementing the exclusion constraint:
|
||||
|
||||
* Select *gist* to specify a GiST index.
|
||||
* Select *spgist* to specify a space-partitioned GiST index.
|
||||
* Select *btree* to specify a B-tree index.
|
||||
* Select *hash* to specify a hash index.
|
||||
|
||||
* Use the *Fill Factor* field to specify a fill factor for the table and associated index. The fill factor is a percentage between 10 and 100. 100 (complete packing) is the default.
|
||||
* Move the *Deferrable?* switch to the *Yes* position to specify that the timing of the constraint is deferrable, and can be postponed until the end of the statement. The default is *No*.
|
||||
* If enabled, move the *Deferred?* switch to the *Yes* position to specify the timing of the constraint is deferred to the end of the statement. The default is *No*.
|
||||
* Use the *Constraint* field to provide a condition that a row must satisfy to be included in the table.
|
||||
* Use the *Fill Factor* field to specify a fill factor for the table and
|
||||
associated index. The fill factor is a percentage between 10 and 100. 100
|
||||
(complete packing) is the default.
|
||||
* Move the *Deferrable?* switch to the *Yes* position to specify that the
|
||||
timing of the constraint is deferrable, and can be postponed until the end of
|
||||
the statement. The default is *No*.
|
||||
* If enabled, move the *Deferred?* switch to the *Yes* position to specify the
|
||||
timing of the constraint is deferred to the end of the statement. The default
|
||||
is *No*.
|
||||
* Use the *Constraint* field to provide a condition that a row must satisfy to
|
||||
be included in the table.
|
||||
|
||||
Click the *Columns* tab to continue.
|
||||
|
||||
.. image:: images/exclusion_constraint_columns.png
|
||||
:alt: Exclusion constraint dialog columns tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Columns* tab to to specify the column(s) to which the constraint applies. Use the drop-down listbox next to *Column* to select a column and click the *Add* icon (+) to provide details of the action on the column:
|
||||
Use the fields in the *Columns* tab to to specify the column(s) to which the
|
||||
constraint applies. Use the drop-down listbox next to *Column* to select a
|
||||
column and click the *Add* icon (+) to provide details of the action on the
|
||||
column:
|
||||
|
||||
* The *Column* field is populated with the selection made in the *Column* drop-down listbox.
|
||||
* If applicable, use the drop-down listbox in the *Operator class* to specify the operator class that will be used by the index for the column.
|
||||
* Move the *DESC* switch to *DESC* to specify a descending sort order. The default is *ASC* which specifies an ascending sort order.
|
||||
* Use the *NULLs order* column to specify the placement of NULL values (when sorted). Specify *FIRST* or *LAST*.
|
||||
* Use the drop-down list next to *Operator* to specify a comparison or conditional operator.
|
||||
* The *Column* field is populated with the selection made in the *Column*
|
||||
drop-down listbox.
|
||||
* If applicable, use the drop-down listbox in the *Operator class* to specify
|
||||
the operator class that will be used by the index for the column.
|
||||
* Move the *DESC* switch to *DESC* to specify a descending sort order. The
|
||||
default is *ASC* which specifies an ascending sort order.
|
||||
* Use the *NULLs order* column to specify the placement of NULL values (when
|
||||
sorted). Specify *FIRST* or *LAST*.
|
||||
* Use the drop-down list next to *Operator* to specify a comparison or
|
||||
conditional operator.
|
||||
|
||||
Use *Include columns* field to specify columns for *INCLUDE* clause of the constraint. This option is available in Postgres 11 and later.
|
||||
Use *Include columns* field to specify columns for *INCLUDE* clause of the
|
||||
constraint. This option is available in Postgres 11 and later.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *Exclusion Constraint* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
|
||||
Your entries in the *Exclusion Constraint* dialog generate a SQL command (see
|
||||
an example below). Use the *SQL* tab for review; revisit or switch tabs to make
|
||||
any changes to the SQL command.
|
||||
|
||||
**Example**
|
||||
Example
|
||||
*******
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Exclusion Constraint* dialog:
|
||||
The following is an example of the sql command generated by user selections in
|
||||
the *Exclusion Constraint* dialog:
|
||||
|
||||
.. image:: images/exclusion_constraint_sql.png
|
||||
:alt: Exclusion constraint dialog sql tab
|
||||
:align: center
|
||||
|
||||
The example shown demonstrates creating an exclusion constraint named *exclude_department* that restricts additions to the dept table to those additions that are not equal to the value of the *deptno* column. The constraint uses a btree index.
|
||||
The example shown demonstrates creating an exclusion constraint named
|
||||
*exclude_department* that restricts additions to the dept table to those
|
||||
additions that are not equal to the value of the *deptno* column. The
|
||||
constraint uses a btree index.
|
||||
|
||||
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
|
||||
* 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.
|
|
@ -4,42 +4,60 @@
|
|||
`Extension Dialog`:index:
|
||||
*************************
|
||||
|
||||
Use the *Extension* dialog to install a new extension into the current database. An extension is a collection of SQL objects that add targeted functionality to your Postgres installation. The *Extension* dialog adds the functionality of an extension to the current database only; you must register the extension in each database that use the extension. Before you load an extension into a database, you should confirm that any pre-requisite files are installed.
|
||||
Use the *Extension* dialog to install a new extension into the current database.
|
||||
An extension is a collection of SQL objects that add targeted functionality to
|
||||
your Postgres installation. The *Extension* dialog adds the functionality of
|
||||
an extension to the current database only; you must register the extension in
|
||||
each database that use the extension. Before you load an extension into a
|
||||
database, you should confirm that any pre-requisite files are installed.
|
||||
|
||||
The *Extension* dialog allows you to implement options of the CREATE EXTENSION command through the following dialog tabs: *General* and *Definition*. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *Extension* dialog allows you to implement options of the CREATE EXTENSION
|
||||
command through the following dialog tabs: *General* and *Definition*. The *SQL*
|
||||
tab displays the SQL code generated by dialog selections.
|
||||
|
||||
.. image:: images/extension_general.png
|
||||
:alt: Extension dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to identify an extension:
|
||||
|
||||
* Use the drop-down listbox in the *Name* field to select the extension. Each extension must have a unique name.
|
||||
* Use the drop-down listbox in the *Name* field to select the extension. Each
|
||||
extension must have a unique name.
|
||||
* Store notes about the extension in the *Comment* field.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/extension_definition.png
|
||||
:alt: Extension dialog definition tab
|
||||
:align: center
|
||||
|
||||
Use the *Definition* tab to select the *Schema* and *Version*:
|
||||
|
||||
* Use the drop-down listbox next to *Schema* to select the name of the schema in which to install the extension's objects.
|
||||
* Use the drop-down listbox next to *Version* to select the version of the extension to install.
|
||||
* Use the drop-down listbox next to *Schema* to select the name of the schema
|
||||
in which to install the extension's objects.
|
||||
* Use the drop-down listbox next to *Version* to select the version of the
|
||||
extension to install.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *Extension* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
|
||||
Your entries in the *Extension* dialog generate a SQL command (see an example
|
||||
below). Use the *SQL* tab for review; revisit or switch tabs to make any changes
|
||||
to the SQL command.
|
||||
|
||||
**Example**
|
||||
Example
|
||||
*******
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Extension* dialog:
|
||||
The following is an example of the sql command generated by user selections in
|
||||
the *Extension* dialog:
|
||||
|
||||
.. image:: images/extension_sql.png
|
||||
:alt: Extension dialog sql tab
|
||||
:align: center
|
||||
|
||||
The command creates the *chkpass* extension in the *public* schema. It is version *1.0* of *chkpass*.
|
||||
The command creates the *chkpass* extension in the *public* schema. It is
|
||||
version *1.0* of *chkpass*.
|
||||
|
||||
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
|
||||
* 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.
|
||||
|
|
|
@ -4,70 +4,107 @@
|
|||
`Foreign Data Wrapper Dialog`:index:
|
||||
************************************
|
||||
|
||||
Use the *Foreign Data Wrapper* dialog to create or modify a foreign data wrapper. A foreign data wrapper is an adapter between a Postgres database and data stored on another data source.
|
||||
Use the *Foreign Data Wrapper* dialog to create or modify a foreign data
|
||||
wrapper. A foreign data wrapper is an adapter between a Postgres database and
|
||||
data stored on another data source.
|
||||
|
||||
You must be a superuser to create a foreign data wrapper.
|
||||
|
||||
The *Foreign Data Wrapper* dialog organizes the development of a foreign data wrapper through the following dialog tabs: *General*, *Definition*, *Options*, and *Security*. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *Foreign Data Wrapper* dialog organizes the development of a foreign data
|
||||
wrapper through the following dialog tabs: *General*, *Definition*, *Options*,
|
||||
and *Security*. The *SQL* tab displays the SQL code generated by dialog
|
||||
selections.
|
||||
|
||||
.. image:: images/foreign_data_wrapper_general.png
|
||||
:alt: Foreign data wrapper dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to identify the foreign data wrapper:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the foreign data wrapper. A foreign data wrapper name must be unique within the database. The name will be displayed in the *pgAdmin* tree control.
|
||||
* Use the drop-down listbox next to *Owner* to select the name of the role that will own the foreign data wrapper.
|
||||
* Use the *Name* field to add a descriptive name for the foreign data wrapper.
|
||||
A foreign data wrapper name must be unique within the database. The name will
|
||||
be displayed in the *pgAdmin* tree control.
|
||||
* Use the drop-down listbox next to *Owner* to select the name of the role that
|
||||
will own the foreign data wrapper.
|
||||
* Store notes about the foreign data wrapper in the *Comment* field.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/foreign_data_wrapper_definition.png
|
||||
:alt: Foreign data wrapper dialog definition tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Definition* tab to set parameters:
|
||||
|
||||
* Select the name of the handler function from the drop-down listbox in the *Handler* field. This is the name of an existing function that will be called to retrieve the execution functions for foreign tables.
|
||||
* Select the name of the validator function from the drop-down listbox in the *Validator* field. This is the name of an existing function that will be called to check the generic options given to the foreign data wrapper, as well as options for foreign servers, user mappings and foreign tables using the foreign data wrapper.
|
||||
* Select the name of the handler function from the drop-down listbox in the
|
||||
*Handler* field. This is the name of an existing function that will be called
|
||||
to retrieve the execution functions for foreign tables.
|
||||
* Select the name of the validator function from the drop-down listbox in the
|
||||
*Validator* field. This is the name of an existing function that will be
|
||||
called to check the generic options given to the foreign data wrapper, as
|
||||
well as options for foreign servers, user mappings and foreign tables using
|
||||
the foreign data wrapper.
|
||||
|
||||
Click the *Options* tab to continue.
|
||||
|
||||
.. image:: images/foreign_data_wrapper_options.png
|
||||
:alt: Foreign data wrapper dialog options tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Options* tab to specify options:
|
||||
|
||||
* Click the the *Add* icon (+) button to add an option/value pair for the foreign data wrapper. Supported option/value pairs will be specific to the selected foreign data wrapper.
|
||||
* Specify the option name in the *Option* field and provide a corresponding value in the *Value* field.
|
||||
* Click the the *Add* icon (+) button to add an option/value pair for the
|
||||
foreign data wrapper. Supported option/value pairs will be specific to the
|
||||
selected foreign data wrapper.
|
||||
* Specify the option name in the *Option* field and provide a corresponding
|
||||
value in the *Value* field.
|
||||
|
||||
Click the *Add* icon (+) to specify each additional pair; to discard an option, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
|
||||
Click the *Add* icon (+) to specify each additional pair; to discard an option,
|
||||
click the trash icon to the left of the row and confirm deletion in the *Delete
|
||||
Row* popup.
|
||||
|
||||
Click the *Security* tab to continue.
|
||||
|
||||
.. image:: images/foreign_data_wrapper_security.png
|
||||
:alt: Foreign data wrapper dialog security tab
|
||||
:align: center
|
||||
|
||||
Use the *Security* tab to assign security privileges. Click the *Add* icon (+) to assign a set of privileges.
|
||||
Use the *Security* tab 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.
|
||||
* 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.
|
||||
* 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.
|
||||
|
||||
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* popup.
|
||||
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*
|
||||
popup.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *Foreign Data Wrapper* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
|
||||
Your entries in the *Foreign Data Wrapper* dialog generate a SQL command (see an
|
||||
example below). Use the *SQL* tab for review; revisit or switch tabs to make any
|
||||
changes to the SQL command.
|
||||
|
||||
**Example**
|
||||
Example
|
||||
*******
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Foreign Data Wrapper* dialog:
|
||||
The following is an example of the sql command generated by user selections in
|
||||
the *Foreign Data Wrapper* dialog:
|
||||
|
||||
.. image:: images/foreign_data_wrapper_sql.png
|
||||
:alt: Foreign data wrapper dialog sql tab
|
||||
:align: center
|
||||
|
||||
The example creates a foreign data wrapper named *libpq_debug* that uses pre-existing validator and handler functions, *dblink_fdw_validator* and *libpg_fdw_handler*. Selections on the *Options* tab set *debug* equal to *true*. The foreign data wrapper is owned by *postgres*.
|
||||
The example creates a foreign data wrapper named *libpq_debug* that uses
|
||||
pre-existing validator and handler functions, *dblink_fdw_validator* and
|
||||
*libpg_fdw_handler*. Selections on the *Options* tab set *debug* equal to
|
||||
*true*. The foreign data wrapper is owned by *postgres*.
|
||||
|
||||
* Click the *Help* button (?) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
|
||||
* Click the *Help* button (?) 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.
|
||||
|
|
|
@ -4,58 +4,94 @@
|
|||
`Foreign key Dialog`:index:
|
||||
***************************
|
||||
|
||||
Use the *Foreign key* dialog to specify the behavior of a foreign key constraint. A foreign key constraint maintains referential integrity between two tables. A foreign key constraint cannot be defined between a temporary table and a permanent table.
|
||||
Use the *Foreign key* dialog to specify the behavior of a foreign key
|
||||
constraint. A foreign key constraint maintains referential integrity between
|
||||
two tables. A foreign key constraint cannot be defined between a temporary
|
||||
table and a permanent table.
|
||||
|
||||
The *Foreign key* dialog organizes the development of a foreign key constraint through the following dialog tabs: *General*, *Definition*, *Columns*, and *Action*. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *Foreign key* dialog organizes the development of a foreign key constraint
|
||||
through the following dialog tabs: *General*, *Definition*, *Columns*, and
|
||||
*Action*. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
|
||||
.. image:: images/foreign_key_general.png
|
||||
:alt: Foreign key dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to identify the foreign key constraint:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the foreign key. The name will be displayed in the *pgAdmin* tree control.
|
||||
* Use the *Name* field to add a descriptive name for the foreign key. The name
|
||||
will be displayed in the *pgAdmin* tree control.
|
||||
* Store notes about the foreign key constraint in the *Comment* field.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/foreign_key_definition.png
|
||||
:alt: Foreign key dialog definition tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Definition* tab to define the foreign key constraint:
|
||||
|
||||
* Move the *Deferrable?* switch to the *Yes* position to specify the timing of the constraint is deferrable and can be postponed until the end of the statement. The default is *No*.
|
||||
* If enabled, move the *Deferred?* switch to the *Yes* position to specify the timing of the constraint is deferred to the end of the statement. The default is *No*.
|
||||
* Move the *Match type* switch specify the type of matching that is enforced by the constraint:
|
||||
* Move the *Deferrable?* switch to the *Yes* position to specify the timing of
|
||||
the constraint is deferrable and can be postponed until the end of the
|
||||
statement. The default is *No*.
|
||||
* If enabled, move the *Deferred?* switch to the *Yes* position to specify the
|
||||
timing of the constraint is deferred to the end of the statement. The default
|
||||
is *No*.
|
||||
* Move the *Match type* switch specify the type of matching that is enforced by
|
||||
the constraint:
|
||||
|
||||
* Select *Full* to indicate that all columns of a multicolumn foreign key must be null if any column is null; if all columns are null, the row is not required to have a match in the referenced table.
|
||||
* Select *Simple* to specify that a single foreign key column may be null; if any column is null, the row is not required to have a match in the referenced table.
|
||||
* Select *Full* to indicate that all columns of a multicolumn foreign key
|
||||
must be null if any column is null; if all columns are null, the row is
|
||||
not required to have a match in the referenced table.
|
||||
* Select *Simple* to specify that a single foreign key column may be null;
|
||||
if any column is null, the row is not required to have a match in the
|
||||
referenced table.
|
||||
|
||||
* Move the *Validated* switch to the *Yes* position to instruct the server to validate the existing table content (against a foreign key or check constraint) when you save modifications to this dialog.
|
||||
* Move the *Auto FK Index* switch to the *No* position to disable the automatic index feature.
|
||||
* The field next to *Covering Index* generates the name of an index if the *Auto FK Index* switch is in the *Yes* position; or, this field is disabled.
|
||||
* Move the *Validated* switch to the *Yes* position to instruct the server to
|
||||
validate the existing table content (against a foreign key or check
|
||||
constraint) when you save modifications to this dialog.
|
||||
* Move the *Auto FK Index* switch to the *No* position to disable the automatic
|
||||
index feature.
|
||||
* The field next to *Covering Index* generates the name of an index if the *Auto
|
||||
FK Index* switch is in the *Yes* position; or, this field is disabled.
|
||||
|
||||
Click the *Columns* tab to continue.
|
||||
|
||||
.. image:: images/foreign_key_columns.png
|
||||
:alt: Foreign key dialog columns tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Columns* tab to specify one or more reference column(s). A Foreign Key constraint requires that one or more columns of a table must only contain values that match values in the referenced column(s) of a row of a referenced table:
|
||||
Use the fields in the *Columns* tab to specify one or more reference column(s).
|
||||
A Foreign Key constraint requires that one or more columns of a table must only
|
||||
contain values that match values in the referenced column(s) of a row of a
|
||||
referenced table:
|
||||
|
||||
* Use the drop-down listbox next to *Local column* to specify the column in the current table that will be compared to the foreign table.
|
||||
* Use the drop-down listbox next to *References* to specify the name of the table in which the comparison column(s) resides.
|
||||
* Use the drop-down listbox next to *Referencing* to specify a column in the foreign table.
|
||||
* Use the drop-down listbox next to *Local column* to specify the column in the
|
||||
current table that will be compared to the foreign table.
|
||||
* Use the drop-down listbox next to *References* to specify the name of the
|
||||
table in which the comparison column(s) resides.
|
||||
* Use the drop-down listbox next to *Referencing* to specify a column in the
|
||||
foreign table.
|
||||
|
||||
Click the *Add* icon (+) to add a column to the list; repeat the steps above and click the *Add* icon (+) to add additional columns. To discard an entry, click the trash icon to the left of the entry and confirm deletion in the *Delete Row* popup.
|
||||
Click the *Add* icon (+) to add a column to the list; repeat the steps above and
|
||||
click the *Add* icon (+) to add additional columns. To discard an entry, click
|
||||
the trash icon to the left of the entry and confirm deletion in the *Delete Row*
|
||||
popup.
|
||||
|
||||
Click the *Action* tab to continue.
|
||||
|
||||
.. image:: images/foreign_key_action.png
|
||||
:alt: Foreign key dialog action tab
|
||||
:align: center
|
||||
|
||||
Use the drop-down listboxes on the *Action* tab to specify behavior related to the foreign key constraint that will be performed when data within the table is updated or deleted:
|
||||
Use the drop-down listboxes on the *Action* tab to specify behavior related to
|
||||
the foreign key constraint that will be performed when data within the table is
|
||||
updated or deleted:
|
||||
|
||||
* Use the drop-down listbox next to *On update* to select an action that will be performed when data in the table is updated.
|
||||
* Use the drop-down listbox next to *On delete* to select an action that will be performed when data in the table is deleted.
|
||||
* Use the drop-down listbox next to *On update* to select an action that will be
|
||||
performed when data in the table is updated.
|
||||
* Use the drop-down listbox next to *On delete* to select an action that will be
|
||||
performed when data in the table is deleted.
|
||||
|
||||
The supported actions are:
|
||||
|
||||
|
@ -78,18 +114,25 @@ The supported actions are:
|
|||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *Foreign key* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
|
||||
Your entries in the *Foreign key* dialog generate a SQL command (see an example
|
||||
below). Use the *SQL* tab for review; revisit or switch tabs to make any changes
|
||||
to the SQL command.
|
||||
|
||||
**Example**
|
||||
Example
|
||||
*******
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Foreign key* dialog:
|
||||
The following is an example of the sql command generated by user selections in
|
||||
the *Foreign key* dialog:
|
||||
|
||||
.. image:: images/foreign_key_sql.png
|
||||
:alt: Foreign key dialog sql tab
|
||||
:align: center
|
||||
|
||||
The example shown demonstrates creating a foreign key constraint named *territory_fkey* that matches values in the *distributors* table *territory* column with those of the *sales_territories* table *region* column.
|
||||
The example shown demonstrates creating a foreign key constraint named
|
||||
*territory_fkey* that matches values in the *distributors* table *territory*
|
||||
column with those of the *sales_territories* table *region* column.
|
||||
|
||||
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
|
||||
* 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.
|
|
@ -4,16 +4,25 @@
|
|||
`Foreign Server Dialog`:index:
|
||||
******************************
|
||||
|
||||
Use the *Foreign Server* dialog to create a foreign server. A foreign server typically encapsulates connection information that a foreign-data wrapper uses to access an external data resource. Each foreign data wrapper may connect to a different foreign server; in the *pgAdmin* tree control, expand the node of the applicable foreign data wrapper to launch the *Foreign Server* dialog.
|
||||
Use the *Foreign Server* dialog to create a foreign server. A foreign server
|
||||
typically encapsulates connection information that a foreign-data wrapper uses
|
||||
to access an external data resource. Each foreign data wrapper may connect to a
|
||||
different foreign server; in the *pgAdmin* tree control, expand the node of the
|
||||
applicable foreign data wrapper to launch the *Foreign Server* dialog.
|
||||
|
||||
The *Foreign Server* dialog organizes the development of a foreign server through the following dialog tabs: *General*, *Definition*, *Options*, and *Security*. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *Foreign Server* dialog organizes the development of a foreign server
|
||||
through the following dialog tabs: *General*, *Definition*, *Options*, and
|
||||
*Security*. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
|
||||
.. image:: images/foreign_server_general.png
|
||||
:alt: Foreign server dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to identify the foreign server:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the foreign server. The name will be displayed in the *pgAdmin* tree control. It must be unique within the database.
|
||||
* Use the *Name* field to add a descriptive name for the foreign server. The
|
||||
name will be displayed in the *pgAdmin* tree control. It must be unique within
|
||||
the database.
|
||||
* Use the drop-down listbox next to *Owner* to select a role.
|
||||
* Store notes about the foreign server in the *Comment* field.
|
||||
|
||||
|
@ -21,6 +30,7 @@ Click the *Definition* tab to continue.
|
|||
|
||||
.. image:: images/foreign_server_definition.png
|
||||
:alt: Foreign server dialog definition tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Definition* tab to set parameters:
|
||||
|
||||
|
@ -31,41 +41,59 @@ Click the *Options* tab to continue.
|
|||
|
||||
.. image:: images/foreign_server_options.png
|
||||
:alt: Foreign server dialog options tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Options* tab to specify options. Click the *Add* button to create an option clause for the foreign server.
|
||||
Use the fields in the *Options* tab to specify options. Click the *Add* button
|
||||
to create an option clause for the foreign server.
|
||||
|
||||
* Specify the option name in the *Option* field.
|
||||
* Provide a corresponding value in the *Value* field.
|
||||
|
||||
Click *Add* to create each additional clause; to discard an option, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
|
||||
Click *Add* to create each additional clause; to discard an option, click the
|
||||
trash icon to the left of the row and confirm deletion in the *Delete Row*
|
||||
popup.
|
||||
|
||||
Click the *Security* tab to continue.
|
||||
|
||||
.. image:: images/foreign_server_security.png
|
||||
:alt: Foreign server dialog security tab
|
||||
:align: center
|
||||
|
||||
Use the *Security* tab to assign security privileges to the foreign server. Click *Add* before you assign a set of privileges.
|
||||
Use the *Security* tab to assign security privileges to the foreign server.
|
||||
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.
|
||||
* 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.
|
||||
|
||||
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* dialog.
|
||||
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*
|
||||
dialog.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *Foreign Server* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
|
||||
Your entries in the *Foreign Server* dialog generate a SQL command (see an
|
||||
example below). Use the *SQL* tab for review; revisit or switch tabs to make
|
||||
any changes to the SQL command.
|
||||
|
||||
**Example**
|
||||
Example
|
||||
*******
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Foreign Server* dialog:
|
||||
The following is an example of the sql command generated by user selections in
|
||||
the *Foreign Server* dialog:
|
||||
|
||||
.. image:: images/foreign_server_sql.png
|
||||
:alt: Foreign server dialog sql tab
|
||||
:align: center
|
||||
|
||||
The example shown demonstrates creating a foreign server for the foreign data wrapper *hdfs_fdw*. It has the name *hdfs_server*; its type is *hiveserver2*. Options for the foreign server include a host and a port.
|
||||
The example shown demonstrates creating a foreign server for the foreign data
|
||||
wrapper *hdfs_fdw*. It has the name *hdfs_server*; its type is *hiveserver2*.
|
||||
Options for the foreign server include a host and a port.
|
||||
|
||||
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
|
||||
* 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.
|
||||
|
|
|
@ -4,105 +4,165 @@
|
|||
`Foreign Table Dialog`:index:
|
||||
*****************************
|
||||
|
||||
Use the *Foreign Table* dialog to define a foreign table in the current database. Foreign tables define the structure of an external data source that resides on a foreign server.
|
||||
Use the *Foreign Table* dialog to define a foreign table in the current
|
||||
database. Foreign tables define the structure of an external data source that
|
||||
resides on a foreign server.
|
||||
|
||||
The *Foreign Table* dialog organizes the development of a foreign table through the following dialog tabs: *General*, *Definition*, *Columns*, *Constraints*, *Options*, and *Security*. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *Foreign Table* dialog organizes the development of a foreign table through
|
||||
the following dialog tabs: *General*, *Definition*, *Columns*, *Constraints*,
|
||||
*Options*, and *Security*. The *SQL* tab displays the SQL code generated by
|
||||
dialog selections.
|
||||
|
||||
.. image:: images/foreign_table_general.png
|
||||
:alt: Foreign table dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to identify the foreign table:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the foreign table. The name of the foreign table must be distinct from the name of any other foreign table, table, sequence, index, view, existing data type, or materialized view in the same schema. The name will be displayed in the *pgAdmin* tree control.
|
||||
* Use the drop-down listbox next to *Owner* to select the name of the role that will own the foreign table.
|
||||
* Select the name of the schema in which the foreign table will reside from the drop-down listbox in the *Schema* field.
|
||||
* Use the *Name* field to add a descriptive name for the foreign table. The name
|
||||
of the foreign table must be distinct from the name of any other foreign
|
||||
table, table, sequence, index, view, existing data type, or materialized view
|
||||
in the same schema. The name will be displayed in the *pgAdmin* tree control.
|
||||
* Use the drop-down listbox next to *Owner* to select the name of the role that
|
||||
will own the foreign table.
|
||||
* Select the name of the schema in which the foreign table will reside from the
|
||||
drop-down listbox in the *Schema* field.
|
||||
* Store notes about the foreign table in the *Comment* field.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/foreign_table_definition.png
|
||||
:alt: Foreign table dialog definition tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Definition* tab to define the external data source:
|
||||
|
||||
* Use the drop-down listbox next to *Foreign server* to select a foreign server. This list is populated with servers defined through the *Foreign Server* dialog.
|
||||
* Use the drop-down listbox next to *Inherits* to specify a parent table. The foreign table will inherit all of its columns. This field is optional.
|
||||
* Use the drop-down listbox next to *Foreign server* to select a foreign server.
|
||||
This list is populated with servers defined through the *Foreign Server*
|
||||
dialog.
|
||||
* Use the drop-down listbox next to *Inherits* to specify a parent table. The
|
||||
foreign table will inherit all of its columns. This field is optional.
|
||||
|
||||
Click the *Columns* tab to continue.
|
||||
|
||||
.. image:: images/foreign_table_columns.png
|
||||
:alt: Foreign table dialog columns tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Columns* tab to to add columns and their attributes to the table. Click the *Add* icon (+) to define a column:
|
||||
Use the fields in the *Columns* tab to to add columns and their attributes to
|
||||
the table. Click the *Add* icon (+) to define a column:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the column.
|
||||
* Use the drop-down listbox in the *Data Type* field to select a data type for the column. This can include array specifiers. For more information on which data types are supported by PostgreSQL, refer to Chapter 8 of the core documentation.
|
||||
* Use the drop-down listbox in the *Data Type* field to select a data type for
|
||||
the column. This can include array specifiers. For more information on which
|
||||
data types are supported by PostgreSQL, refer to Chapter 8 of the core
|
||||
documentation.
|
||||
|
||||
Click the *Add* icon (+) to specify each additional column; to discard a column, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
|
||||
Click the *Add* icon (+) to specify each additional column; to discard a column,
|
||||
click the trash icon to the left of the row and confirm deletion in the *Delete
|
||||
Row* popup.
|
||||
|
||||
Click the *Constraints* tab to continue.
|
||||
|
||||
.. image:: images/foreign_table_constraints.png
|
||||
:alt: Foreign table dialog constraints tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Constraints* tab to apply a table constraint to the foreign table. Click the *Add* icon (+) to define a constraint:
|
||||
Use the fields in the *Constraints* tab to apply a table constraint to the
|
||||
foreign table. Click the *Add* icon (+) to define a constraint:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the constraint. If the constraint is violated, the constraint name is present in error messages, so constraint names like *col must be positive* can be used to communicate helpful information.
|
||||
* Use the *Check* field to write a check expression producing a Boolean result. Each row in the foreign table is expected to satisfy the check expression.
|
||||
* Check the *No Inherit* checkbox to specify that the constraint will not propagate to child tables.
|
||||
* Uncheck the *Validate* checkbox to disable validation. The database will not assume that the constraint holds for all rows in the table.
|
||||
* Use the *Name* field to add a descriptive name for the constraint. If the
|
||||
constraint is violated, the constraint name is present in error messages, so
|
||||
constraint names like *col must be positive* can be used to communicate
|
||||
helpful information.
|
||||
* Use the *Check* field to write a check expression producing a Boolean result.
|
||||
Each row in the foreign table is expected to satisfy the check expression.
|
||||
* Check the *No Inherit* checkbox to specify that the constraint will not
|
||||
propagate to child tables.
|
||||
* Uncheck the *Validate* checkbox to disable validation. The database will not
|
||||
assume that the constraint holds for all rows in the table.
|
||||
|
||||
Click the *Add* icon (+) to specify each additional constraint; to discard a constraint, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
|
||||
Click the *Add* icon (+) to specify each additional constraint; to discard a
|
||||
constraint, click the trash icon to the left of the row and confirm deletion in
|
||||
he *Delete Row* popup.
|
||||
|
||||
Click the *Options* tab to continue.
|
||||
|
||||
.. image:: images/foreign_table_options.png
|
||||
:alt: Foreign table dialog options tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Options* tab to specify options to be associated with the new foreign table or one of its columns; the accepted option names and values are specific to the foreign data wrapper associated with the foreign server. Click the *Add* icon (+) to add an option/value pair.
|
||||
Use the fields in the *Options* tab to specify options to be associated with
|
||||
the new foreign table or one of its columns; the accepted option names and
|
||||
values are specific to the foreign data wrapper associated with the foreign
|
||||
server. Click the *Add* icon (+) to add an option/value pair.
|
||||
|
||||
* Specify the option name in the *Option* field. Duplicate option names are not allowed.
|
||||
* Specify the option name in the *Option* field. Duplicate option names are not
|
||||
allowed.
|
||||
* Provide a corresponding value in the *Value* field.
|
||||
|
||||
Click the *Add* icon (+) to specify each additional option/value pair; to discard an option, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
|
||||
Click the *Add* icon (+) to specify each additional option/value pair; to
|
||||
discard an option, click the trash icon to the left of the row and confirm
|
||||
deletion in the *Delete Row* popup.
|
||||
|
||||
Click the *Security* tab to continue.
|
||||
|
||||
.. image:: images/foreign_table_security.png
|
||||
:alt: Foreign table dialog security tab
|
||||
:align: center
|
||||
|
||||
Use the *Security* tab to assign privileges and define security labels.
|
||||
|
||||
Use the *Privileges* panel to assign privileges to a role. Click the *Add* icon (+) to set privileges for database objects:
|
||||
Use the *Privileges* panel to assign privileges to a role. Click the *Add* icon
|
||||
(+) to set privileges for database objects:
|
||||
|
||||
* Select the name of the role to which privileges will be assigned 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 that owns the foreign table from the drop-down listbox in the *Grantor* field. The default grantor is the owner of the database.
|
||||
* Select the name of the role to which privileges will be assigned 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 that owns the foreign table from the drop-down
|
||||
listbox in the *Grantor* field. The default grantor is the owner of the
|
||||
database.
|
||||
|
||||
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 the *Delete Row* popup.
|
||||
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
|
||||
the *Delete Row* popup.
|
||||
|
||||
Use the *Security Labels* panel to define security labels applied to the function. Click the *Add* icon (+) to add each security label selection:
|
||||
Use the *Security Labels* panel to define security labels applied to the
|
||||
function. Click the *Add* icon (+) to add each security label selection:
|
||||
|
||||
* Specify a security label provider in the *Provider* field. The named provider must be loaded and must consent to the proposed labeling operation.
|
||||
* Specify a a security label in the *Security Label* field. The meaning of a given label is at the discretion of the label provider. PostgreSQL places no restrictions on whether or how a label provider must interpret security labels; it merely provides a mechanism for storing them.
|
||||
* Specify a security label provider in the *Provider* field. The named provider
|
||||
must be loaded and must consent to the proposed labeling operation.
|
||||
* Specify a a security label in the *Security Label* field. The meaning of a
|
||||
given label is at the discretion of the label provider. PostgreSQL places no
|
||||
restrictions on whether or how a label provider must interpret security
|
||||
labels; it merely provides a mechanism for storing them.
|
||||
|
||||
Click the *Add* icon (+) to assign additional security labels; to discard a security label, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
|
||||
Click the *Add* icon (+) to assign additional security labels; to discard a
|
||||
security label, click the trash icon to the left of the row and confirm deletion
|
||||
in the *Delete Row* popup.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *Foreign Table* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
|
||||
Your entries in the *Foreign Table* dialog generate a SQL command (see an
|
||||
example below). Use the *SQL* tab for review; revisit or switch tabs to make
|
||||
any changes to the SQL command.
|
||||
|
||||
**Example**
|
||||
Example
|
||||
*******
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Foreign Table* dialog:
|
||||
The following is an example of the sql command generated by user selections in
|
||||
the *Foreign Table* dialog:
|
||||
|
||||
.. image:: images/foreign_table_sql.png
|
||||
:alt: Foreign table dialog sql tab
|
||||
:align: center
|
||||
|
||||
The example shown demonstrates creating a foreign table *weblogs* with multiple columns and two options.
|
||||
The example shown demonstrates creating a foreign table *weblogs* with multiple
|
||||
columns and two options.
|
||||
|
||||
|
||||
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
|
||||
* 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.
|
||||
|
|
|
@ -1,39 +1,50 @@
|
|||
.. _fts_configuration_dialog:
|
||||
|
||||
*********************************
|
||||
`FTS Configuration dialog`:index:
|
||||
`FTS Configuration Dialog`:index:
|
||||
*********************************
|
||||
|
||||
Use the *FTS Configuration* dialog to configure a full text search. A text search configuration specifies a text search parser that can divide a string into tokens, along with dictionaries that can identify searchable tokens.
|
||||
Use the *FTS Configuration* dialog to configure a full text search. A text
|
||||
search configuration specifies a text search parser that can divide a string
|
||||
into tokens, along with dictionaries that can identify searchable tokens.
|
||||
|
||||
The *FTS Configuration* dialog organizes the development of a FTS configuration through the following dialog tabs: "*General*, *Definition*, and *Tokens*. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *FTS Configuration* dialog organizes the development of a FTS configuration
|
||||
through the following dialog tabs: "*General*, *Definition*, and *Tokens*. The
|
||||
*SQL* tab displays the SQL code generated by dialog selections.
|
||||
|
||||
Click the *General* tab to begin.
|
||||
|
||||
.. image:: images/fts_configuration_general.png
|
||||
:alt: FTS configuration dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to identify a FTS configuration:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the FTS configuration. The name will be displayed in the *pgAdmin* tree control.
|
||||
* Use the drop-down listbox next to *Owner* to specify the role that will own the configuration.
|
||||
* Select the name of the schema in which the FTS configuration will reside from the drop-down listbox in the *Schema* field.
|
||||
* Use the *Name* field to add a descriptive name for the FTS configuration. The
|
||||
name will be displayed in the *pgAdmin* tree control.
|
||||
* Use the drop-down listbox next to *Owner* to specify the role that will own
|
||||
the configuration.
|
||||
* Select the name of the schema in which the FTS configuration will reside from
|
||||
the drop-down listbox in the *Schema* field.
|
||||
* Store notes about the FTS configuration in the *Comment* field.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/fts_configuration_definition.png
|
||||
:alt: FTS configuration dialog definition tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Definition* tab to define parameters:
|
||||
|
||||
* Select the name of the text search parser from the drop-down listbox in the *Parser* field.
|
||||
* Select the name of the text search parser from the drop-down listbox in the
|
||||
*Parser* field.
|
||||
* Select a language from the drop-down listbox in the *Copy Config* field.
|
||||
|
||||
Click the *Tokens* tab to continue.
|
||||
|
||||
.. image:: images/fts_configuration_tokens.png
|
||||
:alt: FTS configuration dialog tokens tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Tokens* tab to add a token:
|
||||
|
||||
|
@ -41,22 +52,30 @@ Use the fields in the *Tokens* tab to add a token:
|
|||
* Click the *Add* icon (+) to create a token.
|
||||
* Use the *Dictionaries* field to specify a dictionary.
|
||||
|
||||
Repeat these steps to add additional tokens; to discard a token, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
|
||||
Repeat these steps to add additional tokens; to discard a token, click the
|
||||
trash icon to the left of the row and confirm deletion in the *Delete Row*
|
||||
popup.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *FTS Configuration* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
|
||||
Your entries in the *FTS Configuration* dialog generate a SQL command (see an
|
||||
example below). Use the *SQL* tab for review; revisit or switch tabs to make
|
||||
any changes to the SQL command.
|
||||
|
||||
**Example**
|
||||
Example
|
||||
*******
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *FTS Configuration* dialog:
|
||||
The following is an example of the sql command generated by user selections in
|
||||
the *FTS Configuration* dialog:
|
||||
|
||||
.. image:: images/fts_configuration_sql.png
|
||||
:alt: FTS configuration dialog sql tab
|
||||
:align: center
|
||||
|
||||
The example shown demonstrates creating a FTS configuration named *meme_phrases*. It uses the *default* parser.
|
||||
The example shown demonstrates creating a FTS configuration named
|
||||
*meme_phrases*. It uses the *default* parser.
|
||||
|
||||
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
|
||||
* 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.
|
||||
|
|
|
@ -4,59 +4,109 @@
|
|||
`FTS Dictionary Dialog`:index:
|
||||
******************************
|
||||
|
||||
Use the *FTS Dictionary* dialog to create a full text search dictionary. You can use a predefined templates or create a new dictionary with custom parameters.
|
||||
Use the *FTS Dictionary* dialog to create a full text search dictionary. You
|
||||
can use a predefined templates or create a new dictionary with custom
|
||||
parameters.
|
||||
|
||||
The *FTS Dictionary* dialog organizes the development of a FTS dictionary through the following dialog tabs: *General*, *Definition*, and *Options*. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *FTS Dictionary* dialog organizes the development of a FTS dictionary
|
||||
through the following dialog tabs: *General*, *Definition*, and *Options*. The
|
||||
*SQL* tab displays the SQL code generated by dialog selections.
|
||||
|
||||
.. image:: images/fts_dictionary_general.png
|
||||
:alt: FTS dictionary dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to identify the dictionary:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the dictionary. The name will be displayed in the *pgAdmin* tree control.
|
||||
* Use the drop-down listbox next to *Owner* to select the role that will own the FTS Dictionary.
|
||||
* Select the name of the schema in which the dictionary will reside from the drop-down listbox in the *Schema* field.
|
||||
* Use the *Name* field to add a descriptive name for the dictionary. The name
|
||||
will be displayed in the *pgAdmin* tree control.
|
||||
* Use the drop-down listbox next to *Owner* to select the role that will own the
|
||||
FTS Dictionary.
|
||||
* Select the name of the schema in which the dictionary will reside from the
|
||||
drop-down listbox in the *Schema* field.
|
||||
* Store notes about the dictionary in the *Comment* field.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/fts_dictionary_definition.png
|
||||
:alt: FTS dictionary dialog definition tab
|
||||
:align: center
|
||||
|
||||
Use the field in the *Definition* tab to choose a template from the drop-down listbox:
|
||||
Use the field in the *Definition* tab to choose a template from the drop-down
|
||||
listbox:
|
||||
|
||||
*Select *ispell* to select the Ispell template. The Ispell dictionary template supports morphological dictionaries, which can normalize many different linguistic forms of a word into the same lexeme. For example, an English Ispell dictionary can match all declensions and conjugations of the search term bank, e.g., banking, banked, banks, banks', and bank's. Ispell dictionaries usually recognize a limited set of words, so they should be followed by another broader dictionary; for example, a Snowball dictionary, which recognizes everything.
|
||||
*Select *simple* to select the simple template. The simple dictionary template operates by converting the input token to lower case and checking it against a file of stop words. If it is found in the file then an empty array is returned, causing the token to be discarded. If not, the lower-cased form of the word is returned as the normalized lexeme. Alternatively, the dictionary can be configured to report non-stop-words as unrecognized, allowing them to be passed on to the next dictionary in the list.
|
||||
*Select *snowball* to select the Snowball template. The Snowball dictionary template is based on a project by Martin Porter, inventor of the popular Porter's stemming algorithm for the English language. Snowball now provides stemming algorithms for many languages (see the Snowball site for more information). Each algorithm understands how to reduce common variant forms of words to a base, or stem, spelling within its language. A Snowball dictionary recognizes everything, whether or not it is able to simplify the word, so it should be placed at the end of the dictionary list. It is useless to have it before any other dictionary because a token will never pass through it to the next dictionary.
|
||||
*Select *synonym* to select the synonym template. This dictionary template is used to create dictionaries that replace a word with a synonym. Phrases are not supported (use the thesaurus template (Section 12.6.4) for that). A synonym dictionary can be used to overcome linguistic problems, for example, to prevent an English stemmer dictionary from reducing the word Paris to pari.
|
||||
*Select *thesaurus* to select the thesaurus template. A thesaurus dictionary replaces all non-preferred terms by one preferred term and, optionally, preserves the original terms for indexing as well. PostgreSQL's current implementation of the thesaurus dictionary is an extension of the synonym dictionary with added phrase support.
|
||||
* Select *ispell* to select the Ispell template. The Ispell dictionary template
|
||||
supports morphological dictionaries, which can normalize many different
|
||||
linguistic forms of a word into the same lexeme. For example, an English
|
||||
Ispell dictionary can match all declensions and conjugations of the search
|
||||
term bank, e.g., banking, banked, banks, banks', and bank's. Ispell
|
||||
dictionaries usually recognize a limited set of words, so they should be
|
||||
followed by another broader dictionary; for example, a Snowball dictionary,
|
||||
which recognizes everything.
|
||||
* Select *simple* to select the simple template. The simple dictionary template
|
||||
operates by converting the input token to lower case and checking it against
|
||||
a file of stop words. If it is found in the file then an empty array is
|
||||
returned, causing the token to be discarded. If not, the lower-cased form of
|
||||
the word is returned as the normalized lexeme. Alternatively, the dictionary
|
||||
can be configured to report non-stop-words as unrecognized, allowing them to
|
||||
be passed on to the next dictionary in the list.
|
||||
* Select *snowball* to select the Snowball template. The Snowball dictionary
|
||||
template is based on a project by Martin Porter, inventor of the popular
|
||||
Porter's stemming algorithm for the English language. Snowball now provides
|
||||
stemming algorithms for many languages (see the Snowball site for more
|
||||
information). Each algorithm understands how to reduce common variant forms of
|
||||
words to a base, or stem, spelling within its language. A Snowball dictionary
|
||||
recognizes everything, whether or not it is able to simplify the word, so it
|
||||
should be placed at the end of the dictionary list. It is useless to have it
|
||||
before any other dictionary because a token will never pass through it to the
|
||||
next dictionary.
|
||||
* Select *synonym* to select the synonym template. This dictionary template is
|
||||
used to create dictionaries that replace a word with a synonym. Phrases are not
|
||||
supported (use the thesaurus template (Section 12.6.4) for that). A synonym
|
||||
dictionary can be used to overcome linguistic problems, for example, to prevent
|
||||
an English stemmer dictionary from reducing the word Paris to pari.
|
||||
* Select *thesaurus* to select the thesaurus template. A thesaurus dictionary
|
||||
replaces all non-preferred terms by one preferred term and, optionally,
|
||||
preserves the original terms for indexing as well. PostgreSQL's current
|
||||
implementation of the thesaurus dictionary is an extension of the synonym
|
||||
dictionary with added phrase support.
|
||||
|
||||
Click the *Options* tab to continue.
|
||||
|
||||
.. image:: images/fts_dictionary_options.png
|
||||
:alt: FTS dictionary dialog options tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Options* tab to provide template-specific options. Click the *Add* icon (+) to add an option clause:
|
||||
Use the fields in the *Options* tab to provide template-specific options. Click
|
||||
the *Add* icon (+) to add an option clause:
|
||||
|
||||
* Specify the name of an option in the *Option* field
|
||||
* Provide a value for the option in the *Value* field.
|
||||
|
||||
Click the *Add* icon (+) to specify each additional option/value pair; to discard an option, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
|
||||
Click the *Add* icon (+) to specify each additional option/value pair; to
|
||||
discard an option, click the trash icon to the left of the row and confirm
|
||||
deletion in the *Delete Row* popup.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *FTS Dictionary* dialog generate a generate a SQL command. Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
|
||||
Your entries in the *FTS Dictionary* dialog generate a generate a SQL command.
|
||||
Use the *SQL* tab for review; revisit or switch tabs to make any changes to the
|
||||
SQL command.
|
||||
|
||||
**Example**
|
||||
Example
|
||||
*******
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *FTS Dictionary* dialog:
|
||||
The following is an example of the sql command generated by user selections in
|
||||
the *FTS Dictionary* dialog:
|
||||
|
||||
.. image:: images/fts_dictionary_sql.png
|
||||
:alt: FTS dictionary dialog sql tab
|
||||
:align: center
|
||||
|
||||
The example shown demonstrates creating a custom dictionary named *more_stopwords* which is based on the simple template and is configured to use standard English.
|
||||
The example shown demonstrates creating a custom dictionary named
|
||||
*more_stopwords* which is based on the simple template and is configured to use standard English.
|
||||
|
||||
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
|
||||
* 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.
|
||||
|
|
|
@ -4,40 +4,59 @@
|
|||
`FTS Parser Dialog`:index:
|
||||
**************************
|
||||
|
||||
Use the *FTS Parser* dialog to create a new text search parser. A text search parser defines a method for splitting a text string into tokens and assigning types (categories) to the tokens.
|
||||
Use the *FTS Parser* dialog to create a new text search parser. A text search
|
||||
parser defines a method for splitting a text string into tokens and assigning
|
||||
types (categories) to the tokens.
|
||||
|
||||
The *FTS Parser* dialog organizes the development of a text search parser through the following dialog tabs: *General*, and *Definition*. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *FTS Parser* dialog organizes the development of a text search parser
|
||||
through the following dialog tabs: *General*, and *Definition*. The *SQL* tab
|
||||
displays the SQL code generated by dialog selections.
|
||||
|
||||
.. image:: images/fts_parser_general.png
|
||||
:alt: FTS parser dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to identify a text search parser:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the parser. The name will be displayed in the *pgAdmin* tree control.
|
||||
* Select the name of the schema in which the parser will reside from the drop-down listbox in the *Schema* field.
|
||||
* Use the *Name* field to add a descriptive name for the parser. The name will
|
||||
be displayed in the *pgAdmin* tree control.
|
||||
* Select the name of the schema in which the parser will reside from the
|
||||
drop-down listbox in the *Schema* field.
|
||||
* Store notes about the domain in the *Comment* field.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/fts_parser_definition.png
|
||||
:alt: FTS parser dialog definition tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Definition* tab to define parameters:
|
||||
|
||||
* Use the drop-down listbox next to *Start function* to select the name of the function that will initialize the parser.
|
||||
* Use the drop-down listbox next to *Get next token function* to select the name of the function that will return the next token.
|
||||
* Use the drop-down listbox next to *End function* to select the name of the function that is called when the parser is finished.
|
||||
* Use the drop-down listbox next to *Lextypes function* to select the name of the lextypes function for the parser. The lextypes function returns an array that contains the id, alias, and a description of the tokens used by the parser.
|
||||
* Use the drop-down listbox next to *Headline function* to select the name of the headline function for the parser. The headline function returns an excerpt from the document in which the terms of the query are highlighted.
|
||||
* Use the drop-down listbox next to *Start function* to select the name of the
|
||||
function that will initialize the parser.
|
||||
* Use the drop-down listbox next to *Get next token function* to select the
|
||||
name of the function that will return the next token.
|
||||
* Use the drop-down listbox next to *End function* to select the name of the
|
||||
function that is called when the parser is finished.
|
||||
* Use the drop-down listbox next to *Lextypes function* to select the name of
|
||||
the lextypes function for the parser. The lextypes function returns an array
|
||||
that contains the id, alias, and a description of the tokens used by the
|
||||
parser.
|
||||
* Use the drop-down listbox next to *Headline function* to select the name of
|
||||
the headline function for the parser. The headline function returns an excerpt
|
||||
from the document in which the terms of the query are highlighted.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
.. image:: images/fts_parser_sql.png
|
||||
:alt: FTS parser dialog sql tab
|
||||
:align: center
|
||||
|
||||
Your entries in the *FTS Parser* dialog generate a generate a SQL command. Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
|
||||
Your entries in the *FTS Parser* dialog generate a generate a SQL command. Use
|
||||
the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL
|
||||
command.
|
||||
|
||||
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
|
||||
* 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.
|
||||
|
|
|
@ -4,43 +4,58 @@
|
|||
`FTS Template Dialog`:index:
|
||||
****************************
|
||||
|
||||
Use the *FTS Template* dialog to create a new text search template. A text search template defines the functions that implement text search dictionaries.
|
||||
Use the *FTS Template* dialog to create a new text search template. A text
|
||||
search template defines the functions that implement text search dictionaries.
|
||||
|
||||
The *FTS Template* dialog organizes the development of a text search Template through the following dialog tabs: *General*, and *Definition*. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *FTS Template* dialog organizes the development of a text search Template
|
||||
through the following dialog tabs: *General*, and *Definition*. The *SQL* tab
|
||||
displays the SQL code generated by dialog selections.
|
||||
|
||||
.. image:: images/fts_template_general.png
|
||||
:alt: FTS template dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to identify a template:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the template. The name will be displayed in the *pgAdmin* tree control.
|
||||
* Select the name of the schema in which the template will reside from the drop-down listbox in the *Schema* field.
|
||||
* Use the *Name* field to add a descriptive name for the template. The name will
|
||||
be displayed in the *pgAdmin* tree control.
|
||||
* Select the name of the schema in which the template will reside from the
|
||||
drop-down listbox in the *Schema* field.
|
||||
* Store notes about the template in the *Comment* field.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/fts_template_definition.png
|
||||
:alt: FTS template dialog definition tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Definition* tab to define function parameters:
|
||||
|
||||
* Use the drop-down listbox next to *Init function* to select the name of the init function for the template. The init function is optional.
|
||||
* Use the drop-down listbox next to *Lexize function* to select the name of the lexize function for the template. The lexize function is required.
|
||||
* Use the drop-down listbox next to *Init function* to select the name of the
|
||||
init function for the template. The init function is optional.
|
||||
* Use the drop-down listbox next to *Lexize function* to select the name of the
|
||||
lexize function for the template. The lexize function is required.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *FTS Template* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
|
||||
Your entries in the *FTS Template* dialog generate a SQL command (see an example
|
||||
below). Use the *SQL* tab for review; revisit or switch tabs to make any changes
|
||||
to the SQL command.
|
||||
|
||||
**Example**
|
||||
Example
|
||||
*******
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *FTS Template* dialog:
|
||||
The following is an example of the sql command generated by user selections in
|
||||
the *FTS Template* dialog:
|
||||
|
||||
.. image:: images/fts_template_sql.png
|
||||
:alt: FTS template dialog sql tab
|
||||
:align: center
|
||||
|
||||
The example shown demonstrates creating a fts template named *ru_template* that uses the ispell dictionary.
|
||||
The example shown demonstrates creating a fts template named *ru_template* that
|
||||
uses the ispell dictionary.
|
||||
|
||||
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
|
||||
* 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.
|
||||
|
|
|
@ -4,115 +4,182 @@
|
|||
`Function Dialog`:index:
|
||||
************************
|
||||
|
||||
Use the *Function* dialog to define a function. If you drop and then recreate a function, the new function is not the same entity as the old; you must drop existing rules, views, triggers, etc. that refer to the old function.
|
||||
Use the *Function* dialog to define a function. If you drop and then recreate
|
||||
a function, the new function is not the same entity as the old; you must drop
|
||||
existing rules, views, triggers, etc. that refer to the old function.
|
||||
|
||||
The *Function* dialog organizes the development of a function through the following dialog tabs: *General*, *Definition*, *Options*, *Arguments*, *Parameters*, and *Security*. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *Function* dialog organizes the development of a function through the
|
||||
following dialog tabs: *General*, *Definition*, *Options*, *Arguments*,
|
||||
*Parameters*, and *Security*. The *SQL* tab displays the SQL code generated by
|
||||
dialog selections.
|
||||
|
||||
.. image:: images/function_general.png
|
||||
:alt: Function dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to identify a function:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the function. The name will be displayed in the *pgAdmin* tree control.
|
||||
* Use the drop-down listbox next to *Owner* to select the name of the role that will own the function.
|
||||
* Use the drop-down listbox next to *Schema* to select the schema in which the function will be created.
|
||||
* Use the *Name* field to add a descriptive name for the function. The name will
|
||||
be displayed in the *pgAdmin* tree control.
|
||||
* Use the drop-down listbox next to *Owner* to select the name of the role that
|
||||
will own the function.
|
||||
* Use the drop-down listbox next to *Schema* to select the schema in which the
|
||||
function will be created.
|
||||
* Store notes about the function in the *Comment* field.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/function_definition.png
|
||||
:alt: Function dialog definition tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Definition* tab to define the function:
|
||||
|
||||
* Use the drop-down listbox next to *Return type* to select the data type returned by the function, if any.
|
||||
* Use the drop-down listbox next to *Language* to select the implementation language. The default is *sql*.
|
||||
* Use the *Code* field to write the code that will execute when the function is called.
|
||||
* Use the drop-down listbox next to *Return type* to select the data type
|
||||
returned by the function, if any.
|
||||
* Use the drop-down listbox next to *Language* to select the implementation
|
||||
language. The default is *sql*.
|
||||
* Use the *Code* field to write the code that will execute when the function
|
||||
is called.
|
||||
|
||||
Click the *Options* tab to continue.
|
||||
|
||||
.. image:: images/function_options.png
|
||||
:alt: Function dialog options tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Options* tab to describe or modify the action of the function:
|
||||
Use the fields in the *Options* tab to describe or modify the action of the
|
||||
function:
|
||||
|
||||
* Use the drop-down listbox next to *Volatility* to select one of the following. *VOLATILE* is the default value.
|
||||
* Use the drop-down listbox next to *Volatility* to select one of the following.
|
||||
*VOLATILE* is the default value.
|
||||
|
||||
* *VOLATILE* indicates that the function value can change even within a single table scan, so no optimizations can be made.
|
||||
* *STABLE* indicates that the function cannot modify the database, and that within a single table scan it will consistently return the same result for the same argument values.
|
||||
* *IMMUTABLE* indicates that the function cannot modify the database and always returns the same result when given the same argument values.
|
||||
* *VOLATILE* indicates that the function value can change even within a
|
||||
single table scan, so no optimizations can be made.
|
||||
* *STABLE* indicates that the function cannot modify the database, and that
|
||||
within a single table scan it will consistently return the same result for
|
||||
the same argument values.
|
||||
* *IMMUTABLE* indicates that the function cannot modify the database and
|
||||
always returns the same result when given the same argument values.
|
||||
|
||||
* Move the *Returns a Set?* switch to indicate if the function returns a set that includes multiple rows. The default is *No*.
|
||||
* Move the *Strict?* switch to indicate if the function always returns NULL whenever any of its arguments are NULL. If *Yes*, the function is not executed when there are NULL arguments; instead a NULL result is assumed automatically. The default is *No*.
|
||||
* Move the *Security of definer?* switch to specify that the function is to be executed with the privileges of the user that created it. The default is *No*.
|
||||
* Move the *Window?* switch to indicate that the function is a window function rather than a plain function. The default is *No*. This is currently only useful for functions written in C. The WINDOW attribute cannot be changed when replacing an existing function definition. For more information about the CREATE FUNCTION command, see the PostgreSQL core documentation available at:
|
||||
* Move the *Returns a Set?* switch to indicate if the function returns a set
|
||||
that includes multiple rows. The default is *No*.
|
||||
* Move the *Strict?* switch to indicate if the function always returns NULL
|
||||
whenever any of its arguments are NULL. If *Yes*, the function is not executed
|
||||
when there are NULL arguments; instead a NULL result is assumed
|
||||
automatically. The default is *No*.
|
||||
* Move the *Security of definer?* switch to specify that the function is to be
|
||||
executed with the privileges of the user that created it. The default is *No*.
|
||||
* Move the *Window?* switch to indicate that the function is a window function
|
||||
rather than a plain function. The default is *No*. This is currently only
|
||||
useful for functions written in C. The WINDOW attribute cannot be changed when
|
||||
replacing an existing function definition. For more information about the
|
||||
CREATE FUNCTION command, see the PostgreSQL core documentation available at:
|
||||
|
||||
http://www.postgresql.org/docs/9.5/static/functions-window.html
|
||||
http://www.postgresql.org/docs/current/static/functions-window.html
|
||||
|
||||
* Use the *Estimated cost* field to specify a positive number representing the estimated execution cost for the function, in units of cpu_operator_cost. If the function returns a set, this is the cost per returned row.
|
||||
* Use the *Estimated rows* field to specify a positive number giving the estimated number of rows that the query planner should expect the function to return. This is only allowed when the function is declared to return a set. The default assumption is 1000 rows.
|
||||
* Move the *Leak proof?* switch to indicate whether the function has side effects. The default is *No*. This option can only be set by the superuser.
|
||||
* Use the *Estimated cost* field to specify a positive number representing the
|
||||
estimated execution cost for the function, in units of cpu_operator_cost. If
|
||||
the function returns a set, this is the cost per returned row.
|
||||
* Use the *Estimated rows* field to specify a positive number giving the
|
||||
estimated number of rows that the query planner should expect the function to
|
||||
return. This is only allowed when the function is declared to return a set.
|
||||
The default assumption is 1000 rows.
|
||||
* Move the *Leak proof?* switch to indicate whether the function has side
|
||||
effects. The default is *No*. This option can only be set by the superuser.
|
||||
|
||||
Click the *Arguments* tab to continue.
|
||||
|
||||
.. image:: images/function_arguments.png
|
||||
:alt: Function dialog arguments tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Arguments* tab to define an argument. Click the *Add* icon (+) to set parameters and values for the argument:
|
||||
Use the fields in the *Arguments* tab to define an argument. Click the *Add*
|
||||
icon (+) to set parameters and values for the argument:
|
||||
|
||||
* Use the drop-down listbox in the *Data type* field to select a data type.
|
||||
* Use the drop-down listbox in the *Mode* field to select a mode. Select *IN* for an input parameter; select *OUT* for an output parameter; select *INOUT* for both an input and an output parameter; or, select *VARIADIC* to specify a VARIADIC parameter.
|
||||
* Use the drop-down listbox in the *Mode* field to select a mode. Select *IN*
|
||||
for an input parameter; select *OUT* for an output parameter; select *INOUT*
|
||||
for both an input and an output parameter; or, select *VARIADIC* to specify a
|
||||
VARIADIC parameter.
|
||||
* Provide a name for the argument in the *Argument Name* field.
|
||||
* Specify a default value for the argument in the *Default Value* field.
|
||||
|
||||
Click the *Add* icon (+) to define another argument; to discard an argument, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
|
||||
Click the *Add* icon (+) to define another argument; to discard an argument,
|
||||
click the trash icon to the left of the row and confirm deletion in the *Delete
|
||||
Row* popup.
|
||||
|
||||
Click the *Parameters* tab to continue.
|
||||
|
||||
.. image:: images/function_parameters.png
|
||||
:alt: Function dialog parameters tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Parameters* tab to specify settings that will be applied when the function is invoked. Click the *Add* icon (+) to add a *Name*/*Value* field in the table.
|
||||
Use the fields in the *Parameters* tab to specify settings that will be applied
|
||||
when the function is invoked. Click the *Add* icon (+) to add a *Name*/*Value*
|
||||
field in the table.
|
||||
|
||||
* Use the drop-down listbox in the *Name* column in the *Parameters* panel to select a parameter.
|
||||
* Use the *Value* field to specify the value that will be associated with the selected variable. This field is context-sensitive.
|
||||
* Use the drop-down listbox in the *Name* column in the *Parameters* panel to
|
||||
select a parameter.
|
||||
* Use the *Value* field to specify the value that will be associated with the
|
||||
selected variable. This field is context-sensitive.
|
||||
|
||||
Click the *Security* tab to continue.
|
||||
|
||||
.. image:: images/function_security.png
|
||||
:alt: Function dialog security tab
|
||||
:align: center
|
||||
|
||||
Use the *Security* tab to assign privileges and define security labels.
|
||||
|
||||
Use the *Privileges* panel to assign usage privileges for the function to a role.
|
||||
Use the *Privileges* panel to assign usage privileges for the function to a
|
||||
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.
|
||||
* 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.
|
||||
|
||||
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 the *Delete Row* popup.
|
||||
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
|
||||
the *Delete Row* popup.
|
||||
|
||||
Use the *Security Labels* panel to define security labels applied to the function. Click the *Add* icon (+) to add each security label selection:
|
||||
Use the *Security Labels* panel to define security labels applied to the
|
||||
function. Click the *Add* icon (+) to add each security label selection:
|
||||
|
||||
* Specify a security label provider in the *Provider* field. The named provider must be loaded and must consent to the proposed labeling operation.
|
||||
* Specify a a security label in the *Security Label* field. The meaning of a given label is at the discretion of the label provider. PostgreSQL places no restrictions on whether or how a label provider must interpret security labels; it merely provides a mechanism for storing them.
|
||||
* Specify a security label provider in the *Provider* field. The named provider
|
||||
must be loaded and must consent to the proposed labeling operation.
|
||||
* Specify a a security label in the *Security Label* field. The meaning of a
|
||||
given label is at the discretion of the label provider. PostgreSQL places no
|
||||
restrictions on whether or how a label provider must interpret security
|
||||
labels; it merely provides a mechanism for storing them.
|
||||
|
||||
Click the *Add* icon (+) to assign additional security labels; to discard a security label, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
|
||||
Click the *Add* icon (+) to assign additional security labels; to discard a
|
||||
security label, click the trash icon to the left of the row and confirm deletion
|
||||
in the *Delete Row* popup.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *Function* dialog generate a generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
|
||||
Your entries in the *Function* dialog generate a generate a SQL command (see an
|
||||
example below). Use the *SQL* tab for review; revisit or switch tabs to make any
|
||||
changes to the SQL command.
|
||||
|
||||
**Example**
|
||||
Example
|
||||
*******
|
||||
|
||||
The following is an example of the sql command generated by selections made in the *Function* dialog:
|
||||
The following is an example of the sql command generated by selections made in
|
||||
the *Function* dialog:
|
||||
|
||||
.. image:: images/function_sql.png
|
||||
:alt: Function dialog sql tab
|
||||
:align: center
|
||||
|
||||
The example demonstrates creating an *edbspl* function named *emp_comp*. The function adds two columns (p_sal and p_comm), and then uses the result to compute a yearly salary, returning a NUMERIC value.
|
||||
The example demonstrates creating an *edbspl* function named *emp_comp*. The
|
||||
function adds two columns (p_sal and p_comm), and then uses the result to
|
||||
compute a yearly salary, returning a NUMERIC value.
|
||||
|
||||
* Click the *Info* button (i) to access online help.View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
|
||||
* 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.
|
||||
|
|
|
@ -28,8 +28,6 @@ how pgAdmin works.
|
|||
It is also possible to use a *Container Deployment* of pgAdmin, in which Server
|
||||
Mode is pre-configured for security.
|
||||
|
||||
Contents:
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
|
@ -66,8 +64,6 @@ display. To open the *Preferences* dialog, select *Preferences* from the *File*
|
|||
for the dialog. You can access additional Postgres help by navigating through
|
||||
the *Help* menu, and selecting the name of the resource that you wish to open.
|
||||
|
||||
Contents:
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
|
|
|
@ -4,51 +4,89 @@
|
|||
`Grant Wizard`:index:
|
||||
*********************
|
||||
|
||||
The *Grant Wizard* tool is a graphical interface that allows you to manage the privileges of one or more database objects in a point-and-click environment. A search box, dropdown lists, and checkboxes facilitate quick selections of database objects, roles and privileges.
|
||||
The *Grant Wizard* tool is a graphical interface that allows you to manage the
|
||||
privileges of one or more database objects in a point-and-click environment. A
|
||||
search box, dropdown lists, and checkboxes facilitate quick selections of
|
||||
database objects, roles and privileges.
|
||||
|
||||
The wizard organizes privilege management through a sequence of windows: *Object Selection (step 1 of 3)*, *Privileges Selection (step 2 of 3)* and *Final (Review Selection) (step 3 of 3)*. The *Final (Review Selection)* window displays the SQL code generated by wizard selections.
|
||||
The wizard organizes privilege management through a sequence of windows:
|
||||
*Object Selection (step 1 of 3)*, *Privileges Selection (step 2 of 3)* and
|
||||
*Final (Review Selection) (step 3 of 3)*. The *Final (Review Selection)* window
|
||||
displays the SQL code generated by wizard selections.
|
||||
|
||||
To launch the *Grant Wizard* tool, select a database object in the *pgAdmin* tree control, then navigate through *Tools* on the menu bar to click on the *Grant Wizard* option.
|
||||
To launch the *Grant Wizard* tool, select a database object in the *pgAdmin*
|
||||
tree control, then navigate through *Tools* on the menu bar to click on the
|
||||
*Grant Wizard* option.
|
||||
|
||||
.. image:: images/grant_wizard_step1.png
|
||||
:alt: Grant wizard step one page
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Object Selection (step 1 of 3)* window to select the object or objects on which you are modifying privileges. Use the *Search by object type or name* field to locate a database object, or use the scrollbar to scroll through the list of all accessible objects.
|
||||
Use the fields in the *Object Selection (step 1 of 3)* window to select the
|
||||
object or objects on which you are modifying privileges. Use the *Search by
|
||||
object type or name* field to locate a database object, or use the scrollbar
|
||||
to scroll through the list of all accessible objects.
|
||||
|
||||
* Each row in the table lists object identifiers; check the checkbox in the left column to include an object as a target of the Grant Wizard. The table displays:
|
||||
* Each row in the table lists object identifiers; check the checkbox in the left
|
||||
column to include an object as a target of the Grant Wizard. The table
|
||||
displays:
|
||||
|
||||
* The object type in the *Object Type* field
|
||||
* The schema in which the object resides in the *Schema* field
|
||||
* The object name in the *Name* field.
|
||||
|
||||
Click the *Next* button to continue, or the *Cancel* button to close the wizard without modifying privileges.
|
||||
Click the *Next* button to continue, or the *Cancel* button to close the wizard
|
||||
without modifying privileges.
|
||||
|
||||
.. image:: images/grant_wizard_step2.png
|
||||
:alt: Grant wizard step two page
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Privileges Selection (step 2 of 3)* window to grant privileges. If you grant a privilege WITH GRANT OPTION, the Grantee will have the right to grant privileges on the object to others. If WITH GRANT OPTION is subsequently revoked, any role who received access to that object from that Grantee (directly or through a chain of grants) will lose thier privileges on the object.
|
||||
Use the fields in the *Privileges Selection (step 2 of 3)* window to grant
|
||||
privileges. If you grant a privilege WITH GRANT OPTION, the Grantee will have
|
||||
the right to grant privileges on the object to others. If WITH GRANT OPTION is
|
||||
subsequently revoked, any role who received access to that object from that
|
||||
Grantee (directly or through a chain of grants) will lose thier privileges on
|
||||
the object.
|
||||
|
||||
* 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.
|
||||
* 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. 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.
|
||||
* 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.
|
||||
* 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. 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.
|
||||
* 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.
|
||||
|
||||
For more information about granting privileges on database objects, see the `PostgreSQL core documentation <http://www.postgresql.org/docs/9.5/static/sql-grant.html>`_.
|
||||
For more information about granting privileges on database objects, see the
|
||||
`PostgreSQL core documentation <http://www.postgresql.org/docs/current/static/sql-grant.html>`_.
|
||||
|
||||
Click the *Next* button to continue, the *Back* button to select or deselect additional database objects, or the *Cancel* button to close the wizard without modifying privileges.
|
||||
Click the *Next* button to continue, the *Back* button to select or deselect
|
||||
additional database objects, or the *Cancel* button to close the wizard without
|
||||
modifying privileges.
|
||||
|
||||
Your entries in the *Grant Wizard* tool generate a SQL command; you can review the command in the *Final (Review Selection) (step 3 of 3)* window (see an example below).
|
||||
Your entries in the *Grant Wizard* tool generate a SQL command; you can review
|
||||
the command in the *Final (Review Selection) (step 3 of 3)* window (see an
|
||||
example below).
|
||||
|
||||
**Example**
|
||||
Example
|
||||
*******
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Grant Wizard* tool:
|
||||
The following is an example of the sql command generated by user selections in
|
||||
the *Grant Wizard* tool:
|
||||
|
||||
.. image:: images/grant_wizard_step3.png
|
||||
:alt: Grant wizard step three page
|
||||
:align: center
|
||||
|
||||
The commands displayed assign a role named *Bob* *INSERT* and *UPDATE* privileges *WITH GRANT OPTION* on the *sales_meetings* and the *sales_territories* tables.
|
||||
The commands displayed assign a role named *Bob* *INSERT* and *UPDATE*
|
||||
privileges *WITH GRANT OPTION* on the *sales_meetings* and the
|
||||
*sales_territories* tables.
|
||||
|
||||
* Click the *Back* button to select or deselect additional database objects, roles and privileges.
|
||||
* 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.
|
|
@ -1,61 +1,96 @@
|
|||
.. _import_export_data:
|
||||
|
||||
**********************************
|
||||
`Import/Export data Dialog`:index:
|
||||
`Import/Export Data Dialog`:index:
|
||||
**********************************
|
||||
|
||||
Use the *Import/Export data* dialog to copy data from a table to a file, or copy data from a file into a table.
|
||||
Use the *Import/Export data* dialog to copy data from a table to a file, or copy
|
||||
data from a file into a table.
|
||||
|
||||
The *Import/Export data* dialog organizes the import/export of data through the *Options* and *Columns* tabs.
|
||||
The *Import/Export data* dialog organizes the import/export of data through the
|
||||
*Options* and *Columns* tabs.
|
||||
|
||||
.. image:: images/import_export_options.png
|
||||
:alt: Import Export data dialog options tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Options* tab to specify import and export preferences:
|
||||
|
||||
* Move the *Import/Export* switch to the *Import* position to specify that the server should import data to a table from a file. The default is *Export*.
|
||||
* Move the *Import/Export* switch to the *Import* position to specify that the
|
||||
server should import data to a table from a file. The default is *Export*.
|
||||
|
||||
* Use the fields in the *File Info* field box to specify information about the source or target file:
|
||||
* Use the fields in the *File Info* field box to specify information about the
|
||||
source or target file:
|
||||
|
||||
* Enter the name of the source or target file in the *Filename* field. Optionally, select the *Browser* icon (ellipsis) to the right to navigate into a directory and select a file.
|
||||
* Use the drop-down listbox in the *Format* field to specify the file type. Select:
|
||||
* Enter the name of the source or target file in the *Filename* field.
|
||||
Optionally, select the *Browser* icon (ellipsis) to the right to navigate
|
||||
into a directory and select a file.
|
||||
* Use the drop-down listbox in the *Format* field to specify the file type.
|
||||
Select:
|
||||
|
||||
* *binary* for a .bin file.
|
||||
* *csv* for a .csv file.
|
||||
* *text* for a .txt file.
|
||||
|
||||
* Use the drop-down listbox in the *Encoding* field to specify the type of character encoding.
|
||||
* Use the drop-down listbox in the *Encoding* field to specify the type of
|
||||
character encoding.
|
||||
|
||||
.. image:: images/import_export_miscellaneous.png
|
||||
:alt: Import Export data dialog miscellaneous tab
|
||||
:align: center
|
||||
|
||||
* Use the fields in the *Miscellaneous* field box to specify additional information:
|
||||
* Use the fields in the *Miscellaneous* field box to specify additional
|
||||
information:
|
||||
|
||||
* Move the *OID* switch to the *Yes* position to include the *OID* column. The *OID* is a system-assigned value that may not be modified. The default is *No*.
|
||||
* Move the *Header* switch to the *Yes* position to include the table header with the data rows. If you include the table header, the first row of the file will contain the column names.
|
||||
* If you are exporting data, specify the delimiter that will separate the columns within the target file in the *Delimiter* field. The separating character can be a colon, semicolon, a vertical bar, or a tab.
|
||||
* Specify a quoting character used in the *Quote* field. Quoting can be applied to string columns only (i.e. numeric columns will not be quoted) or all columns regardless of data type. The character used for quoting can be a single quote or a double quote.
|
||||
* Specify a character that should appear before a data character that matches the *QUOTE* value in the *Escape* field.
|
||||
* Move the *OID* switch to the *Yes* position to include the *OID* column.
|
||||
The *OID* is a system-assigned value that may not be modified. The default
|
||||
is *No*.
|
||||
* Move the *Header* switch to the *Yes* position to include the table header
|
||||
with the data rows. If you include the table header, the first row of the
|
||||
file will contain the column names.
|
||||
* If you are exporting data, specify the delimiter that will separate the
|
||||
columns within the target file in the *Delimiter* field. The separating
|
||||
character can be a colon, semicolon, a vertical bar, or a tab.
|
||||
* Specify a quoting character used in the *Quote* field. Quoting can be
|
||||
applied to string columns only (i.e. numeric columns will not be quoted)
|
||||
or all columns regardless of data type. The character used for quoting can
|
||||
be a single quote or a double quote.
|
||||
* Specify a character that should appear before a data character that matches
|
||||
the *QUOTE* value in the *Escape* field.
|
||||
|
||||
Click the *Columns* tab to continue.
|
||||
|
||||
.. image:: images/import_export_columns.png
|
||||
:alt: Import Export data dialog columns tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Columns* tab to select the columns that will be imported or exported:
|
||||
Use the fields in the *Columns* tab to select the columns that will be imported
|
||||
or exported:
|
||||
|
||||
* Click inside the *Columns to export/import* field to deselect one or more columns from the drop-down listbox. To delete a selection, click the *x* to the left of the column name. Click an empty spot inside the field to access the drop-down list.
|
||||
* Use the *NULL Strings* field to specify a string that will represent a null value within the source or target file.
|
||||
* If enabled, click inside the *Not null columns* field to select one or more columns that will not be checked for a NULL value. To delete a column, click the *x* to the left of the column name.
|
||||
* Click inside the *Columns to export/import* field to deselect one or more
|
||||
columns from the drop-down listbox. To delete a selection, click the *x* to
|
||||
the left of the column name. Click an empty spot inside the field to access
|
||||
the drop-down list.
|
||||
* Use the *NULL Strings* field to specify a string that will represent a null
|
||||
value within the source or target file.
|
||||
* If enabled, click inside the *Not null columns* field to select one or more
|
||||
columns that will not be checked for a NULL value. To delete a column, click
|
||||
the *x* to the left of the column name.
|
||||
|
||||
After completing the *Import/Export data* dialog, click the *OK* button to perform the import or export. pgAdmin will inform you when the background process completes:
|
||||
After completing the *Import/Export data* dialog, click the *OK* button to
|
||||
perform the import or export. pgAdmin will inform you when the background
|
||||
process completes:
|
||||
|
||||
.. image:: images/import_export_complete.png
|
||||
:alt: Import Export data completion notification
|
||||
:align: center
|
||||
|
||||
Use the **Stop Process** button to stop the Import/Export process.
|
||||
|
||||
Use the *Click here for details* link on the notification to open the *Process Watcher* and review detailed information about the execution of the command that performed the import or export:
|
||||
Use the *Click here for details* link on the notification to open the *Process
|
||||
Watcher* and review detailed information about the execution of the command
|
||||
that performed the import or export:
|
||||
|
||||
.. image:: images/import_export_pw.png
|
||||
:alt: Import Export data process watcher
|
||||
:align: center
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
.. _export_import_servers:
|
||||
|
||||
****************************************
|
||||
`Exporting and importing Servers`:index:
|
||||
****************************************
|
||||
******************************
|
||||
`Import/Export Servers`:index:
|
||||
******************************
|
||||
|
||||
Server definitions (and their groups) can be exported to a JSON file and
|
||||
re-imported to the same or a different system to enable easy pre-configuration
|
||||
|
@ -15,7 +15,8 @@ of pgAdmin. The ``setup.py`` script is used for this purpose.
|
|||
directory. When using platform-native packages, the system installation
|
||||
of Python may be the one used by pgAdmin.
|
||||
|
||||
**Exporting Servers**
|
||||
Exporting Servers
|
||||
*****************
|
||||
|
||||
To export the servers defined in an installation, simply invoke ``setup.py`` with
|
||||
the ``--dump-servers`` command line option, followed by the name (and if required,
|
||||
|
@ -39,7 +40,8 @@ more server IDs. For example:
|
|||
|
||||
/path/to/python /path/to/setup.py --dump-servers output_file.json --server 1 2 5
|
||||
|
||||
**Importing Servers**
|
||||
Importing Servers
|
||||
*****************
|
||||
|
||||
To import the servers defined in a JSON file, simply invoke ``setup.py`` with
|
||||
the ``--load-servers`` command line option, followed by the name (and if required,
|
||||
|
@ -59,7 +61,8 @@ line option. For example:
|
|||
If any Servers are defined with a Server Group that is not already present in
|
||||
the configuration database, the required Group will be created.
|
||||
|
||||
**JSON format**
|
||||
JSON format
|
||||
***********
|
||||
|
||||
The JSON file format used when importing or exporting servers is quite
|
||||
straightforward and simply contains a list of servers, with a number of
|
|
@ -12,8 +12,6 @@ to meet the needs of both novice and experienced Postgres users alike, providing
|
|||
a powerful graphical interface that simplifies the creation, maintenance and use
|
||||
of database objects.
|
||||
|
||||
Contents:
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
|
@ -25,10 +23,10 @@ Contents:
|
|||
management_basics
|
||||
backup_and_restore
|
||||
developer_tools
|
||||
contributions
|
||||
pgagent
|
||||
licence
|
||||
contributions
|
||||
release_notes
|
||||
licence
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -4,45 +4,72 @@
|
|||
`Index Dialog`:index:
|
||||
*********************
|
||||
|
||||
Use the *Index* dialog to create an index on a specified table or materialized view.
|
||||
Use the *Index* dialog to create an index on a specified table or materialized
|
||||
view.
|
||||
|
||||
The *Index* dialog organizes the development of a index through the following dialog tabs: *General* and *Definition*. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *Index* dialog organizes the development of a index through the following
|
||||
dialog tabs: *General* and *Definition*. The *SQL* tab displays the SQL code
|
||||
generated by dialog selections.
|
||||
|
||||
.. image:: images/index_general.png
|
||||
:alt: Index dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to identify the index:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the index. The name will be displayed in the *pgAdmin* tree control.
|
||||
* Use the drop-down listbox next to *Tablespace* to select the tablespace in which the index will reside.
|
||||
* Use the *Name* field to add a descriptive name for the index. The name will
|
||||
be displayed in the *pgAdmin* tree control.
|
||||
* Use the drop-down listbox next to *Tablespace* to select the tablespace in
|
||||
which the index will reside.
|
||||
* Store notes about the index in the *Comment* field.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/index_definition.png
|
||||
:alt: Index dialog definition tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Definition* tab to define the index:
|
||||
|
||||
* Use the drop-down listbox next to *Access Method* to select an index type:
|
||||
|
||||
* Select *btree* to create a B-tree index. A B-tree index may improve performance when managing equality and range queries on data that can be sorted into some ordering (the default).
|
||||
* Select *hash* to create a hash index. A hash index may improve performance when managing simple equality comparisons.
|
||||
* Select *gist* to create a GiST index. A GiST index may improve performance when managing values with more than one key.
|
||||
* Select *gin* to create a GIN index. A GIN index may improve performance when managing two-dimensional geometric data types and nearest-neighbor searches.
|
||||
* Select *spgist* to create a space-partitioned GiST index. A SP-GiST index may improve performance when managing non-balanced data structures.
|
||||
* Select *brin* to create a BRIN index. A BRIN index may improve performance when managing minimum and maximum values and ranges.
|
||||
* Select *btree* to create a B-tree index. A B-tree index may improve
|
||||
performance when managing equality and range queries on data that can be
|
||||
sorted into some ordering (the default).
|
||||
* Select *hash* to create a hash index. A hash index may improve
|
||||
performance when managing simple equality comparisons.
|
||||
* Select *gist* to create a GiST index. A GiST index may improve
|
||||
performance when managing values with more than one key.
|
||||
* Select *gin* to create a GIN index. A GIN index may improve performance
|
||||
when managing two-dimensional geometric data types and nearest-neighbor
|
||||
searches.
|
||||
* Select *spgist* to create a space-partitioned GiST index. A SP-GiST index
|
||||
may improve performance when managing non-balanced data structures.
|
||||
* Select *brin* to create a BRIN index. A BRIN index may improve
|
||||
performance when managing minimum and maximum values and ranges.
|
||||
|
||||
* Use the *Fill Factor* field to specify a fill factor for the index. The fill factor specifies how full the selected method will try to fill each index page.
|
||||
* Move the *Unique?* switch to the *Yes* position to check for duplicate values in the table when the index is created and when data is added. The default is *No*.
|
||||
* Move the *Clustered?* switch to the *Yes* position to instruct the server to cluster the table.
|
||||
* Move the *Concurrent build?* switch to the *Yes* position to build the index without taking any locks that prevent concurrent inserts, updates, or deletes on the table.
|
||||
* Use the *Constraint* field to provide a constraint expression; a constraint expression limits the entries in the index to those rows that satisfy the constraint.
|
||||
* Use the *Fill Factor* field to specify a fill factor for the index. The fill
|
||||
factor specifies how full the selected method will try to fill each index
|
||||
page.
|
||||
* Move the *Unique?* switch to the *Yes* position to check for duplicate values
|
||||
in the table when the index is created and when data is added. The default is
|
||||
*No*.
|
||||
* Move the *Clustered?* switch to the *Yes* position to instruct the server to
|
||||
cluster the table.
|
||||
* Move the *Concurrent build?* switch to the *Yes* position to build the index
|
||||
without taking any locks that prevent concurrent inserts, updates, or deletes
|
||||
on the table.
|
||||
* Use the *Constraint* field to provide a constraint expression; a constraint
|
||||
expression limits the entries in the index to those rows that satisfy the
|
||||
constraint.
|
||||
|
||||
Use the context-sensitive fields in the *Columns* panel to specify which column(s) the index queries. Click the *Add* icon (+) to add a column:
|
||||
Use the context-sensitive fields in the *Columns* panel to specify which
|
||||
column(s) the index queries. Click the *Add* icon (+) to add a column:
|
||||
|
||||
* Use the drop-down listbox in *Column* field to select the name of the column from the table.
|
||||
* If enabled, use the drop-down listbox to select an available *Operator class* to specify the type of action performed on the column.
|
||||
* Use the drop-down listbox in *Column* field to select the name of the column
|
||||
rom the table.
|
||||
* If enabled, use the drop-down listbox to select an available *Operator class*
|
||||
to specify the type of action performed on the column.
|
||||
* If enabled, move the *Sort order* switch to specify the sort order:
|
||||
|
||||
* Select *ASC* to specify an ascending sort order (the default);
|
||||
|
@ -53,24 +80,32 @@ Use the context-sensitive fields in the *Columns* panel to specify which column(
|
|||
* Select *First* to specify nulls sort before non-nulls;
|
||||
* Select *Last* to specify nulls sort after non-nulls (the default).
|
||||
|
||||
* Use the drop-down listbox in the *Collation* field to select a collation to use for the index.
|
||||
* Use the drop-down listbox in the *Collation* field to select a collation to
|
||||
use for the index.
|
||||
|
||||
Use *Include columns* field to specify columns for *INCLUDE* clause of the index. This option is available in Postgres 11 and later.
|
||||
Use *Include columns* field to specify columns for *INCLUDE* clause of the
|
||||
index. This option is available in Postgres 11 and later.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *Index* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
|
||||
Your entries in the *Index* dialog generate a SQL command (see an example
|
||||
below). Use the *SQL* tab for review; revisit or switch tabs to make any
|
||||
changes to the SQL command.
|
||||
|
||||
**Example**
|
||||
Example
|
||||
*******
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Index* dialog:
|
||||
The following is an example of the sql command generated by user selections in
|
||||
the *Index* dialog:
|
||||
|
||||
.. image:: images/index_sql.png
|
||||
:alt: Index dialog sql tab
|
||||
:align: center
|
||||
|
||||
The example shown demonstrates creating an index named *dist_codes* that indexes the values in the *code* column of the *distributors* table.
|
||||
The example shown demonstrates creating an index named *dist_codes* that indexes
|
||||
the values in the *code* column of the *distributors* table.
|
||||
|
||||
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
|
||||
* 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.
|
|
@ -6,197 +6,222 @@ Keyboard shortcuts are provided in pgAdmin to allow easy access to specific
|
|||
functions. Alternate shortcuts can be configured through File > Preferences if
|
||||
desired.˝
|
||||
|
||||
**Main Browser Window**
|
||||
Main Browser Window
|
||||
*******************
|
||||
|
||||
When using main browser window, the following keyboard shortcuts are available:
|
||||
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Shortcut for all platforms | Function |
|
||||
+============================+=======================================================+
|
||||
| Alt+Shift+F | Open the File menu |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Alt+Shift+O | Open the Object menu |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Alt+Shift+L | Open the Tools menu |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Alt+Shift+H | Open the Help menu |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Alt+Shift+B | Focus the browser tree |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Alt+Shift+[ | Move tabbed panel backward |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Alt+Shift+] | Move tabbed panel forward |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Alt+Shift+Q | Open the Query Tool in the current database |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Alt+Shift+V | View Data in the selected table/view |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Alt+Shift+C | Open the context menu |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Alt+Shift+N | Create an object |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Alt+Shift+E | Edit object properties |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Alt+Shift+D | Delete the object |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Alt+Shift+G | Direct debugging |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
.. table::
|
||||
:class: longtable
|
||||
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Shortcut for all platforms | Function |
|
||||
+============================+=======================================================+
|
||||
| Alt+Shift+F | Open the File menu |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Alt+Shift+O | Open the Object menu |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Alt+Shift+L | Open the Tools menu |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Alt+Shift+H | Open the Help menu |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Alt+Shift+B | Focus the browser tree |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Alt+Shift+[ | Move tabbed panel backward |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Alt+Shift+] | Move tabbed panel forward |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Alt+Shift+Q | Open the Query Tool in the current database |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Alt+Shift+V | View Data in the selected table/view |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Alt+Shift+C | Open the context menu |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Alt+Shift+N | Create an object |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Alt+Shift+E | Edit object properties |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Alt+Shift+D | Delete the object |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Alt+Shift+G | Direct debugging |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
|
||||
**Dialog tab shortcuts**
|
||||
Dialog Tabs
|
||||
***********
|
||||
|
||||
Use the shortcuts below to navigate the tabsets on dialogs:
|
||||
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Shortcut for all platforms | Function |
|
||||
+============================+=======================================================+
|
||||
| Control+Shift+[ | Dialog tab backward |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Control+Shift+] | Dialog tab forward |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
.. table::
|
||||
:class: longtable
|
||||
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Shortcut for all platforms | Function |
|
||||
+============================+=======================================================+
|
||||
| Control+Shift+[ | Dialog tab backward |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
| Control+Shift+] | Dialog tab forward |
|
||||
+----------------------------+-------------------------------------------------------+
|
||||
|
||||
**SQL Editors**
|
||||
SQL Editors
|
||||
***********
|
||||
|
||||
When using the syntax-highlighting SQL editors, the following shortcuts are available:
|
||||
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Shortcut (Windows/Linux) | Shortcut (Mac) | Function |
|
||||
+==========================+==================+=====================================+
|
||||
| Alt+Left | Option+Left | Move to the beginning of the line |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Alt+Right | Option+Right | Move to the end of the line |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Ctrl+Alt+Left | Cmd+Option+Left | Move left one word |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Ctrl+Alt+Right | Cmd+Option+Right | Move right one word |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Ctrl+/ | Cmd+/ | Comment selected code (Inline) |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Ctrl+. | Cmd+. | Uncomment selected code (Inline) |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Ctrl+Shift+/ | Cmd+Shift+/ | Comment/Uncomment code (Block) |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Ctrl+A | Cmd+A | Select all |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Ctrl+C | Cmd+C | Copy selected text to the clipboard |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Ctrl+R | Cmd+R | Redo last edit un-done |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Ctrl+V | Cmd+V | Paste text from the clipboard |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Ctrl+Z | Cmd+Z | Undo last edit |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Tab | Tab | Indent selected text |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Shift+Tab | Shift+Tab | Un-indent selected text |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Alt+G | Alt+G | Jump (to line:column) |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Ctrl+Space | Ctrl+Space | Auto-complete |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Ctrl+F | Cmd+F | Find |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Ctrl+G | Cmd+G | Find next |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Ctrl+Shift+G | Cmd+Shift+G | Find previous |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Ctrl+Shift+F | Cmd+Shift+F | Replace |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
.. table::
|
||||
:class: longtable
|
||||
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Shortcut (Windows/Linux) | Shortcut (Mac) | Function |
|
||||
+==========================+==================+=====================================+
|
||||
| Alt+Left | Option+Left | Move to the beginning of the line |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Alt+Right | Option+Right | Move to the end of the line |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Ctrl+Alt+Left | Cmd+Option+Left | Move left one word |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Ctrl+Alt+Right | Cmd+Option+Right | Move right one word |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Ctrl+/ | Cmd+/ | Comment selected code (Inline) |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Ctrl+. | Cmd+. | Uncomment selected code (Inline) |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Ctrl+Shift+/ | Cmd+Shift+/ | Comment/Uncomment code (Block) |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Ctrl+A | Cmd+A | Select all |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Ctrl+C | Cmd+C | Copy selected text to the clipboard |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Ctrl+R | Cmd+R | Redo last edit un-done |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Ctrl+V | Cmd+V | Paste text from the clipboard |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Ctrl+Z | Cmd+Z | Undo last edit |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Tab | Tab | Indent selected text |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Shift+Tab | Shift+Tab | Un-indent selected text |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Alt+G | Alt+G | Jump (to line:column) |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Ctrl+Space | Ctrl+Space | Auto-complete |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Ctrl+F | Cmd+F | Find |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Ctrl+G | Cmd+G | Find next |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Ctrl+Shift+G | Cmd+Shift+G | Find previous |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
| Ctrl+Shift+F | Cmd+Shift+F | Replace |
|
||||
+--------------------------+------------------+-------------------------------------+
|
||||
|
||||
**Query Tool**
|
||||
Query Tool
|
||||
**********
|
||||
|
||||
When using the Query Tool, the following shortcuts are available:
|
||||
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| Shortcut (Windows/Linux) | Shortcut (Mac) | Function |
|
||||
+==========================+====================+===================================+
|
||||
| F5 | F5 | Execute query |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| F7 | F7 | EXPLAIN query |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| Shift+F7 | Shift+F7 | EXPLAIN ANALYZE query |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| F8 | F8 | Execute query to CSV file |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + o | <accesskey> + o | Open file |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + s | <accesskey> + s | Save file |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + n | <accesskey> + n | Find option drop down |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + c | <accesskey> + c | Copy row(s) |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + p | <accesskey> + p | Paste row(s) |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + d | <accesskey> + d | Delete row(s) |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + f | <accesskey> + f | Filter dialog |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + i | <accesskey> + i | Filter options drop down |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + r | <accesskey> + r | Row limit |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + q | <accesskey> + q | Cancel query |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + l | <accesskey> + l | Clear option drop down |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + x | <accesskey> + x | Execute option drop down |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + t | <accesskey> + t | Display connection status |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + y | <accesskey> + y | Copy SQL on history panel |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
.. table::
|
||||
:class: longtable
|
||||
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| Shortcut (Windows/Linux) | Shortcut (Mac) | Function |
|
||||
+==========================+====================+===================================+
|
||||
| F5 | F5 | Execute query |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| F7 | F7 | EXPLAIN query |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| Shift+F7 | Shift+F7 | EXPLAIN ANALYZE query |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| F8 | F8 | Execute query to CSV file |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + o | <accesskey> + o | Open file |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + s | <accesskey> + s | Save file |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + n | <accesskey> + n | Find option drop down |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + c | <accesskey> + c | Copy row(s) |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + p | <accesskey> + p | Paste row(s) |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + d | <accesskey> + d | Delete row(s) |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + f | <accesskey> + f | Filter dialog |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + i | <accesskey> + i | Filter options drop down |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + r | <accesskey> + r | Row limit |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + q | <accesskey> + q | Cancel query |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + l | <accesskey> + l | Clear option drop down |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + x | <accesskey> + x | Execute option drop down |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + t | <accesskey> + t | Display connection status |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + y | <accesskey> + y | Copy SQL on history panel |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
|
||||
**Debugger**
|
||||
Debugger
|
||||
********
|
||||
|
||||
When using the Debugger, the following shortcuts are available:
|
||||
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| Shortcut (Windows/Linux) | Shortcut (Mac) | Function |
|
||||
+==========================+====================+===================================+
|
||||
| <accesskey> + i | <accesskey> + i | Step in |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + o | <accesskey> + o | Step over |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + c | <accesskey> + c | Continue/Restart |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + t | <accesskey> + t | Toggle breakpoint |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + x | <accesskey> + x | Clear all breakpoints |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + s | <accesskey> + s | Stop |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| Alt + Shift + q | Alt + Shift + q | Enter or Edit values in Grid |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
.. table::
|
||||
:class: longtable
|
||||
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| Shortcut (Windows/Linux) | Shortcut (Mac) | Function |
|
||||
+==========================+====================+===================================+
|
||||
| <accesskey> + i | <accesskey> + i | Step in |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + o | <accesskey> + o | Step over |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + c | <accesskey> + c | Continue/Restart |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + t | <accesskey> + t | Toggle breakpoint |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + x | <accesskey> + x | Clear all breakpoints |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| <accesskey> + s | <accesskey> + s | Stop |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
| Alt + Shift + q | Alt + Shift + q | Enter or Edit values in Grid |
|
||||
+--------------------------+--------------------+-----------------------------------+
|
||||
|
||||
**Inner panel navigation**
|
||||
Inner Panel Navigation
|
||||
**********************
|
||||
|
||||
When using the Query Tool and Debugger, the following shortcuts are available for inner panel navigation:
|
||||
When using the Query Tool and Debugger, the following shortcuts are available
|
||||
for inner panel navigation:
|
||||
|
||||
+--------------------------+---------------------------+------------------------------+
|
||||
| Shortcut (Windows/Linux) | Shortcut (Mac) | Function |
|
||||
+==========================+===========================+==============================+
|
||||
| Alt + Shift + Right Arrow| Alt + Shift + Right Arrow | Move to next inner panel |
|
||||
+--------------------------+---------------------------+------------------------------+
|
||||
| Alt + Shift + Left Arrow | Alt + Shift + Left Arrow | Move to previous inner panel |
|
||||
+--------------------------+---------------------------+------------------------------+
|
||||
.. table::
|
||||
:class: longtable
|
||||
|
||||
+--------------------------+---------------------------+------------------------------+
|
||||
| Shortcut (Windows/Linux) | Shortcut (Mac) | Function |
|
||||
+==========================+===========================+==============================+
|
||||
| Alt + Shift + Right Arrow| Alt + Shift + Right Arrow | Move to next inner panel |
|
||||
+--------------------------+---------------------------+------------------------------+
|
||||
| Alt + Shift + Left Arrow | Alt + Shift + Left Arrow | Move to previous inner panel |
|
||||
+--------------------------+---------------------------+------------------------------+
|
||||
|
||||
.. note:: <accesskey> is browser and platform dependant. The following table lists the default access keys for supported browsers.
|
||||
Access Key
|
||||
**********
|
||||
|
||||
<accesskey> is browser and platform dependant. The following table lists the
|
||||
default access keys for supported browsers.
|
||||
|
||||
+-------------------+------------+------------+------------+
|
||||
| | Windows | Linux | Mac |
|
||||
+===================+============+============+============+
|
||||
| Internet Explorer | Alt | Alt | |
|
||||
+-------------------+------------+------------+------------+
|
||||
| Chrome | Alt | Alt | Ctrl+Alt |
|
||||
+-------------------+------------+------------+------------+
|
||||
| Firefox | Alt+Shift | Alt+Shift | Ctrl+Alt |
|
||||
+-------------------+------------+------------+------------+
|
||||
| Safari | Alt | | Ctrl+Alt |
|
||||
+-------------------+------------+------------+------------+
|
||||
.. table::
|
||||
:class: longtable
|
||||
|
||||
+-------------------+------------+------------+------------+
|
||||
| | Windows | Linux | Mac |
|
||||
+===================+============+============+============+
|
||||
| Internet Explorer | Alt | Alt | |
|
||||
+-------------------+------------+------------+------------+
|
||||
| Chrome | Alt | Alt | Ctrl+Alt |
|
||||
+-------------------+------------+------------+------------+
|
||||
| Firefox | Alt+Shift | Alt+Shift | Ctrl+Alt |
|
||||
+-------------------+------------+------------+------------+
|
||||
| Safari | Alt | | Ctrl+Alt |
|
||||
+-------------------+------------+------------+------------+
|
||||
|
|
|
@ -6,10 +6,13 @@
|
|||
|
||||
Use the CREATE LANGUAGE dialog to register a new procedural language.
|
||||
|
||||
The *Language* dialog organizes the registration of a procedural language through the following dialog tabs: *General*, *Definition*, and *Security*. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *Language* dialog organizes the registration of a procedural language
|
||||
through the following dialog tabs: *General*, *Definition*, and *Security*.
|
||||
The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
|
||||
.. image:: images/language_general.png
|
||||
:alt: Language dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to identify a language:
|
||||
|
||||
|
@ -21,51 +24,75 @@ Click the *Definition* tab to continue.
|
|||
|
||||
.. image:: images/language_definition.png
|
||||
:alt: Language dialog definition tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Definition* tab to define parameters:
|
||||
|
||||
* Move the *Trusted?* switch to the *No* position to specify only users with PostgreSQL superuser privilege can use this language. The default is *Yes*.
|
||||
* When enabled, use the drop-down listbox next to *Handler Function* to select the function that will be called to execute the language's functions.
|
||||
* When enabled, use the drop-down listbox next to *Inline Function* to select the function that will be called to execute an anonymous code block (DO command) in this language.
|
||||
* When enabled, use the drop-down listbox next to *Validator Function* to select the function that will be called when a new function in the language is created, to validate the new function.
|
||||
* Move the *Trusted?* switch to the *No* position to specify only users with
|
||||
PostgreSQL superuser privilege can use this language. The default is *Yes*.
|
||||
* When enabled, use the drop-down listbox next to *Handler Function* to select
|
||||
the function that will be called to execute the language's functions.
|
||||
* When enabled, use the drop-down listbox next to *Inline Function* to select
|
||||
the function that will be called to execute an anonymous code block (DO
|
||||
command) in this language.
|
||||
* When enabled, use the drop-down listbox next to *Validator Function* to
|
||||
select the function that will be called when a new function in the language
|
||||
is created, to validate the new function.
|
||||
|
||||
Click the *Security* tab to continue.
|
||||
|
||||
.. image:: images/language_security.png
|
||||
:alt: Language dialog security tab
|
||||
:align: center
|
||||
|
||||
Use the *Security* tab to assign privileges and define security labels.
|
||||
|
||||
Use the *Privileges* panel to assign privileges to a role. Click the *Add* icon (+) to set privileges for database objects:
|
||||
Use the *Privileges* panel to assign privileges to a role. Click the *Add* icon
|
||||
(+) to set privileges for database objects:
|
||||
|
||||
* 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.
|
||||
* 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.
|
||||
|
||||
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 the *Delete Row* popup.
|
||||
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
|
||||
the *Delete Row* popup.
|
||||
|
||||
Use the *Security Labels* panel to define security labels applied to the function. Click the *Add* icon (+) to add each security label selection:
|
||||
Use the *Security Labels* panel to define security labels applied to the
|
||||
function. Click the *Add* icon (+) to add each security label selection:
|
||||
|
||||
* Specify a security label provider in the *Provider* field. The named provider must be loaded and must consent to the proposed labeling operation.
|
||||
* Specify a a security label in the *Security Label* field. The meaning of a given label is at the discretion of the label provider. PostgreSQL places no restrictions on whether or how a label provider must interpret security labels; it merely provides a mechanism for storing them.
|
||||
* Specify a security label provider in the *Provider* field. The named provider
|
||||
must be loaded and must consent to the proposed labeling operation.
|
||||
* Specify a a security label in the *Security Label* field. The meaning of a
|
||||
given label is at the discretion of the label provider. PostgreSQL places no
|
||||
restrictions on whether or how a label provider must interpret security
|
||||
labels; it merely provides a mechanism for storing them.
|
||||
|
||||
Click the *Add* icon (+) to assign additional security labels; to discard a security label, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
|
||||
Click the *Add* icon (+) to assign additional security labels; to discard a
|
||||
security label, click the trash icon to the left of the row and confirm deletion
|
||||
in the *Delete Row* popup.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *Language* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
|
||||
Your entries in the *Language* dialog generate a SQL command (see an example
|
||||
below). Use the *SQL* tab for review; revisit or switch tabs to make any changes
|
||||
to the SQL command.
|
||||
|
||||
**Example**
|
||||
Example
|
||||
*******
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Language* dialog:
|
||||
The following is an example of the sql command generated by user selections in
|
||||
the *Language* dialog:
|
||||
|
||||
.. image:: images/language_sql.png
|
||||
:alt: Language dialog sql tab
|
||||
:align: center
|
||||
|
||||
"The example shown demonstrates creating the procedural language named *plperl*."
|
||||
The example shown demonstrates creating the procedural language named *plperl*.
|
||||
|
||||
|
||||
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
|
||||
* 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.
|
||||
|
|
|
@ -9,7 +9,7 @@ pgAdmin is released under the
|
|||
liberal Open Source licence similar to BSD or MIT, and approved by the Open
|
||||
Source Initiative. The copyright for the project source code, website and
|
||||
documentation is attributed to the
|
||||
`pgAdmin Development Team <https://www.pgadmin.org/development/team.php>`_
|
||||
`pgAdmin Development Team <https://www.pgadmin.org/development/team/>`_
|
||||
|
||||
.. topic:: pgAdmin 4
|
||||
|
||||
|
|
|
@ -8,22 +8,31 @@ Use the *Login* dialog to log in to pgAdmin:
|
|||
|
||||
.. image:: images/login.png
|
||||
:alt: pgAdmin login dialog
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Login* dialog to authenticate your connection:
|
||||
|
||||
#. Provide the email address associated with your account in the *Email Address* field.
|
||||
#. Provide your password in the *Password* field.
|
||||
#. Click the *Login* button to securely log into pgAdmin.
|
||||
* Provide the email address associated with your account in the *Email Address*
|
||||
field.
|
||||
* Provide your password in the *Password* field.
|
||||
* Click the *Login* button to securely log into pgAdmin.
|
||||
|
||||
**Recovering a Lost Password**
|
||||
Recovering a Lost Password
|
||||
**************************
|
||||
|
||||
If you cannot supply your password, click the *Forgotten your password?* button to launch a password recovery utility.
|
||||
If you cannot supply your password, click the *Forgotten your password?* button
|
||||
to launch a password recovery utility.
|
||||
|
||||
.. image:: images/login_recover.png
|
||||
:alt: pgAdmin recover login password
|
||||
:align: center
|
||||
|
||||
#. Provide the email address associated with your account in the *Email Address* field.
|
||||
#. Click the *Recover Password* button to initiate recovery. An email, with directions on how to reset a password, will be sent to the address entered in the *Email Address* field.
|
||||
* Provide the email address associated with your account in the *Email Address*
|
||||
field.
|
||||
* Click the *Recover Password* button to initiate recovery. An email, with
|
||||
directions on how to reset a password, will be sent to the address entered in
|
||||
the *Email Address* field.
|
||||
|
||||
If you have forgotten the email associated with your account, please contact your administrator.
|
||||
If you have forgotten the email associated with your account, please contact
|
||||
your administrator.
|
||||
|
||||
|
|
|
@ -4,39 +4,59 @@
|
|||
`Maintenance Dialog`:index:
|
||||
***************************
|
||||
|
||||
Use the *Maintenance* dialog to VACUUM, ANALYZE, REINDEX or CLUSTER a database or selected database objects.
|
||||
Use the *Maintenance* dialog to VACUUM, ANALYZE, REINDEX or CLUSTER a database
|
||||
or selected database objects.
|
||||
|
||||
.. image:: images/maintenance.png
|
||||
:alt: Maintenance dialog
|
||||
:align: center
|
||||
|
||||
While this utility is useful for ad-hoc maintenance purposes, you are encouraged to perform automatic VACUUM jobs on a regular schedule.
|
||||
While this utility is useful for ad-hoc maintenance purposes, you are encouraged
|
||||
to perform automatic VACUUM jobs on a regular schedule.
|
||||
|
||||
Select a button next to *Maintenance operation* to specify the type of maintenance:
|
||||
Select a button next to *Maintenance operation* to specify the type of
|
||||
maintenance:
|
||||
|
||||
* Click *VACUUM* to scan the selected database or table to reclaim storage used by dead tuples.
|
||||
* Click *VACUUM* to scan the selected database or table to reclaim storage used
|
||||
by dead tuples.
|
||||
|
||||
* Move the *FULL* switch to the *Yes* position to compact tables by writing a completely new version of the table file without dead space. The default is *No*.
|
||||
* Move the *FULL* switch to the *Yes* position to compact tables by writing
|
||||
a completely new version of the table file without dead space. The default
|
||||
is *No*.
|
||||
|
||||
* Move the *FREEZE* switch to the *Yes* position to freeze data in a table when it will have no further updates. The default is *No*.
|
||||
* Move the *FREEZE* switch to the *Yes* position to freeze data in a table
|
||||
when it will have no further updates. The default is *No*.
|
||||
|
||||
* Move the *ANALYZE* switch to the *Yes* position to issue ANALYZE commands whenever the content of a table has changed sufficiently. The default is *No*.
|
||||
* Move the *ANALYZE* switch to the *Yes* position to issue ANALYZE commands
|
||||
whenever the content of a table has changed sufficiently. The default is
|
||||
*No*.
|
||||
|
||||
* Click *ANALYZE* to update the stored statistics used by the query planner. This enables the query optimizer to select the fastest query plan for optimal performance.
|
||||
* Click *REINDEX* to rebuild any index in case it has degenerated due to the insertion of unusual data patterns. This happens, for example, if you insert rows with increasing index values, and delete low index values.
|
||||
* Click *ANALYZE* to update the stored statistics used by the query planner.
|
||||
This enables the query optimizer to select the fastest query plan for optimal
|
||||
performance.
|
||||
* Click *REINDEX* to rebuild any index in case it has degenerated due to the
|
||||
insertion of unusual data patterns. This happens, for example, if you insert
|
||||
rows with increasing index values, and delete low index values.
|
||||
* Click *CLUSTER* to instruct PostgreSQL to cluster the selected table.
|
||||
|
||||
To exclude status messages from the process output, move the *Verbose Messages* switch to the *No* position; by default, status messages are included.
|
||||
To exclude status messages from the process output, move the *Verbose Messages*
|
||||
switch to the *No* position; by default, status messages are included.
|
||||
|
||||
When you've completed the dialog, click *OK* to start the background process; to exit the dialog without performing maintenance operations, click *Cancel*.
|
||||
When you've completed the dialog, click *OK* to start the background process;
|
||||
to exit the dialog without performing maintenance operations, click *Cancel*.
|
||||
|
||||
pgAdmin will inform you when the background process completes:
|
||||
|
||||
.. image:: images/maintenance_complete.png
|
||||
:alt: Maintenance completion notification
|
||||
:align: center
|
||||
|
||||
Use the **Stop Process** button to stop the Maintenance process.
|
||||
|
||||
Use the *Click here for details* link on the notification to open the *Process Watcher* and review detailed information about the execution of the command that performed the import or export:
|
||||
Use the *Click here for details* link on the notification to open the *Process
|
||||
Watcher* and review detailed information about the execution of the command that
|
||||
performed the import or export:
|
||||
|
||||
.. image:: images/maintenance_pw.png
|
||||
:alt: Maintenance process watcher
|
||||
:align: center
|
||||
|
|
|
@ -4,13 +4,13 @@
|
|||
`Management Basics`:index:
|
||||
**************************
|
||||
|
||||
pgAdmin provides point and click dialogs that help you perform server management functions. Dialogs simplify tasks such as managing named restore points, granting user privileges, and performing VACUUM, ANALYZE and REINDEX functions.
|
||||
|
||||
|
||||
Contents:
|
||||
pgAdmin provides point and click dialogs that help you perform server management
|
||||
functions. Dialogs simplify tasks such as managing named restore points,
|
||||
granting user privileges, and performing VACUUM, ANALYZE and REINDEX functions.
|
||||
|
||||
.. toctree::
|
||||
|
||||
:maxdepth: 1
|
||||
|
||||
add_restore_point_dialog
|
||||
change_password_dialog
|
||||
grant_wizard
|
||||
|
|
|
@ -1,14 +1,18 @@
|
|||
.. _managing_cluster_objects:
|
||||
|
||||
***************************************
|
||||
`Managing Cluster Level Objects`:index:
|
||||
***************************************
|
||||
*********************************
|
||||
`Managing Cluster Objects`:index:
|
||||
*********************************
|
||||
|
||||
Some object definitions reside at the cluster level; pgAdmin 4 provides dialogs that allow you to create these objects, manage them, and control their relationships to each other. To access a dialog that allows you to create a database object, right-click on the object type in the pgAdmin tree control, and select the *Create* option for that object. For example, to create a new database, right-click on the *Databases* node, and select *Create Database...*
|
||||
|
||||
Contents:
|
||||
Some object definitions reside at the cluster level; pgAdmin 4 provides dialogs
|
||||
that allow you to create these objects, manage them, and control their
|
||||
relationships to each other. To access a dialog that allows you to create a
|
||||
database object, right-click on the object type in the pgAdmin tree control,
|
||||
and select the *Create* option for that object. For example, to create a new
|
||||
database, right-click on the *Databases* node, and select *Create Database...*
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
database_dialog
|
||||
move_objects
|
||||
|
|
|
@ -4,14 +4,19 @@
|
|||
`Managing Database Objects`:index:
|
||||
**********************************
|
||||
|
||||
pgAdmin 4 provides simple but powerful dialogs that you can use to design and create database objects. Each dialog contains a series of tabs that you use to describe the object that will be created by the dialog; the SQL tab displays the SQL command that the server will execute when creating the object.
|
||||
pgAdmin 4 provides simple but powerful dialogs that you can use to design and
|
||||
create database objects. Each dialog contains a series of tabs that you use to
|
||||
describe the object that will be created by the dialog; the SQL tab displays the
|
||||
SQL command that the server will execute when creating the object.
|
||||
|
||||
To access a dialog that allows you to create a database object, right-click on the object type in the pgAdmin tree control, and select the *Create* option for that object. For example, to create a new cast, right-click on the *Casts* node, and select *Create Cast...*
|
||||
|
||||
Contents:
|
||||
To access a dialog that allows you to create a database object, right-click on
|
||||
the object type in the pgAdmin tree control, and select the *Create* option for
|
||||
that object. For example, to create a new cast, right-click on the *Casts*
|
||||
node, and select *Create Cast...*
|
||||
|
||||
.. toctree::
|
||||
|
||||
:maxdepth: 1
|
||||
|
||||
cast_dialog
|
||||
collation_dialog
|
||||
domain_dialog
|
||||
|
|
|
@ -4,84 +4,127 @@
|
|||
`Materialized View Dialog`:index:
|
||||
*********************************
|
||||
|
||||
Use the *Materialized View* dialog to define a materialized view. A materialized view is a stored or cached view that contains the result set of a query. Use the REFRESH MATERIALIZED VIEW command to update the content of a materialized view.
|
||||
Use the *Materialized View* dialog to define a materialized view. A materialized
|
||||
view is a stored or cached view that contains the result set of a query. Use
|
||||
the REFRESH MATERIALIZED VIEW command to update the content of a materialized
|
||||
view.
|
||||
|
||||
The *Materialized View* dialog organizes the development of a materialized_view through the following dialog tabs: *General*, *Definition*, *Storage*, *Parameter*, and *Security*. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *Materialized View* dialog organizes the development of a materialized_view
|
||||
through the following dialog tabs: *General*, *Definition*, *Storage*,
|
||||
*Parameter*, and *Security*. The *SQL* tab displays the SQL code generated by
|
||||
dialog selections.
|
||||
|
||||
.. image:: images/materialized_view_general.png
|
||||
:alt: Materialized view dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to identify the materialized view:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the materialized view. The name will be displayed in the *pgAdmin* tree control.
|
||||
* Use the drop-down listbox next to *Owner* to select the role that will own the materialized view.
|
||||
* Select the name of the schema in which the materialized view will reside from the drop-down listbox in the *Schema* field.
|
||||
* Use the *Name* field to add a descriptive name for the materialized view. The
|
||||
name will be displayed in the *pgAdmin* tree control.
|
||||
* Use the drop-down listbox next to *Owner* to select the role that will own
|
||||
the materialized view.
|
||||
* Select the name of the schema in which the materialized view will reside from
|
||||
the drop-down listbox in the *Schema* field.
|
||||
* Store notes about the materialized view in the *Comment* field.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/materialized_view_definition.png
|
||||
:alt: Materialized view dialog definition tab
|
||||
:align: center
|
||||
|
||||
Use the text editor field in the *Definition* tab to provide the query that will populate the materialized view.
|
||||
Use the text editor field in the *Definition* tab to provide the query that will
|
||||
populate the materialized view.
|
||||
|
||||
Click the *Storage* tab to continue.
|
||||
|
||||
.. image:: images/materialized_view_storage.png
|
||||
:alt: Materialized view dialog storage tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Storage* tab to maintain the materialized view:
|
||||
|
||||
* Move the *With Data* switch to the *Yes* position to specify the materialized view should be populated at creation time. If not, the materialized view cannot be queried until you invoke REFRESH MATERIALIZED VIEW.
|
||||
* Use the drop-down listbox next to *Tablespace* to select a location for the materialized view.
|
||||
* Use the *Fill Factor* field to specify a fill factor for the materialized view. The fill factor for a table is a percentage between 10 and 100. 100 (complete packing) is the default.
|
||||
* Move the *With Data* switch to the *Yes* position to specify the materialized
|
||||
view should be populated at creation time. If not, the materialized view
|
||||
cannot be queried until you invoke REFRESH MATERIALIZED VIEW.
|
||||
* Use the drop-down listbox next to *Tablespace* to select a location for the
|
||||
materialized view.
|
||||
* Use the *Fill Factor* field to specify a fill factor for the materialized
|
||||
view. The fill factor for a table is a percentage between 10 and 100. 100
|
||||
(complete packing) is the default.
|
||||
|
||||
Click the *Parameter* tab to continue.
|
||||
|
||||
.. image:: images/materialized_view_parameter.png
|
||||
:alt: Materialized view dialog parameter tab
|
||||
:align: center
|
||||
|
||||
Use the tabs nested inside the *Parameter* tab to specify VACUUM and ANALYZE thresholds; use the *Table* tab and the *Toast Table* tab to customize values for the table and the associated toast table. To change the default values:
|
||||
Use the tabs nested inside the *Parameter* tab to specify VACUUM and ANALYZE
|
||||
thresholds; use the *Table* tab and the *Toast Table* tab to customize values
|
||||
for the table and the associated toast table. To change the default values:
|
||||
|
||||
* Move the *Custom auto-vacuum?* switch to the *Yes* position to perform custom maintenance on the materialized view.
|
||||
* Move the *Enabled?* switch to the *Yes* position to select values in the *Vacuum table*. Provide values for each row in the *Value* column.
|
||||
* Move the *Custom auto-vacuum?* switch to the *Yes* position to perform custom
|
||||
maintenance on the materialized view.
|
||||
* Move the *Enabled?* switch to the *Yes* position to select values in the
|
||||
*Vacuum table*. Provide values for each row in the *Value* column.
|
||||
|
||||
Click the *Security* tab to continue.
|
||||
|
||||
.. image:: images/materialized_view_security.png
|
||||
:alt: Materialized view dialog security tab
|
||||
:align: center
|
||||
|
||||
Use the *Security* tab to assign privileges and define security labels.
|
||||
|
||||
Use the *Privileges* panel to assign privileges to a role. Click the *Add* icon (+) to set privileges for the materialized view:
|
||||
Use the *Privileges* panel to assign privileges to a role. Click the *Add* icon
|
||||
(+) to set privileges for the materialized view:
|
||||
|
||||
* 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.
|
||||
* 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.
|
||||
|
||||
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 the *Delete Row* popup.
|
||||
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
|
||||
the *Delete Row* popup.
|
||||
|
||||
Use the *Security Labels* panel to define security labels applied to the materialized view. Click the *Add* icon (+) to add each security label selection:
|
||||
Use the *Security Labels* panel to define security labels applied to the
|
||||
materialized view. Click the *Add* icon (+) to add each security label
|
||||
selection:
|
||||
|
||||
* Specify a security label provider in the *Provider* field. The named provider must be loaded and must consent to the proposed labeling operation.
|
||||
* Specify a a security label in the *Security Label* field. The meaning of a given label is at the discretion of the label provider. PostgreSQL places no restrictions on whether or how a label provider must interpret security labels; it merely provides a mechanism for storing them.
|
||||
* Specify a security label provider in the *Provider* field. The named provider
|
||||
must be loaded and must consent to the proposed labeling operation.
|
||||
* Specify a a security label in the *Security Label* field. The meaning of a
|
||||
given label is at the discretion of the label provider. PostgreSQL places no
|
||||
restrictions on whether or how a label provider must interpret security
|
||||
labels; it merely provides a mechanism for storing them.
|
||||
|
||||
Click the *Add* icon (+) to assign additional security labels; to discard a security label, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
|
||||
Click the *Add* icon (+) to assign additional security labels; to discard a
|
||||
security label, click the trash icon to the left of the row and confirm deletion
|
||||
in the *Delete Row* popup.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *Materialized View* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
|
||||
Your entries in the *Materialized View* dialog generate a SQL command (see an
|
||||
example below). Use the *SQL* tab for review; revisit or switch tabs to make any
|
||||
changes to the SQL command.
|
||||
|
||||
**Example**
|
||||
Example
|
||||
*******
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Materialized View* dialog:
|
||||
The following is an example of the sql command generated by user selections in
|
||||
the *Materialized View* dialog:
|
||||
|
||||
.. image:: images/materialized_view_sql.png
|
||||
:alt: Materialized view dialog sql tab
|
||||
:align: center
|
||||
|
||||
The example shown creates a query named *new_hires* that stores the result of the displayed query in the *pg_default* tablespace.
|
||||
The example shown creates a query named *new_hires* that stores the result of
|
||||
the displayed query in the *pg_default* tablespace.
|
||||
|
||||
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
|
||||
* 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.
|
||||
|
|
|
@ -4,12 +4,17 @@
|
|||
`Menu Bar`:index:
|
||||
*****************
|
||||
|
||||
The pgAdmin menu bar provides drop-down menus for access to options, commands, and utilities. The menu bar displays the following selections: *File*, *Object*, Tools*, and *Help*. Selections may be grayed out which indicates they are disabled for the object currently selected in the *pgAdmin* tree control.
|
||||
The pgAdmin menu bar provides drop-down menus for access to options, commands,
|
||||
and utilities. The menu bar displays the following selections: *File*, *Object*,
|
||||
Tools*, and *Help*. Selections may be grayed out which indicates they are
|
||||
disabled for the object currently selected in the *pgAdmin* tree control.
|
||||
|
||||
**The File Menu**
|
||||
The File Menu
|
||||
*************
|
||||
|
||||
.. image:: /images/file_menu.png
|
||||
:alt: pgAdmin file menu bar
|
||||
:align: center
|
||||
|
||||
Use the *File* menu to access the following options:
|
||||
|
||||
|
@ -21,12 +26,15 @@ Use the *File* menu to access the following options:
|
|||
| *Reset Layout* | If you have modified the workspace, click to restore the default layout. |
|
||||
+-------------------------+---------------------------------------------------------------------------------------------------------+
|
||||
|
||||
**The Object Menu**
|
||||
The Object Menu
|
||||
***************
|
||||
|
||||
.. image:: /images/object_menu.png
|
||||
:alt: pgAdmin object menu bar
|
||||
:align: center
|
||||
|
||||
The *Object* menu is context-sensitive. Use the *Object* menu to access the following options (in alphabetical order):
|
||||
The *Object* menu is context-sensitive. Use the *Object* menu to access the
|
||||
following options (in alphabetical order):
|
||||
|
||||
+-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
|
||||
| Option | Action |
|
||||
|
@ -64,10 +72,12 @@ The *Object* menu is context-sensitive. Use the *Object* menu to access the foll
|
|||
| *View Data* | Click to access a context menu that provides several options for viewing data (see below). |
|
||||
+-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
|
||||
|
||||
**The Tools Menu**
|
||||
The Tools Menu
|
||||
**************
|
||||
|
||||
.. image:: /images/tool_menu.png
|
||||
:alt: pgAdmin tools menu bar
|
||||
:align: center
|
||||
|
||||
Use the *Tools* menu to access the following options (in alphabetical order):
|
||||
|
||||
|
@ -100,12 +110,15 @@ Use the *Tools* menu to access the following options (in alphabetical order):
|
|||
| *Resume replay of WAL* | Click to resume the replay of the WAL log. |
|
||||
+---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
|
||||
|
||||
**The Help Menu**
|
||||
The Help Menu
|
||||
*************
|
||||
|
||||
.. image:: images/help_menu.png
|
||||
:alt: pgAdmin help menu bar
|
||||
:align: center
|
||||
|
||||
Use the options on the *Help* menu to access online help documents, or to review information about the pgAdmin installation (in alphabetical order):
|
||||
Use the options on the *Help* menu to access online help documents, or to review
|
||||
information about the pgAdmin installation (in alphabetical order):
|
||||
|
||||
+----------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
|
||||
| Option | Action |
|
||||
|
|
|
@ -4,14 +4,17 @@
|
|||
`Creating or Modifying a Table`:index:
|
||||
**************************************
|
||||
|
||||
pgAdmin 4 provides dialogs that allow you to modify all table properties and attributes.
|
||||
pgAdmin 4 provides dialogs that allow you to modify all table properties and
|
||||
attributes.
|
||||
|
||||
To access a dialog that allows you to create a database object, right-click on the object type in the pgAdmin tree control, and select the *Create* option for that object. For example, to create a new database, right-click on the *Casts* node, and select *Create Cast...*
|
||||
|
||||
Contents:
|
||||
To access a dialog that allows you to create a database object, right-click on
|
||||
the object type in the pgAdmin tree control, and select the *Create* option for
|
||||
that object. For example, to create a new database, right-click on the *Casts*
|
||||
node, and select *Create Cast...*
|
||||
|
||||
.. toctree::
|
||||
|
||||
:maxdepth: 1
|
||||
|
||||
check_dialog
|
||||
column_dialog
|
||||
exclusion_constraint_dialog
|
||||
|
|
|
@ -4,37 +4,58 @@
|
|||
`Move Objects Dialog`:index:
|
||||
****************************
|
||||
|
||||
Use the *Move Objects* dialog to to move database objects from one tablespace to another tablespace.
|
||||
Use the *Move Objects* dialog to to move database objects from one tablespace to
|
||||
another tablespace.
|
||||
|
||||
The *Move Objects* dialog organizes the movement of database objects with the *General* tab; the *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *Move Objects* dialog organizes the movement of database objects with the
|
||||
*General* tab; the *SQL* tab displays the SQL code generated by dialog
|
||||
selections.
|
||||
|
||||
.. image:: images/move_objects_general.png
|
||||
:alt: Move objects dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to identify the items that will be moved and the tablespace to which they will be moved:
|
||||
Use the fields in the *General* tab to identify the items that will be moved and
|
||||
the tablespace to which they will be moved:
|
||||
|
||||
* Use the *New tablespace* drop-down listbox to select a pre-existing tablespace to which the object will be moved. (To create a tablespace, use the *Tablespace* dialog; access the dialog by right clicking *Tablespaces* in the *pgAdmin* tree control and selecting *Create Tablespace...* from the context-menu.)
|
||||
* Use the *New tablespace* drop-down listbox to select a pre-existing
|
||||
tablespace to which the object will be moved. (To create a tablespace, use the
|
||||
*Tablespace* dialog; access the dialog by right clicking *Tablespaces* in the
|
||||
*pgAdmin* tree control and selecting *Create Tablespace...* from the
|
||||
context-menu.)
|
||||
* Use the *Object type* drop-down listbox to select from the following:
|
||||
|
||||
* Select *All* to move all tables, indexes, and materialized views from the current tablespace (currently selected in the *pgAdmin* tree control) to the new tablespace.
|
||||
* Select *Tables* to move tables from the current tablespace to the new tablespace.
|
||||
* Select *Indexes* to move indexes from the current tablespace to the new tablespace.
|
||||
* Select *Materialized views* to move materialized views from the current tablespace to the new tablespace.
|
||||
* Select *All* to move all tables, indexes, and materialized views from the
|
||||
current tablespace (currently selected in the *pgAdmin* tree control) to
|
||||
the new tablespace.
|
||||
* Select *Tables* to move tables from the current tablespace to the new
|
||||
tablespace.
|
||||
* Select *Indexes* to move indexes from the current tablespace to the new
|
||||
tablespace.
|
||||
* Select *Materialized views* to move materialized views from the current
|
||||
tablespace to the new tablespace.
|
||||
|
||||
* Use the *Object owner* drop-down listbox to select the role that owns the objects selected in the *Object type* field. This field is optional.
|
||||
* Use the *Object owner* drop-down listbox to select the role that owns the
|
||||
objects selected in the *Object type* field. This field is optional.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *Move Objects* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit the *General* tab to modify the SQL command.
|
||||
Your entries in the *Move Objects* dialog generate a SQL command (see an example
|
||||
below). Use the *SQL* tab for review; revisit the *General* tab to modify the
|
||||
SQL command.
|
||||
|
||||
**Example**
|
||||
Example
|
||||
*******
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Move Objects* dialog:
|
||||
The following is an example of the sql command generated by user selections in
|
||||
the *Move Objects* dialog:
|
||||
|
||||
.. image:: images/move_objects_sql.png
|
||||
:alt: Move Objects dialog sql tab
|
||||
:align: center
|
||||
|
||||
The example shown demonstrates moving materialized views owned by Alice from tablespace *tbspace_01* to *tbspace_02*.
|
||||
The example shown demonstrates moving materialized views owned by Alice from
|
||||
tablespace *tbspace_01* to *tbspace_02*.
|
||||
|
||||
* Click the *Help* button (?) to access online help.
|
||||
* Click the *OK* button to save work.
|
||||
|
|
|
@ -6,23 +6,30 @@
|
|||
|
||||
Use the *Package* dialog to create a (user-defined) package specification.
|
||||
|
||||
The *Package* dialog organizes the management of a package through the following dialog tabs: *General*, *Code*, and *Security*. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *Package* dialog organizes the management of a package through the following
|
||||
dialog tabs: *General*, *Code*, and *Security*. The *SQL* tab displays the SQL
|
||||
code generated by dialog selections.
|
||||
|
||||
.. image:: images/package_general.png
|
||||
:alt: Package dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to identify the package:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the package. The name of a new package must not match any existing package in the same schema.
|
||||
* Select the schema in which the package will reside from the drop-down listbox in the *Schema* field.
|
||||
* Use the *Name* field to add a descriptive name for the package. The name of a
|
||||
new package must not match any existing package in the same schema.
|
||||
* Select the schema in which the package will reside from the drop-down listbox
|
||||
in the *Schema* field.
|
||||
* Store notes about the package in the *Comment* field.
|
||||
|
||||
Click the *Code* tab to continue.
|
||||
|
||||
.. image:: images/package_code.png
|
||||
:alt: Package dialog code tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Code* tab to specify the package contents and to provide implementation details:
|
||||
Use the fields in the *Code* tab to specify the package contents and to provide
|
||||
implementation details:
|
||||
|
||||
* Use the *Header* field to define the public interface for the package.
|
||||
* Use the *Body* field to provide the code that implements each package object.
|
||||
|
@ -31,23 +38,32 @@ Click the *Security* tab to continue.
|
|||
|
||||
.. image:: images/package_security.png
|
||||
:alt: Package dialog security tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Security* tab to to assign EXECUTE privileges for the package to a role. Click the *Add* icon (+) to set privileges for the package:
|
||||
Use the fields in the *Security* tab to to assign EXECUTE privileges for the
|
||||
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.
|
||||
* 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.
|
||||
|
||||
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 in the *Delete Row* popup.
|
||||
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
|
||||
in the *Delete Row* popup.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *Package* dialog generate a SQL command that creates or modifies a package definition:
|
||||
Your entries in the *Package* dialog generate a SQL command that creates or
|
||||
modifies a package definition:
|
||||
|
||||
.. image:: images/package_sql.png
|
||||
:alt: Package dialog sql tab
|
||||
:align: center
|
||||
|
||||
The example shown demonstrates creating a package named *empinfo* that includes one function and one procedure.
|
||||
The example shown demonstrates creating a package named *empinfo* that includes
|
||||
one function and one procedure.
|
||||
|
||||
* Click the *Save* button to save work.
|
||||
* Click the *Cancel* button to exit without saving work.
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
`pgAgent`:index:
|
||||
****************
|
||||
|
||||
pgAgent is a job scheduling agent for Postgres databases, capable of running multi-step batch or shell scripts and SQL tasks on complex schedules.
|
||||
pgAgent is a job scheduling agent for Postgres databases, capable of running
|
||||
multi-step batch or shell scripts and SQL tasks on complex schedules.
|
||||
|
||||
pgAgent is distributed independently of pgAdmin. You can download pgAgent from the `download area <http://www.pgadmin.org/download>`_ of the pgAdmin website.
|
||||
|
||||
Contents:
|
||||
pgAgent is distributed independently of pgAdmin. You can download pgAgent from
|
||||
the `download area <https://www.pgadmin.org/download>`_ of the pgAdmin website.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
|
|
@ -14,14 +14,16 @@ for execution by any host. Locking prevents execution of the same instance of a
|
|||
job by multiple hosts.
|
||||
|
||||
Database setup
|
||||
==============
|
||||
**************
|
||||
|
||||
Before using pgAdmin to manage pgAgent, you must create the pgAgent extension in
|
||||
the maintenance database registered with pgAdmin. To install pgAgent on a
|
||||
PostgreSQL host, connect to the *postgres* database, and navigate through the
|
||||
*Tools* menu to open the Query tool. For server versions 9.1 or later, and
|
||||
pgAgent 3.4.0 or later, enter the following command in the query window, and
|
||||
click the *Execute* icon::
|
||||
click the *Execute* icon:
|
||||
|
||||
.. code-block:: sql
|
||||
|
||||
CREATE EXTENSION pgagent;
|
||||
|
||||
|
@ -31,7 +33,9 @@ called 'pgagent'.
|
|||
The database must also have the pl/pgsql procedural language installed - use
|
||||
the PostgreSQL CREATE LANGUAGE command to install pl/pgsql if necessary. To
|
||||
install pl/pgsql, enter the following command in the query window, and click
|
||||
the *Execute* icon::
|
||||
the *Execute* icon:
|
||||
|
||||
.. code-block:: sql
|
||||
|
||||
CREATE LANGUAGE plpgsql;
|
||||
|
||||
|
@ -52,7 +56,7 @@ the script. The script will create a number of tables and other objects in a
|
|||
schema named *pgagent*.
|
||||
|
||||
Daemon installation on Unix
|
||||
===========================
|
||||
***************************
|
||||
|
||||
.. note:: pgAgent is available in Debian/Ubuntu (DEB) and Redhat/Fedora (RPM)
|
||||
packages for Linux users, as well as source code. See the
|
||||
|
@ -81,12 +85,14 @@ The connection string is a standard PostgreSQL libpq connection string (see
|
|||
the `PostgreSQL documentation on the connection string <http://www.postgresql.org/docs/current/static/libpq.html#libpq-connect>`_
|
||||
for further details). For example, the following command line will run pgAgent
|
||||
against a server listening on the localhost, using a database called 'pgadmin',
|
||||
connecting as the user 'postgres'::
|
||||
connecting as the user 'postgres':
|
||||
|
||||
/path/to/pgagent hostaddr=127.0.0.1 dbname=postgres user=postgres
|
||||
.. code-block:: bash
|
||||
|
||||
/path/to/pgagent hostaddr=127.0.0.1 dbname=postgres user=postgres
|
||||
|
||||
Service installation on Windows
|
||||
===============================
|
||||
*******************************
|
||||
|
||||
.. note:: pgAgent is available in a pre-built installer if you use
|
||||
`EnterpriseDB's PostgreSQL Installers <https://www.enterprisedb.com/downloads/postgres-postgresql-downloads>`_.
|
||||
|
@ -112,9 +118,11 @@ additional parameter to tell the service what to do::
|
|||
-l <logging verbosity (ERROR=0, WARNING=1, DEBUG=2, default 0)>
|
||||
|
||||
The service may be quite simply installed from the command line as follows
|
||||
(adjust the path as required)::
|
||||
(adjust the path as required):
|
||||
|
||||
"C:\Program Files\pgAgent\bin\pgAgent" INSTALL pgAgent -u postgres -p secret hostaddr=127.0.0.1 dbname=postgres user=postgres
|
||||
.. code-block:: bash
|
||||
|
||||
"C:\Program Files\pgAgent\bin\pgAgent" INSTALL pgAgent -u postgres -p secret hostaddr=127.0.0.1 dbname=postgres user=postgres
|
||||
|
||||
You can then start the service at the command line using *net start pgAgent*,
|
||||
or from the *Services* control panel applet. Any logging output or errors will
|
||||
|
|
|
@ -5,127 +5,203 @@
|
|||
`Creating a pgAgent Job`:index:
|
||||
*******************************
|
||||
|
||||
pgAgent is a scheduling agent that runs and manages jobs; each job consists of steps and schedules.
|
||||
pgAgent is a scheduling agent that runs and manages jobs; each job consists of
|
||||
steps and schedules.
|
||||
|
||||
To create or manage a job, use the pgAdmin tree control to browse to the server on which the pgAgent database objects were created. The tree control will display a *pgAgent Jobs* node, under which currently defined jobs are displayed. To add a new job, right click on the *pgAgent Jobs* node, and select *Create pgAgent Job...* from the context menu.
|
||||
To create or manage a job, use the pgAdmin tree control to browse to the server
|
||||
on which the pgAgent database objects were created. The tree control will
|
||||
display a *pgAgent Jobs* node, under which currently defined jobs are displayed.
|
||||
To add a new job, right click on the *pgAgent Jobs* node, and select *Create
|
||||
pgAgent Job...* from the context menu.
|
||||
|
||||
When the pgAgent dialog opens, use the tabs on the *pgAgent Job* dialog to define the steps and schedule that make up a pgAgent job.
|
||||
When the pgAgent dialog opens, use the tabs on the *pgAgent Job* dialog to
|
||||
define the steps and schedule that make up a pgAgent job.
|
||||
|
||||
.. image:: images/pgagent_general.png
|
||||
:alt: pgAgent dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields on the *General* tab to provide general information about a job:
|
||||
|
||||
* Provide a name for the job in the *Name* field.
|
||||
* Move the *Enabled* switch to the *Yes* position to enable a job, or *No* to disable a job.
|
||||
* Use the *Job Class* drop-down to select a class (for job categorization).
|
||||
* Use the *Host Agent* field to specify the name of a machine that is running pgAgent to indicate that only that machine may execute the job. Leave the field blank to specify that any machine may perform the job.
|
||||
* Provide a name for the job in the *Name* field.
|
||||
* Move the *Enabled* switch to the *Yes* position to enable a job, or *No* to
|
||||
disable a job.
|
||||
* Use the *Job Class* drop-down to select a class (for job categorization).
|
||||
* Use the *Host Agent* field to specify the name of a machine that is running
|
||||
pgAgent to indicate that only that machine may execute the job. Leave the
|
||||
field blank to specify that any machine may perform the job.
|
||||
|
||||
**Note:** It is not always obvious what value to specify for the Host Agent in order to target a job step to a specific machine. With pgAgent running on the required machines and connected to the scheduler database, you can use the following query to view the hostnames as reported by each agent::
|
||||
.. note:: It is not always obvious what value to specify for the Host Agent
|
||||
in order to target a job step to a specific machine. With pgAgent running
|
||||
on the required machines and connected to the scheduler database, you can
|
||||
use the following query to view the hostnames as reported by each agent:
|
||||
|
||||
SELECT jagstation FROM pgagent.pga_jobagent
|
||||
.. code-block:: sql
|
||||
|
||||
Use the hostname exactly as reported by the query in the Host Agent field.
|
||||
SELECT jagstation FROM pgagent.pga_jobagent
|
||||
|
||||
* Use the *Comment* field to store notes about the job.
|
||||
Use the hostname exactly as reported by the query in the Host Agent
|
||||
field.
|
||||
* Use the *Comment* field to store notes about the job.
|
||||
|
||||
.. image:: images/pgagent_steps.png
|
||||
:alt: pgAgent dialog steps tab
|
||||
:align: center
|
||||
|
||||
Use the *Steps* tab to define and manage the steps that the job will perform. Click the Add icon (+) to add a new step; then click the compose icon (located at the left side of the header) to open the step definition dialog:
|
||||
Use the *Steps* tab to define and manage the steps that the job will perform.
|
||||
Click the Add icon (+) to add a new step; then click the compose icon (located
|
||||
at the left side of the header) to open the step definition dialog:
|
||||
|
||||
.. image:: images/pgagent_step_definition.png
|
||||
:alt: pgAgent dialog definition tab
|
||||
:align: center
|
||||
|
||||
Use fields on the step definition dialog to define the step:
|
||||
|
||||
* Provide a name for the step in the *Name* field; please note that steps will be performed in alphanumeric order by name.
|
||||
* Use the *Enabled* switch to include the step when executing the job (*True*) or to disable the step (*False*).
|
||||
* Use the *Kind* switch to indicate if the job step invokes SQL code (*SQL*) or a batch script (*Batch*).
|
||||
* Provide a name for the step in the *Name* field; please note that steps will
|
||||
be performed in alphanumeric order by name.
|
||||
* Use the *Enabled* switch to include the step when executing the job (*True*)
|
||||
or to disable the step (*False*).
|
||||
* Use the *Kind* switch to indicate if the job step invokes SQL code (*SQL*)
|
||||
or a batch script (*Batch*).
|
||||
|
||||
* If you select *SQL*, use the *Code* tab to provide SQL code for the step.
|
||||
* If you select *Batch*, use the *Code* tab to provide the batch script that will be executed during the step.
|
||||
* If you select *Batch*, use the *Code* tab to provide the batch script that
|
||||
will be executed during the step.
|
||||
|
||||
* Use the *Connection type* switch to indicate if the step is performed on a local server (*Local*) or on a remote host (*Remote*). If you specify a remote connection should be used for the step, the *Connection string* field will be enabled, and you must provide a libpq-style connection string.
|
||||
* Use the *Database* drop-down to select the database on which the job step will be performed.
|
||||
* Use the *Connection string* field to specify a libpq-style connection string to the remote server on which the step will be performed. For more information about writing a connection string, please see the `PostgreSQL documentation <http://www.postgresql.org/docs/current/static/libpq.html#libpq-connect>`_.
|
||||
* Use the *On error* drop-down to specify the behavior of pgAgent if it encounters an error while executing the step. Select from:
|
||||
* Use the *Connection type* switch to indicate if the step is performed on a
|
||||
local server (*Local*) or on a remote host (*Remote*). If you specify a
|
||||
remote connection should be used for the step, the *Connection string* field
|
||||
will be enabled, and you must provide a libpq-style connection string.
|
||||
* Use the *Database* drop-down to select the database on which the job step
|
||||
will be performed.
|
||||
* Use the *Connection string* field to specify a libpq-style connection string
|
||||
to the remote server on which the step will be performed. For more information
|
||||
about writing a connection string, please see the
|
||||
`PostgreSQL documentation <http://www.postgresql.org/docs/current/static/libpq.html#libpq-connect>`_.
|
||||
* Use the *On error* drop-down to specify the behavior of pgAgent if it
|
||||
encounters an error while executing the step. Select from:
|
||||
|
||||
* *Fail* - Stop the job if you encounter an error while processing this step.
|
||||
* *Success* - Mark the step as completing successfully, and continue.
|
||||
* *Ignore* - Ignore the error, and continue.
|
||||
|
||||
* Use the *Comment* field to provide a comment about the step.
|
||||
* Use the *Comment* field to provide a comment about the step.
|
||||
|
||||
.. image:: images/pgagent_step_definition_code.png
|
||||
:alt: pgAgent dialog step definition code tab
|
||||
:align: center
|
||||
|
||||
Use the context-sensitive field on the step definition dialog's *Code* tab to provide the SQL code or batch script that will be executed during the step:
|
||||
Use the context-sensitive field on the step definition dialog's *Code* tab to
|
||||
provide the SQL code or batch script that will be executed during the step:
|
||||
|
||||
* If the step invokes SQL code, provide one or more SQL statements in the *SQL query* field.
|
||||
* If the step performs a batch script, provide the script in the *Script* field. If you are running on a Windows server, standard batch file syntax must be used. When running on a Linux server, any shell script may be used, provided that a suitable interpreter is specified on the first line (e.g. *#!/bin/sh*).
|
||||
* If the step invokes SQL code, provide one or more SQL statements in the *SQL
|
||||
query* field.
|
||||
* If the step performs a batch script, provide the script in the *Script* field.
|
||||
If you are running on a Windows server, standard batch file syntax must be
|
||||
used. When running on a Linux server, any shell script may be used, provided
|
||||
that a suitable interpreter is specified on the first line (e.g. *#!/bin/sh*).
|
||||
|
||||
When you've provided all of the information required by the step, click the compose icon to close the step definition dialog. Click the add icon (+) to add each additional step, or select the *Schedules* tab to define the job schedule.
|
||||
When you've provided all of the information required by the step, click the
|
||||
compose icon to close the step definition dialog. Click the add icon (+) to
|
||||
add each additional step, or select the *Schedules* tab to define the job
|
||||
schedule.
|
||||
|
||||
.. image:: images/pgagent_schedules.png
|
||||
:alt: pgAgent dialog schedules tab
|
||||
:align: center
|
||||
|
||||
Click the Add icon (+) to add a schedule for the job; then click the compose icon (located at the left side of the header) to open the schedule definition dialog:
|
||||
Click the Add icon (+) to add a schedule for the job; then click the compose
|
||||
icon (located at the left side of the header) to open the schedule definition
|
||||
dialog:
|
||||
|
||||
.. image:: images/pgagent_schedule_definition.png
|
||||
:alt: pgAgent dialog schedules definition tab
|
||||
:align: center
|
||||
|
||||
Use the fields on the schedule definition tab to specify the days and times at which the job will execute.
|
||||
Use the fields on the schedule definition tab to specify the days and times at
|
||||
which the job will execute.
|
||||
|
||||
* Provide a name for the schedule in the *Name* field.
|
||||
* Use the *Enabled* switch to indicate that pgAgent should use the schedule (*Yes*) or to disable the schedule (*No*).
|
||||
* Use the calendar selector in the *Start* field to specify the starting date and time for the schedule.
|
||||
* Use the calendar selector in the *End* field to specify the ending date and time for the schedule.
|
||||
* Use the *Comment* field to provide a comment about the schedule.
|
||||
* Provide a name for the schedule in the *Name* field.
|
||||
* Use the *Enabled* switch to indicate that pgAgent should use the schedule
|
||||
(*Yes*) or to disable the schedule (*No*).
|
||||
* Use the calendar selector in the *Start* field to specify the starting date
|
||||
and time for the schedule.
|
||||
* Use the calendar selector in the *End* field to specify the ending date and
|
||||
time for the schedule.
|
||||
* Use the *Comment* field to provide a comment about the schedule.
|
||||
|
||||
Select the *Repeat* tab to define the days on which the schedule will execute.
|
||||
|
||||
.. image:: images/pgagent_schedule_repeat.png
|
||||
:alt: pgAgent dialog schedule repeat tab
|
||||
:align: center
|
||||
|
||||
Use the fields on the *Repeat* tab to specify the details about the schedule in a cron-style format. The job will execute on each date or time element selected on the *Repeat* tab.
|
||||
Use the fields on the *Repeat* tab to specify the details about the schedule in
|
||||
a cron-style format. The job will execute on each date or time element selected
|
||||
on the *Repeat* tab.
|
||||
|
||||
Click within a field to open a list of valid values for that field; click on a specific value to add that value to the list of selected values for the field. To clear the values from a field, click the X located at the right-side of the field.
|
||||
Click within a field to open a list of valid values for that field; click on a
|
||||
specific value to add that value to the list of selected values for the field.
|
||||
To clear the values from a field, click the X located at the right-side of the
|
||||
field.
|
||||
|
||||
Use the fields within the *Days* box to specify the days on which the job will execute:
|
||||
Use the fields within the *Days* box to specify the days on which the job will
|
||||
execute:
|
||||
|
||||
* Use the *Week Days* field to select the days on which the job will execute.
|
||||
* Use the *Month Days* field to select the numeric days on which the job will execute. Specify the *Last Day* to indicate that the job should be performed on the last day of the month, irregardless of the date.
|
||||
* Use the *Months* field to select the months in which the job will execute.
|
||||
* Use the *Week Days* field to select the days on which the job will execute.
|
||||
* Use the *Month Days* field to select the numeric days on which the job will
|
||||
execute. Specify the *Last Day* to indicate that the job should be performed
|
||||
on the last day of the month, irregardless of the date.
|
||||
* Use the *Months* field to select the months in which the job will execute.
|
||||
|
||||
Use the fields within the *Times* box to specify the times at which the job will execute:
|
||||
Use the fields within the *Times* box to specify the times at which the job will
|
||||
execute:
|
||||
|
||||
* Use the *Hours* field to select the hour at which the job will execute.
|
||||
* Use the *Minutes* field to select the minute at which the job will execute.
|
||||
* Use the *Hours* field to select the hour at which the job will execute.
|
||||
* Use the *Minutes* field to select the minute at which the job will execute.
|
||||
|
||||
Select the *Exceptions* tab to specify any days on which the schedule will *not* execute.
|
||||
Select the *Exceptions* tab to specify any days on which the schedule will *not*
|
||||
execute.
|
||||
|
||||
.. image:: images/pgagent_schedule_exceptions.png
|
||||
:alt: pgAgent dialog schedule exceptions tab
|
||||
:align: center
|
||||
|
||||
Use the fields on the *Exceptions* tab to specify days on which you wish the job to not execute; for example, you may wish for jobs to not execute on national holidays.
|
||||
Use the fields on the *Exceptions* tab to specify days on which you wish the job
|
||||
to not execute; for example, you may wish for jobs to not execute on national
|
||||
holidays.
|
||||
|
||||
Click the Add icon (+) to add a row to the exception table, then:
|
||||
|
||||
* Click within the *Date* column to open a calendar selector, and select a date on which the job will not execute. Specify *<Any>* in the *Date* column to indicate that the job should not execute on any day at the time selected.
|
||||
* Click within the *Time* column to open a time selector, and specify a time on which the job will not execute. Specify *<Any>* in the *Time* column to indicate that the job should not execute at any time on the day selected.
|
||||
* Click within the *Date* column to open a calendar selector, and select a date
|
||||
on which the job will not execute. Specify *<Any>* in the *Date* column to
|
||||
indicate that the job should not execute on any day at the time selected.
|
||||
* Click within the *Time* column to open a time selector, and specify a time on
|
||||
which the job will not execute. Specify *<Any>* in the *Time* column to
|
||||
indicate that the job should not execute at any time on the day selected.
|
||||
|
||||
When you've finished defining the schedule, you can use the *SQL* tab to review the code that will create or modify your job.
|
||||
When you've finished defining the schedule, you can use the *SQL* tab to review
|
||||
the code that will create or modify your job.
|
||||
|
||||
.. image:: images/pgagent_sql.png
|
||||
:alt: pgAgent dialog sql tab
|
||||
:align: center
|
||||
|
||||
Click the *Save* button to save the job definition, or *Cancel* to exit the job without saving. Use the *Reset* button to remove your unsaved entries from the dialog.
|
||||
Click the *Save* button to save the job definition, or *Cancel* to exit the job
|
||||
without saving. Use the *Reset* button to remove your unsaved entries from the
|
||||
dialog.
|
||||
|
||||
After saving a job, the job will be listed under the *pgAgent Jobs* node of the pgAdmin tree control of the server on which it was defined. The *Properties* tab in the main pgAdmin window will display a high-level overview of the selected job, and the *Statistics* tab will show the details of each run of the job.
|
||||
After saving a job, the job will be listed under the *pgAgent Jobs* node of the
|
||||
pgAdmin tree control of the server on which it was defined. The *Properties*
|
||||
tab in the main pgAdmin window will display a high-level overview of the
|
||||
selected job, and the *Statistics* tab will show the details of each run of the
|
||||
job.
|
||||
|
||||
.. image:: images/pgagent_properties.png
|
||||
:alt: pgAgent object properties
|
||||
:align: center
|
||||
|
||||
To modify an existing job or to review detailed information about a job, right-click on a job name, and select *Properties* from the context menu.
|
||||
To modify an existing job or to review detailed information about a job,
|
||||
right-click on a job name, and select *Properties* from the context menu.
|
||||
|
||||
|
|
|
@ -4,236 +4,358 @@
|
|||
`Preferences Dialog`:index:
|
||||
***************************
|
||||
|
||||
Use options on the *Preferences* dialog to customize the behavior of the client. To open the *Preferences* dialog, select *Preferences* from the *File* menu. The left pane of the *Preferences* dialog displays a tree control; each node of the tree control provides access to options that are related to the node under which they are displayed.
|
||||
Use options on the *Preferences* dialog to customize the behavior of the client.
|
||||
To open the *Preferences* dialog, select *Preferences* from the *File* menu.
|
||||
The left pane of the *Preferences* dialog displays a tree control; each node of
|
||||
the tree control provides access to options that are related to the node under
|
||||
which they are displayed.
|
||||
|
||||
* Use the plus sign (+) to the left of a node name to expand a segment of the tree control.
|
||||
* Use the plus sign (+) to the left of a node name to expand a segment of the
|
||||
tree control.
|
||||
* Use the minus sign (-) to the left of a node name to close that node.
|
||||
|
||||
**The Browser Node**
|
||||
The Browser Node
|
||||
****************
|
||||
|
||||
Use preferences found in the *Browser* node of the tree control to personalize your workspace.
|
||||
Use preferences found in the *Browser* node of the tree control to personalize
|
||||
your workspace.
|
||||
|
||||
.. image:: images/preferences_browser_display.png
|
||||
:alt: Preferences dialog browser display options
|
||||
:align: center
|
||||
|
||||
Use the fields on the *Display* panel to specify general display preferences:
|
||||
|
||||
* When the *Auto-expand sole children* switch is set to *True*, child nodes will be automatically expanded if a treeview node is expanded and has only a single child.
|
||||
* When the *Auto-expand sole children* switch is set to *True*, child nodes will
|
||||
be automatically expanded if a treeview node is expanded and has only a single
|
||||
child.
|
||||
|
||||
* Use the *Browser tree state saving interval* field to set the treeview state saving interval. A value of *-1* will disable the treeview state saving functionality.
|
||||
* Use the *Browser tree state saving interval* field to set the treeview state
|
||||
saving interval. A value of *-1* will disable the treeview state saving
|
||||
functionality.
|
||||
|
||||
* When the *Confirm on close or refresh* switch is set to *True*, pgAdmin will attempt to catch browser close or refresh events and prompt before allowing them to continue.
|
||||
* When the *Confirm on close or refresh* switch is set to *True*, pgAdmin will
|
||||
attempt to catch browser close or refresh events and prompt before allowing
|
||||
them to continue.
|
||||
|
||||
* When the *Show system objects?* switch is set to *True*, the client will display system objects such as system schemas (for example, *pg_temp*) or system columns (for example, *xmin* or *ctid*) in the tree control.
|
||||
* When the *Show system objects?* switch is set to *True*, the client will
|
||||
display system objects such as system schemas (for example, *pg_temp*) or
|
||||
system columns (for example, *xmin* or *ctid*) in the tree control.
|
||||
|
||||
* When the *Enable browser tree animation?* switch is set to *True*, the client will display the animated tree control otherwise it will be unanimated.
|
||||
* When the *Enable browser tree animation?* switch is set to *True*, the client
|
||||
will display the animated tree control otherwise it will be unanimated.
|
||||
|
||||
* When the *Enable dialogue/notification animation?* switch is set to *True*, the client will display the animated dialogues/notifications otherwise it will be unanimated.
|
||||
* When the *Enable dialogue/notification animation?* switch is set to *True*,
|
||||
the client will display the animated dialogues/notifications otherwise it
|
||||
will be unanimated.
|
||||
|
||||
Use the fields on the *Keyboard shortcuts* panel to configure shortcuts for the main window navigation:
|
||||
Use the fields on the *Keyboard shortcuts* panel to configure shortcuts for the
|
||||
main window navigation:
|
||||
|
||||
.. image:: images/preferences_browser_keyboard_shortcuts.png
|
||||
:alt: Preferences dialog browser keyboard shortcuts section
|
||||
:align: center
|
||||
|
||||
* The panel displays a list of keyboard shortcuts available for the main window; select the combination of the modifier keys along with the key to configure each shortcut.
|
||||
* The panel displays a list of keyboard shortcuts available for the main window;
|
||||
select the combination of the modifier keys along with the key to configure
|
||||
each shortcut.
|
||||
|
||||
Use the fields on the *Nodes* panel to select the object types that will be displayed in the *Browser* tree control:
|
||||
Use the fields on the *Nodes* panel to select the object types that will be
|
||||
displayed in the *Browser* tree control:
|
||||
|
||||
.. image:: images/preferences_browser_nodes.png
|
||||
:alt: Preferences dialog browser nodes section
|
||||
:align: center
|
||||
|
||||
* The panel displays a list of database objects; slide the switch located next to each object to *Show* or *Hide* the database object. When querying system catalogs, you can reduce the number of object types displayed to increase speed.
|
||||
* The panel displays a list of database objects; slide the switch located next
|
||||
to each object to *Show* or *Hide* the database object. When querying system
|
||||
catalogs, you can reduce the number of object types displayed to increase
|
||||
speed.
|
||||
|
||||
Use fields on the *Properties* panel to specify browser properties:
|
||||
|
||||
.. image:: images/preferences_browser_properties.png
|
||||
:alt: Preferences dialog browser properties section
|
||||
:align: center
|
||||
|
||||
* Include a value in the *Count rows if estimated less than* field to perform a SELECT count(*) if the estimated number of rows in a table (as read from the table statistics) is below the specified limit. After performing the SELECT count(*), pgAdmin will display the row count. The default is 2000.
|
||||
* Include a value in the *Count rows if estimated less than* field to perform a
|
||||
SELECT count(*) if the estimated number of rows in a table (as read from the
|
||||
table statistics) is below the specified limit. After performing the SELECT
|
||||
count(*), pgAdmin will display the row count. The default is 2000.
|
||||
|
||||
* Provide a value in the *Maximum job history rows* field to limit the number of rows to show on the statistics tab for pgAgent jobs. The default is 250.
|
||||
* Provide a value in the *Maximum job history rows* field to limit the number of
|
||||
rows to show on the statistics tab for pgAgent jobs. The default is 250.
|
||||
|
||||
**The Dashboards Node**
|
||||
The Dashboards Node
|
||||
*******************
|
||||
|
||||
Expand the *Dashboards* node to specify your dashboard display preferences.
|
||||
|
||||
.. image:: images/preferences_dashboard_graphs.png
|
||||
:alt: Preferences dialog dashboard graph options
|
||||
:align: center
|
||||
|
||||
Use the fields on the *Graphs* panel to specify your display preferences for the graphs on the *Dashboard* tab:
|
||||
Use the fields on the *Graphs* panel to specify your display preferences for
|
||||
the graphs on the *Dashboard* tab:
|
||||
|
||||
* Use the *Block I/O statistics refresh rate* field to specify the number of seconds between block I/O statistic samples displayed in graphs.
|
||||
* Use the *Block I/O statistics refresh rate* field to specify the number of
|
||||
seconds between block I/O statistic samples displayed in graphs.
|
||||
|
||||
* Use the *Session statistics refresh rate* field to specify the number of seconds between session statistic samples displayed in graphs.
|
||||
* Use the *Session statistics refresh rate* field to specify the number of
|
||||
seconds between session statistic samples displayed in graphs.
|
||||
|
||||
* Use the *Transaction throughput refresh rate* field to specify the number of seconds between transaction throughput samples displayed in graphs.
|
||||
* Use the *Transaction throughput refresh rate* field to specify the number of
|
||||
seconds between transaction throughput samples displayed in graphs.
|
||||
|
||||
* Use the *Tuples in refresh rate* field to specify the number of seconds between tuples-in samples displayed in graphs.
|
||||
* Use the *Tuples in refresh rate* field to specify the number of seconds
|
||||
between tuples-in samples displayed in graphs.
|
||||
|
||||
* Use the *Tuples out refresh rate* field to specify the number of seconds between tuples-out samples displayed in graphs.
|
||||
* Use the *Tuples out refresh rate* field to specify the number of seconds
|
||||
between tuples-out samples displayed in graphs.
|
||||
|
||||
.. image:: images/preferences_dashboard_display.png
|
||||
:alt: Preferences dialog dashboard display options
|
||||
:align: center
|
||||
|
||||
* When the *Show activity?* switch is set to *True*, activity tables will be displayed on dashboards.
|
||||
* When the *Show activity?* switch is set to *True*, activity tables will be
|
||||
displayed on dashboards.
|
||||
|
||||
* When the *Show graph data points?* switch is set to *True*, data points will be visible on graph lines.
|
||||
* When the *Show graph data points?* switch is set to *True*, data points will
|
||||
be visible on graph lines.
|
||||
|
||||
* When the *Show graphs?* switch is set to *True*, graphs will be displayed on dashboards.
|
||||
* When the *Show graphs?* switch is set to *True*, graphs will be displayed on
|
||||
dashboards.
|
||||
|
||||
* When the *Show mouse hover tooltip?* switch is set to *True*, a tooltip will appear on mouse hover on the graph lines giving the data point details.
|
||||
* When the *Show mouse hover tooltip?* switch is set to *True*, a tooltip will
|
||||
appear on mouse hover on the graph lines giving the data point details.
|
||||
|
||||
|
||||
**The Debugger Node**
|
||||
The Debugger Node
|
||||
*****************
|
||||
|
||||
Expand the *Debugger* node to specify your debugger display preferences.
|
||||
|
||||
.. image:: images/preferences_debugger_display.png
|
||||
:alt: Preferences dialog debugger display options
|
||||
:align: center
|
||||
|
||||
* When the *Open in new browser tab* switch is set to *True*, the Debugger will open in a new browser tab when invoked.
|
||||
* When the *Open in new browser tab* switch is set to *True*, the Debugger will
|
||||
open in a new browser tab when invoked.
|
||||
|
||||
Use the fields on the *Keyboard shortcuts* panel to configure shortcuts for the debugger window navigation:
|
||||
Use the fields on the *Keyboard shortcuts* panel to configure shortcuts for the
|
||||
debugger window navigation:
|
||||
|
||||
.. image:: images/preferences_debugger_keyboard_shortcuts.png
|
||||
:alt: Preferences dialog debugger keyboard shortcuts section
|
||||
:align: center
|
||||
|
||||
**The Miscellaneous Node**
|
||||
The Miscellaneous Node
|
||||
**********************
|
||||
|
||||
Expand the *Miscellaneous* node to specify miscellaneous display preferences.
|
||||
|
||||
.. image:: images/preferences_misc_user_language.png
|
||||
:alt: Preferences dialog user language section
|
||||
:align: center
|
||||
|
||||
* Use the *User language* drop-down listbox to select the display language for the client.
|
||||
* Use the *User language* drop-down listbox to select the display language for
|
||||
the client.
|
||||
|
||||
**The Paths Node**
|
||||
The Paths Node
|
||||
**************
|
||||
|
||||
Expand the *Paths* node to specify the locations of supporting utility and help files.
|
||||
Expand the *Paths* node to specify the locations of supporting utility and help
|
||||
files.
|
||||
|
||||
.. image:: images/preferences_paths_binary.png
|
||||
:alt: Preferences dialog binary path section
|
||||
:align: center
|
||||
|
||||
Use the fields on the *Binary paths* panel to specify the path to the directory that contains the utility programs (pg_dump, pg_restore, and pg_dumpall) for monitored databases:
|
||||
Use the fields on the *Binary paths* panel to specify the path to the directory
|
||||
that contains the utility programs (pg_dump, pg_restore, and pg_dumpall) for
|
||||
monitored databases:
|
||||
|
||||
* Use the *EDB Advanced Server Binary Path* field to specify the location of the EDB Postgres Advanced Server utility programs. If this path is not set, pgAdmin will attempt to find the utilities in standard locations used by EnterpriseDB.
|
||||
* Use the *EDB Advanced Server Binary Path* field to specify the location of the
|
||||
EDB Postgres Advanced Server utility programs. If this path is not set,
|
||||
pgAdmin will attempt to find the utilities in standard locations used by
|
||||
EnterpriseDB.
|
||||
|
||||
* Use the *Greenplum Database Binary Path* field to specify the location of the Greenplum database utility programs. If this path is not set, pgAdmin will attempt to find the utilities in standard locations used by Greenplum.
|
||||
* Use the *Greenplum Database Binary Path* field to specify the location of the
|
||||
Greenplum database utility programs. If this path is not set, pgAdmin will
|
||||
attempt to find the utilities in standard locations used by Greenplum.
|
||||
|
||||
* Use the *PostgreSQL Binary Path* field to specify the location of the PostgreSQL utility programs. If this path is not set, pgAdmin will attempt to find the utilities in standard locations used by PostgreSQL.
|
||||
* Use the *PostgreSQL Binary Path* field to specify the location of the
|
||||
PostgreSQL utility programs. If this path is not set, pgAdmin will attempt
|
||||
to find the utilities in standard locations used by PostgreSQL.
|
||||
|
||||
.. image:: images/preferences_paths_help.png
|
||||
:alt: Preferences dialog binary path help section
|
||||
:align: center
|
||||
|
||||
Use the fields on the *Help* panel to specify the location of help files.
|
||||
|
||||
* Use the *EDB Advanced Server Help Path* to specify the path to EDB Postgres Advanced Server documentation.
|
||||
* Use the *EDB Advanced Server Help Path* to specify the path to EDB Postgres
|
||||
Advanced Server documentation.
|
||||
|
||||
* Use the *PostgreSQL Help Path* to specify the path to PostgreSQL documentation.
|
||||
* Use the *PostgreSQL Help Path* to specify the path to PostgreSQL
|
||||
documentation.
|
||||
|
||||
Please note: the default help paths include the *VERSION* placeholder; the $VERSION$ placeholder will be replaced by the current database version.
|
||||
Please note: the default help paths include the *VERSION* placeholder; the
|
||||
$VERSION$ placeholder will be replaced by the current database version.
|
||||
|
||||
**The Query Tool Node**
|
||||
The Query Tool Node
|
||||
*******************
|
||||
|
||||
Expand the *Query Tool* node to access panels that allow you to specify your preferences for the Query Editor tool.
|
||||
Expand the *Query Tool* node to access panels that allow you to specify your
|
||||
preferences for the Query Editor tool.
|
||||
|
||||
.. image:: images/preferences_sql_auto_completion.png
|
||||
:alt: Preferences dialog sqleditor auto completion option
|
||||
:align: center
|
||||
|
||||
Use the fields on the *Auto Completion* panel to set the auto completion options.
|
||||
|
||||
* When the *Keywords in uppercase* switch is set to *True* then keywords are shown in upper case.
|
||||
* When the *Keywords in uppercase* switch is set to *True* then keywords are
|
||||
shown in upper case.
|
||||
|
||||
.. image:: images/preferences_sql_csv_output.png
|
||||
:alt: Preferences dialog sqleditor csv output option
|
||||
:align: center
|
||||
|
||||
Use the fields on the *CSV Output* panel to control the CSV output.
|
||||
|
||||
* Use the *CSV field separator* drop-down listbox to specify the separator character that will be used in CSV output.
|
||||
* Use the *CSV quote character* drop-down listbox to specify the quote character that will be used in CSV output.
|
||||
* Use the *CSV quoting* drop-down listbox to select the fields that will be quoted in the CSV output; select *Strings*, *All*, or *None*.
|
||||
* Use the *Replace null values with* option to replace null values with specified string in the output file. Default is set to 'NULL'.
|
||||
* Use the *CSV field separator* drop-down listbox to specify the separator
|
||||
character that will be used in CSV output.
|
||||
* Use the *CSV quote character* drop-down listbox to specify the quote character
|
||||
that will be used in CSV output.
|
||||
* Use the *CSV quoting* drop-down listbox to select the fields that will be
|
||||
quoted in the CSV output; select *Strings*, *All*, or *None*.
|
||||
* Use the *Replace null values with* option to replace null values with
|
||||
specified string in the output file. Default is set to 'NULL'.
|
||||
|
||||
.. image:: images/preferences_sql_display.png
|
||||
:alt: Preferences dialog sqleditor display options
|
||||
:align: center
|
||||
|
||||
Use the fields on the *Display* panel to specify your preferences for the Query Tool display.
|
||||
Use the fields on the *Display* panel to specify your preferences for the Query
|
||||
Tool display.
|
||||
|
||||
* When the *Connection status* switch is set to *True*, each new instance of the Query Tool will display connection and transaction status.
|
||||
* When the *Connection status* switch is set to *True*, each new instance of the
|
||||
Query Tool will display connection and transaction status.
|
||||
|
||||
* Use the *Connection status refresh rate* field to specify the number of seconds between connection/transaction status updates.
|
||||
* Use the *Connection status refresh rate* field to specify the number of
|
||||
seconds between connection/transaction status updates.
|
||||
|
||||
* When the *Open in new browser tab* switch is set to *True*, each new instance of the Query Tool will open in a new browser tab.
|
||||
* When the *Open in new browser tab* switch is set to *True*, each new instance
|
||||
of the Query Tool will open in a new browser tab.
|
||||
|
||||
* Use the *Query info notifier timeout* field to control the behaviour of the notifier that is displayed when query execution completes. A value of *-1* will disable the notifier, and a value of 0 will display it until clicked. If a positive value above zero is specified, the notifier will be displayed for the specified number of seconds. The default is *5*.
|
||||
* Use the *Query info notifier timeout* field to control the behaviour of the
|
||||
notifier that is displayed when query execution completes. A value of *-1*
|
||||
will disable the notifier, and a value of 0 will display it until clicked. If
|
||||
a positive value above zero is specified, the notifier will be displayed for
|
||||
the specified number of seconds. The default is *5*.
|
||||
|
||||
.. image:: images/preferences_sql_explain.png
|
||||
:alt: Preferences dialog sqleditor explain options
|
||||
:align: center
|
||||
|
||||
Use the fields on the *Explain* panel to specify the level of detail included in a graphical EXPLAIN.
|
||||
Use the fields on the *Explain* panel to specify the level of detail included in
|
||||
a graphical EXPLAIN.
|
||||
|
||||
* When the *Show Buffers?* switch is set to *True*, graphical explain details will include information about buffer usage.
|
||||
* When the *Show Buffers?* switch is set to *True*, graphical explain details
|
||||
will include information about buffer usage.
|
||||
|
||||
* When the *Show Costs?* switch is set to *True*, graphical explain details will include information about the estimated startup and total cost of each plan, as well as the estimated number of rows and the estimated width of each row.
|
||||
* When the *Show Costs?* switch is set to *True*, graphical explain details will
|
||||
include information about the estimated startup and total cost of each plan,
|
||||
as well as the estimated number of rows and the estimated width of each row.
|
||||
|
||||
* When the *Show Timing?* switch is set to *True*, graphical explain details will include the startup time and time spent in each node in the output.
|
||||
* When the *Show Timing?* switch is set to *True*, graphical explain details
|
||||
will include the startup time and time spent in each node in the output.
|
||||
|
||||
* When the *Verbose output?* switch is set to *True*, graphical explain details will include extended information about the query execution plan.
|
||||
* When the *Verbose output?* switch is set to *True*, graphical explain details
|
||||
will include extended information about the query execution plan.
|
||||
|
||||
.. image:: images/preferences_sql_options.png
|
||||
:alt: Preferences dialog sqleditor options section
|
||||
:align: center
|
||||
|
||||
Use the fields on the *Options* panel to manage editor preferences.
|
||||
|
||||
* When the *Auto-Commit?* switch is set to *True*, each successful query is committed after execution.
|
||||
* When the *Auto-Commit?* switch is set to *True*, each successful query is
|
||||
committed after execution.
|
||||
|
||||
* When the *Auto-Rollback?* switch is set to *True*, failed queries are rolled back.
|
||||
* When the *Auto-Rollback?* switch is set to *True*, failed queries are rolled
|
||||
back.
|
||||
|
||||
* When the *Brace matching?* switch is set to *True*, the editor will highlight pairs of matched braces.
|
||||
* When the *Brace matching?* switch is set to *True*, the editor will highlight
|
||||
pairs of matched braces.
|
||||
|
||||
* Use the *Font size* field to specify the font size that will be used in text boxes and editors.
|
||||
* Use the *Font size* field to specify the font size that will be used in text
|
||||
boxes and editors.
|
||||
|
||||
* When the *Insert bracket pairs?* switch is set to *True*, the editor will automatically insert paired brackets.
|
||||
* When the *Insert bracket pairs?* switch is set to *True*, the editor will
|
||||
automatically insert paired brackets.
|
||||
|
||||
* When the *Line wrapping* switch is set to *True*, the editor will implement line-wrapping behavior.
|
||||
* When the *Line wrapping* switch is set to *True*, the editor will implement
|
||||
line-wrapping behavior.
|
||||
|
||||
* When the *Prompt to save unsaved data changes?* switch is set to *True*, the editor will prompt the user to saved unsaved data when exiting the data editor.
|
||||
* When the *Prompt to save unsaved data changes?* switch is set to *True*, the
|
||||
editor will prompt the user to saved unsaved data when exiting the data
|
||||
editor.
|
||||
|
||||
* When the *Prompt to save unsaved query changes?* switch is set to *True*, the editor will prompt the user to saved unsaved query modifications when exiting the query tool.
|
||||
* When the *Prompt to save unsaved query changes?* switch is set to *True*, the
|
||||
editor will prompt the user to saved unsaved query modifications when exiting
|
||||
the Query Tool.
|
||||
|
||||
* Use the *Tab size* field to specify the number of spaces per tab character in the editor.
|
||||
* Use the *Tab size* field to specify the number of spaces per tab character in
|
||||
the editor.
|
||||
|
||||
* When the *Use spaces* switch is set to *True*, the editor will insert spaces (instead of tab characters) when the tab key or auto-indent are used.
|
||||
* When the *Use spaces* switch is set to *True*, the editor will insert spaces
|
||||
(instead of tab characters) when the tab key or auto-indent are used.
|
||||
|
||||
.. image:: images/preferences_sql_results_grid.png
|
||||
:alt: Preferences dialog sql results grid section
|
||||
:align: center
|
||||
|
||||
Use the fields on the *Results grid* panel to specify your formatting preferences for copied data.
|
||||
Use the fields on the *Results grid* panel to specify your formatting
|
||||
preferences for copied data.
|
||||
|
||||
* Use the *Result copy field separator* drop-down listbox to select the field separator for copied data.
|
||||
* Use the *Result copy quote character* drop-down listbox to select the quote character for copied data.
|
||||
* Use the *Result copy quoting* drop-down listbox to select which type of fields require quoting; select *All*, *None*, or *Strings*.
|
||||
* Use the *Result copy field separator* drop-down listbox to select the field
|
||||
separator for copied data.
|
||||
* Use the *Result copy quote character* drop-down listbox to select the quote
|
||||
character for copied data.
|
||||
* Use the *Result copy quoting* drop-down listbox to select which type of fields
|
||||
require quoting; select *All*, *None*, or *Strings*.
|
||||
|
||||
Use the fields on the *Keyboard shortcuts* panel to configure shortcuts for the query tool window navigation:
|
||||
Use the fields on the *Keyboard shortcuts* panel to configure shortcuts for the
|
||||
Query Tool window navigation:
|
||||
|
||||
.. image:: images/preferences_sql_keyboard_shortcuts.png
|
||||
:alt: Preferences dialog sql keyboard shortcuts section
|
||||
:align: center
|
||||
|
||||
**The Storage Node**
|
||||
The Storage Node
|
||||
****************
|
||||
|
||||
Expand the *Storage* node to specify your storage preferences.
|
||||
|
||||
.. image:: images/preferences_storage_options.png
|
||||
:alt: Preferences dialog storage section
|
||||
:align: center
|
||||
|
||||
Use the fields on the *Options* panel to specify storage preferences.
|
||||
|
||||
* Use the *File dialog view* drop-down listbox to select the style of icons and display format that will be displayed when you open the file manager; select *List* to display a list view, or *Grid* to display folder icons.
|
||||
* Use the *File dialog view* drop-down listbox to select the style of icons and
|
||||
display format that will be displayed when you open the file manager; select
|
||||
*List* to display a list view, or *Grid* to display folder icons.
|
||||
|
||||
* Use the *Last directory visited* field to specify the name of the folder in which the file manager will open.
|
||||
* Use the *Last directory visited* field to specify the name of the folder in
|
||||
which the file manager will open.
|
||||
|
||||
* Use the *Maximum file upload size(MB)* field on the *Options* panel of the **Storage** node to specify the maximum file size for an upload.
|
||||
* Use the *Maximum file upload size(MB)* field on the *Options* panel of the
|
||||
**Storage** node to specify the maximum file size for an upload.
|
||||
|
||||
* When the *Show hidden files and folders?* switch is set to *True*, the file manager will display hidden files and folders.
|
||||
* When the *Show hidden files and folders?* switch is set to *True*, the file
|
||||
manager will display hidden files and folders.
|
||||
|
||||
|
||||
|
|
|
@ -4,47 +4,75 @@
|
|||
`Primary key Dialog`:index:
|
||||
***************************
|
||||
|
||||
Use the *Primary key* dialog to create or modify a primary key constraint. A primary key constraint indicates that a column, or group of columns, uniquely identifies rows in a table. This requires that the values in the selected column(s) be both unique and not null.
|
||||
Use the *Primary key* dialog to create or modify a primary key constraint. A
|
||||
primary key constraint indicates that a column, or group of columns, uniquely
|
||||
identifies rows in a table. This requires that the values in the selected
|
||||
column(s) be both unique and not null.
|
||||
|
||||
The *Primary key* dialog organizes the development of a primary key constraint through the *General* and *Definition* tabs. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *Primary key* dialog organizes the development of a primary key constraint
|
||||
through the *General* and *Definition* tabs. The *SQL* tab displays the SQL code
|
||||
generated by dialog selections.
|
||||
|
||||
.. image:: images/primary_key_general.png
|
||||
:alt: Primary key dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to identify the primary key:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the primary key constraint. The name will be displayed in the *pgAdmin* tree control.
|
||||
* Use the *Name* field to add a descriptive name for the primary key constraint.
|
||||
The name will be displayed in the *pgAdmin* tree control.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/primary_key_definition.png
|
||||
:alt: Primary key dialog definition tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Definition* tab to define the primary key constraint:
|
||||
|
||||
* Click inside the *Columns* field and select one or more column names from the drop-down listbox. To delete a selection, click the *x* to the left of the column name. The primary key constraint should be different from any unique constraint defined for the same table; the selected column(s) for the constraints must be distinct.
|
||||
* Use *Include columns* field to specify columns for *INCLUDE* clause of the index. This option is available in Postgres 11 and later.
|
||||
* Select the name of the tablespace in which the primary key constraint will reside from the drop-down listbox in the *Tablespace* field.
|
||||
* Select the name of an index from the drop-down listbox in the *Index* field. This field is optional. Adding a primary key will automatically create a unique B-tree index on the column or group of columns listed in the primary key, and will force the column(s) to be marked NOT NULL.
|
||||
* Use the *Fill Factor* field to specify a fill factor for the table and index. The fill factor for a table is a percentage between 10 and 100. 100 (complete packing) is the default.
|
||||
* Move the *Deferrable?* switch to the *Yes* position to specify the timing of the constraint is deferrable and can be postponed until the end of the statement. The default is *No*.
|
||||
* If enabled, move the *Deferred?* switch to the *Yes* position to specify the timing of the constraint is deferred to the end of the statement. The default is *No*.
|
||||
* Click inside the *Columns* field and select one or more column names from the
|
||||
drop-down listbox. To delete a selection, click the *x* to the left of the
|
||||
column name. The primary key constraint should be different from any unique
|
||||
constraint defined for the same table; the selected column(s) for the
|
||||
constraints must be distinct.
|
||||
* Use *Include columns* field to specify columns for *INCLUDE* clause of the
|
||||
index. This option is available in Postgres 11 and later.
|
||||
* Select the name of the tablespace in which the primary key constraint will
|
||||
reside from the drop-down listbox in the *Tablespace* field.
|
||||
* Select the name of an index from the drop-down listbox in the *Index* field.
|
||||
This field is optional. Adding a primary key will automatically create a
|
||||
unique B-tree index on the column or group of columns listed in the primary
|
||||
key, and will force the column(s) to be marked NOT NULL.
|
||||
* Use the *Fill Factor* field to specify a fill factor for the table and index.
|
||||
The fill factor for a table is a percentage between 10 and 100. 100 (complete
|
||||
packing) is the default.
|
||||
* Move the *Deferrable?* switch to the *Yes* position to specify the timing of
|
||||
the constraint is deferrable and can be postponed until the end of the
|
||||
statement. The default is *No*.
|
||||
* If enabled, move the *Deferred?* switch to the *Yes* position to specify the
|
||||
timing of the constraint is deferred to the end of the statement. The default
|
||||
is *No*.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *Primary key* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
|
||||
Your entries in the *Primary key* dialog generate a SQL command (see an example
|
||||
below). Use the *SQL* tab for review; revisit or switch tabs to make any changes
|
||||
to the SQL command.
|
||||
|
||||
**Example**
|
||||
Example
|
||||
*******
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Primary key* dialog:
|
||||
The following is an example of the sql command generated by user selections in
|
||||
the *Primary key* dialog:
|
||||
|
||||
.. image:: images/primary_key_sql.png
|
||||
:alt: Primary key dialog sql tab
|
||||
:align: center
|
||||
|
||||
The example shown demonstrates creating a primary key constraint named *dept_pkey* on the *dept_id* column of the *dept* table.
|
||||
The example shown demonstrates creating a primary key constraint named
|
||||
*dept_pkey* on the *dept_id* column of the *dept* table.
|
||||
|
||||
|
||||
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
|
||||
* 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.
|
|
@ -15,103 +15,155 @@ dialog selections.
|
|||
|
||||
.. image:: images/procedure_general.png
|
||||
:alt: Procedure dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to identify a procedure:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the procedure. The name will be displayed in the *pgAdmin* tree control.
|
||||
* Use the *Name* field to add a descriptive name for the procedure. The name
|
||||
will be displayed in the *pgAdmin* tree control.
|
||||
* Use the drop-down listbox next to *Owner* to select a role.
|
||||
* Select the name of the schema in which the procedure will reside from the drop-down listbox in the *Schema* field.
|
||||
* Select the name of the schema in which the procedure will reside from the
|
||||
drop-down listbox in the *Schema* field.
|
||||
* Store notes about the procedure in the *Comment* field.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/procedure_definition.png
|
||||
:alt: Procedure dialog definition tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Definition* tab to define the procedure:
|
||||
|
||||
* Use the drop-down listbox next to *Language* to select a language. The default is *edbspl*.
|
||||
* Use the *Code* field to specify the code that will execute when the procedure is called.
|
||||
* Use the drop-down listbox next to *Language* to select a language. The default
|
||||
is *edbspl*.
|
||||
* Use the *Code* field to specify the code that will execute when the procedure
|
||||
is called.
|
||||
|
||||
Click the *Options* tab to continue.
|
||||
|
||||
.. image:: images/procedure_options.png
|
||||
:alt: Procedure dialog options tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Options* tab to describe or modify the behavior of the procedure:
|
||||
Use the fields in the *Options* tab to describe or modify the behavior of the
|
||||
procedure:
|
||||
|
||||
* Use the drop-down listbox under *Volatility* to select one of the following. *VOLATILE* is the default value.
|
||||
* Use the drop-down listbox under *Volatility* to select one of the following.
|
||||
*VOLATILE* is the default value.
|
||||
|
||||
* *VOLATILE* indicates that the value can change even within a single table scan, so no optimizations can be made.
|
||||
* *STABLE* indicates that the procedure cannot modify the database, and that within a single table scan it will consistently return the same result for the same argument values, but that its result could change across SQL statements.
|
||||
* *IMMUTABLE* indicates that the procedure cannot modify the database and always returns the same result when given the same argument values.
|
||||
* *VOLATILE* indicates that the value can change even within a single table
|
||||
scan, so no optimizations can be made.
|
||||
* *STABLE* indicates that the procedure cannot modify the database, and that
|
||||
within a single table scan it will consistently return the same result for
|
||||
the same argument values, but that its result could change across SQL
|
||||
statements.
|
||||
* *IMMUTABLE* indicates that the procedure cannot modify the database and
|
||||
always returns the same result when given the same argument values.
|
||||
|
||||
* Move the *Strict?* switch to indicate if the procedure always returns NULL whenever any of its arguments are NULL. If *Yes*, the procedure is not executed when there are NULL arguments; instead a NULL result is assumed automatically. The default is *No*.
|
||||
* Move the *Security of definer?* switch to specify that the procedure is to be executed with the privileges of the user that created it. The default is *No*.
|
||||
* Use the *Estimated cost* field to specify a positive number representing the estimated execution cost for the procedure, in units of cpu_operator_cost. If the procedure returns a set, this is the cost per returned row.
|
||||
* Move the *Leak proof?* switch to indicate whether the procedure has side effects — it reveals no information about its arguments other than by its return value. The default is *No*.
|
||||
* Move the *Strict?* switch to indicate if the procedure always returns NULL
|
||||
whenever any of its arguments are NULL. If *Yes*, the procedure is not
|
||||
executed when there are NULL arguments; instead a NULL result is assumed
|
||||
automatically. The default is *No*.
|
||||
* Move the *Security of definer?* switch to specify that the procedure is to be
|
||||
executed with the privileges of the user that created it. The default is *No*.
|
||||
* Use the *Estimated cost* field to specify a positive number representing the
|
||||
estimated execution cost for the procedure, in units of cpu_operator_cost. If
|
||||
the procedure returns a set, this is the cost per returned row.
|
||||
* Move the *Leak proof?* switch to indicate whether the procedure has side
|
||||
effects — it reveals no information about its arguments other than by its
|
||||
return value. The default is *No*.
|
||||
|
||||
Click the *Arguments* tab to continue.
|
||||
|
||||
.. image:: images/procedure_arguments.png
|
||||
:alt: Procedure dialog arguments tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Arguments* tab to define an argument. Click *Add* to set parameters and values for the argument:
|
||||
Use the fields in the *Arguments* tab to define an argument. Click *Add* to set
|
||||
parameters and values for the argument:
|
||||
|
||||
* Use the drop-down listbox next to *Data type* to select a data type.
|
||||
* Use the drop-down listbox next to *Mode* to select a mode. Select *IN* for an input parameter; select *OUT* for an output parameter; select *INOUT* for both an input and an output parameter; or, select *VARIADIC* to specify a VARIADIC parameter.
|
||||
* Use the drop-down listbox next to *Mode* to select a mode. Select *IN* for an
|
||||
input parameter; select *OUT* for an output parameter; select *INOUT* for both
|
||||
an input and an output parameter; or, select *VARIADIC* to specify a VARIADIC
|
||||
parameter.
|
||||
* Write a name for the argument in the *Argument Name* field.
|
||||
* Specify a default value for the argument in the *Default Value* field.
|
||||
|
||||
Click *Add* to define another argument; to discard an argument, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
|
||||
Click *Add* to define another argument; to discard an argument, click the trash
|
||||
icon to the left of the row and confirm deletion in the *Delete Row* popup.
|
||||
|
||||
Click the *Parameters* tab to continue.
|
||||
|
||||
.. image:: images/procedure_parameters.png
|
||||
:alt: Procedure dialog parameters tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Parameters* tab to specify settings that will be applied when the procedure is invoked:
|
||||
Use the fields in the *Parameters* tab to specify settings that will be applied
|
||||
when the procedure is invoked:
|
||||
|
||||
* Use the drop-down listbox next to *Parameter Name* in the *Parameters* panel to select a parameter.
|
||||
* Use the drop-down listbox next to *Parameter Name* in the *Parameters* panel
|
||||
to select a parameter.
|
||||
* Click the *Add* button to add the variable to *Name* field in the table.
|
||||
* Use the *Value* field to specify the value that will be associated with the selected variable. This field is context-sensitive.
|
||||
* Use the *Value* field to specify the value that will be associated with the
|
||||
selected variable. This field is context-sensitive.
|
||||
|
||||
Click the *Security* tab to continue.
|
||||
|
||||
.. image:: images/procedure_security.png
|
||||
:alt: Procedure dialog security tab
|
||||
:align: center
|
||||
|
||||
Use the *Security* tab to assign privileges and define security labels.
|
||||
|
||||
Use the *Privileges* panel to assign execute privileges for the procedure to a role:
|
||||
Use the *Privileges* panel to assign execute privileges for the procedure to a
|
||||
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.
|
||||
* 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.
|
||||
|
||||
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* popup.
|
||||
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*
|
||||
popup.
|
||||
|
||||
Use the *Security Labels* panel to define security labels applied to the procedure. Click *Add* to add each security label selection:
|
||||
Use the *Security Labels* panel to define security labels applied to the
|
||||
procedure. Click *Add* to add each security label selection:
|
||||
|
||||
* Specify a security label provider in the *Provider* field. The named provider must be loaded and must consent to the proposed labeling operation.
|
||||
* Specify a a security label in the *Security Label* field. The meaning of a given label is at the discretion of the label provider. PostgreSQL places no restrictions on whether or how a label provider must interpret security labels; it merely provides a mechanism for storing them.
|
||||
* Specify a security label provider in the *Provider* field. The named provider
|
||||
must be loaded and must consent to the proposed labeling operation.
|
||||
* Specify a a security label in the *Security Label* field. The meaning of a
|
||||
given label is at the discretion of the label provider. PostgreSQL places no
|
||||
restrictions on whether or how a label provider must interpret security
|
||||
labels; it merely provides a mechanism for storing them.
|
||||
|
||||
Click *Add* to assign additional security labels; to discard a security label, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
|
||||
Click *Add* to assign additional security labels; to discard a security label,
|
||||
click the trash icon to the left of the row and confirm deletion in the *Delete
|
||||
Row* popup.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *Procedure* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
|
||||
Your entries in the *Procedure* dialog generate a SQL command (see an example
|
||||
below). Use the *SQL* tab for review; revisit or switch tabs to make any changes
|
||||
to the SQL command.
|
||||
|
||||
**Example**
|
||||
Example
|
||||
*******
|
||||
|
||||
The following is an example of the sql command generated by selections made in the *Procedure* dialog:
|
||||
The following is an example of the sql command generated by selections made in
|
||||
the *Procedure* dialog:
|
||||
|
||||
.. image:: images/procedure_sql.png
|
||||
:alt: Procedure dialog sql tab
|
||||
:align: center
|
||||
|
||||
The example demonstrates creating a procedure that returns a list of employees from a table named *emp*. The procedure is a SECURITY DEFINER, and will execute with the privileges of the role that defined the procedure.
|
||||
The example demonstrates creating a procedure that returns a list of employees
|
||||
from a table named *emp*. The procedure is a SECURITY DEFINER, and will execute
|
||||
with the privileges of the role that defined the procedure.
|
||||
|
||||
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
|
||||
* 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.
|
|
@ -19,6 +19,7 @@ allows you to:
|
|||
|
||||
.. image:: images/query_tool.png
|
||||
:alt: Query tool window
|
||||
:align: center
|
||||
|
||||
You can open multiple copies of the Query tool in individual tabs
|
||||
simultaneously. To close a copy of the Query tool, click the *X* in the
|
||||
|
@ -37,132 +38,18 @@ The Query Tool features two panels:
|
|||
server messages related to the query's execution and any asynchronous
|
||||
notifications received from the server.
|
||||
|
||||
**The Query Tool Toolbar**
|
||||
Toolbar
|
||||
*******
|
||||
|
||||
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. Please note that disabled
|
||||
icons may support functionality accessed via the :ref:`data editor <editgrid>`.
|
||||
The toolbar is described in the following subsections.
|
||||
|
||||
.. image:: images/query_toolbar.png
|
||||
:alt: Query tool toolbar
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Hover over an icon to display a tooltip that describes the icon's functionality:
|
||||
query_tool_toolbar
|
||||
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
|
||||
| Icon | Behavior | Shortcut |
|
||||
+======================+===================================================================================================+================+
|
||||
| *Open File* | Click the *Open File* icon to display a previously saved query in the SQL Editor. | Accesskey + O |
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
|
||||
| *Save* | 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. | |
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
|
||||
| *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 |
|
||||
| | when in View/Edit data mode. | |
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
|
||||
| *Paste* | Click the *Paste* icon to paste a previously row into a new row when in View/Edit data mode. | Accesskey + P |
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
|
||||
| *Delete* | Click the *Delete* icon to delete the selected rows when in View/Edit data mode. | 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 | Cmd+/ |
|
||||
| | SQL style comment notation. | |
|
||||
| | | |
|
||||
| | * Select *Inline Uncomment Selection* to remove SQL style comment notation from the | Cmd+. |
|
||||
| | selected line. | |
|
||||
| | | |
|
||||
| | * Select *Block Comment* to enclose all lines that contain the selection in C style | Shift+Cmd+/ |
|
||||
| | comment notation. This option acts as a toggle. | |
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
|
||||
| *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 |
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
|
||||
| *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. | |
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
|
||||
|
||||
|
||||
**The SQL Editor Panel**
|
||||
The SQL Editor Panel
|
||||
********************
|
||||
|
||||
The *SQL editor* panel is a workspace where you can manually provide a query,
|
||||
copy a query from another source, or read a query from a file. The SQL editor
|
||||
|
@ -170,6 +57,7 @@ features syntax coloring and autocompletion.
|
|||
|
||||
.. image:: images/query_sql_editor.png
|
||||
:alt: Query tool editor
|
||||
:align: center
|
||||
|
||||
To use autocomplete, begin typing your query; when you would like the Query
|
||||
editor to suggest object names or commands that might be next in your query,
|
||||
|
@ -179,6 +67,7 @@ key combination to select from a popup menu of autocomplete options.
|
|||
|
||||
.. image:: images/query_autocomplete.png
|
||||
:alt: Query tool autocomplete feature
|
||||
:align: center
|
||||
|
||||
After entering a query, select the *Execute/Refresh* icon from the toolbar. The
|
||||
complete contents of the SQL editor panel will be sent to the database server
|
||||
|
@ -188,6 +77,7 @@ the *Execute/Refresh* icon.
|
|||
|
||||
.. image:: images/query_execute_section.png
|
||||
:alt: Query tool execute query section
|
||||
:align: center
|
||||
|
||||
The message returned by the server when a command executes is displayed on the
|
||||
*Messages* tab. If the command is successful, the *Messages* tab displays
|
||||
|
@ -195,6 +85,7 @@ execution details.
|
|||
|
||||
.. image:: images/query_tool_message.png
|
||||
:alt: Query tool message panel
|
||||
:align: center
|
||||
|
||||
Options on the *Edit* menu offer functionality that helps with code formatting
|
||||
and commenting:
|
||||
|
@ -206,13 +97,15 @@ and commenting:
|
|||
code.
|
||||
|
||||
|
||||
**The Data Output Panel**
|
||||
The Data Output Panel
|
||||
*********************
|
||||
|
||||
The *Data Output* panel displays data and statistics generated by the most
|
||||
recently executed query.
|
||||
|
||||
.. image:: images/query_output_data.png
|
||||
:alt: Query tool output panel
|
||||
:align: center
|
||||
|
||||
The *Data Output* tab displays the result set of the query in a table format.
|
||||
You can:
|
||||
|
@ -225,12 +118,13 @@ You can:
|
|||
|
||||
All rowsets from previous queries or commands that are displayed in the *Data
|
||||
Output* panel will be discarded when you invoke another query; open another
|
||||
query tool browser tab to keep your previous results available.
|
||||
Query Tool tab to keep your previous results available.
|
||||
|
||||
Use the *Explain* tab to view a graphical representation of a query:
|
||||
|
||||
.. image:: images/query_output_explain.png
|
||||
:alt: Query tool explain panel
|
||||
:align: center
|
||||
|
||||
To generate a graphical explain diagram, open the *Explain* tab, and select
|
||||
*Explain*, *Explain Analyze*, or one or more options from the *Explain options*
|
||||
|
@ -246,6 +140,7 @@ the plan as an SVG file.
|
|||
|
||||
.. image:: images/query_output_explain_details.png
|
||||
:alt: Query tool graphical explain plan
|
||||
:align: center
|
||||
|
||||
Note that the query plan that accompanies the *Explain analyze* is available on
|
||||
the *Data Output* tab.
|
||||
|
@ -255,6 +150,7 @@ query:
|
|||
|
||||
.. image:: images/query_output_error.png
|
||||
:alt: Query tool output messages
|
||||
:align: center
|
||||
|
||||
If the server returns an error, the error message will be displayed on the
|
||||
*Messages* tab, and the syntax that caused the error will be underlined in the
|
||||
|
@ -263,11 +159,13 @@ query took to complete and how many rows were retrieved:
|
|||
|
||||
.. image:: images/query_output_messages.png
|
||||
:alt: Query tool output information
|
||||
:align: center
|
||||
|
||||
Use the *Query History* tab to review activity for the current session:
|
||||
|
||||
.. image:: images/query_output_history.png
|
||||
:alt: Query tool history panel
|
||||
:align: center
|
||||
|
||||
The Query History tab displays information about recent commands:
|
||||
|
||||
|
@ -282,7 +180,8 @@ To erase the content of the *Query History* tab, select *Clear history* from
|
|||
the *Clear* drop-down menu.
|
||||
|
||||
Use the *Connection status* feature to view the current connection and
|
||||
transaction status by clicking on the status icon in query tool:
|
||||
transaction status by clicking on the status icon in the Query Tool:
|
||||
|
||||
.. image:: images/query_tool_connection_status.png
|
||||
:alt: Query tool connection and transaction statuses
|
||||
:align: center
|
||||
|
|
|
@ -0,0 +1,168 @@
|
|||
.. _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
|
||||
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
|
||||
| Icon | Behavior | Shortcut |
|
||||
+======================+===================================================================================================+================+
|
||||
| *Open File* | Click the *Open File* icon to display a previously saved query in the SQL Editor. | Accesskey + O |
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
|
||||
| *Save* | 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
|
||||
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
|
||||
| Icon | Behavior | Shortcut |
|
||||
+======================+===================================================================================================+================+
|
||||
| *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 |
|
||||
| | when in View/Edit data mode. | |
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
|
||||
| *Paste* | Click the *Paste* icon to paste a previously row into a new row when in View/Edit data mode. | Accesskey + P |
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
|
||||
| *Delete* | Click the *Delete* icon to delete the selected rows when in View/Edit data mode. | 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 | Cmd+/ |
|
||||
| | SQL style comment notation. | |
|
||||
| | | |
|
||||
| | * Select *Inline Uncomment Selection* to remove SQL style comment notation from the | Cmd+. |
|
||||
| | selected line. | |
|
||||
| | | |
|
||||
| | * Select *Block Comment* to enclose all lines that contain the selection in C style | Shift+Cmd+/ |
|
||||
| | comment notation. This option acts as a toggle. | |
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
|
||||
|
||||
View/Edit Data Resultset Control
|
||||
********************************
|
||||
|
||||
.. table::
|
||||
:class: longtable
|
||||
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
|
||||
| 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
|
||||
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
|
||||
| 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. | |
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
|
|
@ -3,11 +3,13 @@ Release Notes
|
|||
*************
|
||||
|
||||
|
||||
pgAdmin release notes provide information on the features and improvements in each release. This page includes release
|
||||
notes for major releases and minor (bugfix) releases. Select your version from the list below to see the release notes
|
||||
for it.
|
||||
pgAdmin release notes provide information on the features and improvements in
|
||||
each release. This page includes release notes for major releases and minor
|
||||
(bugfix) releases. Select your version from the list below to see the release
|
||||
notes for it.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
release_notes_4_4
|
||||
release_notes_4_3
|
||||
|
|
|
@ -4,7 +4,8 @@ Version 1.0
|
|||
|
||||
Release date: 2016-09-29
|
||||
|
||||
The first major release of pgAdmin 4. With a more modern look and feel, this release includes the following features;
|
||||
The first major release of pgAdmin 4. With a more modern look and feel, this
|
||||
release includes the following features;
|
||||
|
||||
* Multiplatform
|
||||
* Designed for multiple PostgreSQL versions and derivatives
|
||||
|
|
|
@ -4,7 +4,8 @@ Version 1.1
|
|||
|
||||
Release date: 2016-10-27
|
||||
|
||||
This release contains a number of features and fixes reported since the release of pgAdmin4 1.0;
|
||||
This release contains a number of features and fixes reported since the release
|
||||
of pgAdmin4 1.0;
|
||||
|
||||
Features
|
||||
********
|
||||
|
|
|
@ -4,7 +4,8 @@ Version 1.2
|
|||
|
||||
Release date: 2017-02-10
|
||||
|
||||
This release contains a number of features and fixes reported since the release of pgAdmin4 1.1.
|
||||
This release contains a number of features and fixes reported since the release
|
||||
of pgAdmin4 1.1.
|
||||
|
||||
Features
|
||||
********
|
||||
|
@ -34,7 +35,7 @@ Bug fixes
|
|||
| `Bug #1599 <https://redmine.postgresql.org/issues/1599>`_ - Ensure the grant wizard works with objects with special characters in the name
|
||||
| `Bug #1603 <https://redmine.postgresql.org/issues/1603>`_ - Fix quoting of objects names for external utilities.
|
||||
| `Bug #1679 <https://redmine.postgresql.org/issues/1679>`_ - Re-engineer the background process executor to avoid using sqlite as some builds of components it relies on do not support working in forked children
|
||||
| `Bug #1680 <https://redmine.postgresql.org/issues/1680>`_ - Render column headers at the correct width in the query tool under Firefox
|
||||
| `Bug #1680 <https://redmine.postgresql.org/issues/1680>`_ - Render column headers at the correct width in the Query Tool under Firefox
|
||||
| `Bug #1729 <https://redmine.postgresql.org/issues/1729>`_ - Improve display of role options
|
||||
| `Bug #1730 <https://redmine.postgresql.org/issues/1730>`_ - Improve the display of role membership on both the properties panel and role dialogue
|
||||
| `Bug #1745 <https://redmine.postgresql.org/issues/1745>`_ - Ensure breakpoints are cleared properly when working with Debugger
|
||||
|
@ -43,7 +44,7 @@ Bug fixes
|
|||
| `Bug #1792 <https://redmine.postgresql.org/issues/1792>`_ - List files and folders alphabetically
|
||||
| `Bug #1800 <https://redmine.postgresql.org/issues/1800>`_ - Handle the template property on databases appropriately
|
||||
| `Bug #1801 <https://redmine.postgresql.org/issues/1801>`_ - Handle databases with datallowconn == false
|
||||
| `Bug #1807 <https://redmine.postgresql.org/issues/1807>`_ - Properly detect when files have changed in the query tool and set flag accordingly
|
||||
| `Bug #1807 <https://redmine.postgresql.org/issues/1807>`_ - Properly detect when files have changed in the Query Tool and set flag accordingly
|
||||
| `Bug #1830 <https://redmine.postgresql.org/issues/1830>`_ - Fix a SQL error when reverse-engineering ROLE SQL on EPAS servers
|
||||
| `Bug #1832 <https://redmine.postgresql.org/issues/1832>`_ - Prevent attempts to access what may be an empty list in Dependancies tab
|
||||
| `Bug #1840 <https://redmine.postgresql.org/issues/1840>`_ - Enable/disable NULLs and ASC/DESC options for index columns and exclusion constraints appropriately
|
||||
|
@ -64,7 +65,7 @@ Bug fixes
|
|||
| `Bug #1939 <https://redmine.postgresql.org/issues/1939>`_ - Updated dynamic default for the window size (90% x 90%)
|
||||
| `Bug #1949 <https://redmine.postgresql.org/issues/1949>`_ - Ensure trigger function names are schema qualified in trigger RE-SQL
|
||||
| `Bug #1951 <https://redmine.postgresql.org/issues/1951>`_ - Fix issue where nnable to browse table columns when oid values exceeed max int
|
||||
| `Bug #1953 <https://redmine.postgresql.org/issues/1953>`_ - Add display messages and notices received in the query tool
|
||||
| `Bug #1953 <https://redmine.postgresql.org/issues/1953>`_ - Add display messages and notices received in the Query Tool
|
||||
| `Bug #1961 <https://redmine.postgresql.org/issues/1961>`_ - Fix upgrade check on Python 3
|
||||
| `Bug #1962 <https://redmine.postgresql.org/issues/1962>`_ - Ensure treeview collection nodes are translated in the UI
|
||||
| `Bug #1967 <https://redmine.postgresql.org/issues/1967>`_ - Store layout changes on each adjustment
|
||||
|
|
|
@ -4,7 +4,8 @@ Version 1.3
|
|||
|
||||
Release date: 2017-03-10
|
||||
|
||||
This release contains a number of features and fixes reported since the release of pgAdmin4 1.2.
|
||||
This release contains a number of features and fixes reported since the release
|
||||
of pgAdmin4 1.2.
|
||||
|
||||
Features
|
||||
********
|
||||
|
@ -26,7 +27,7 @@ Bug fixes
|
|||
| `Bug #2115 <https://redmine.postgresql.org/issues/2115>`_ - Fix exclusion constraint reverse engineered SQL
|
||||
| `Bug #2119 <https://redmine.postgresql.org/issues/2119>`_ - Fix display of long integers and decimals
|
||||
| `Bug #2126 <https://redmine.postgresql.org/issues/2126>`_ - Correct node labels in Preferences for EDB functions and procedures
|
||||
| `Bug #2151 <https://redmine.postgresql.org/issues/2151>`_ - Display un-sized varlen column types correctly in the query tool
|
||||
| `Bug #2151 <https://redmine.postgresql.org/issues/2151>`_ - Display un-sized varlen column types correctly in the Query Tool
|
||||
| `Bug #2154 <https://redmine.postgresql.org/issues/2154>`_ - Fix display of long integers and decimals
|
||||
| `Bug #2159 <https://redmine.postgresql.org/issues/2159>`_ - Resolve issue where Query editor is not working with Python2.6
|
||||
| `Bug #2160 <https://redmine.postgresql.org/issues/2160>`_ - Various encoding fixes to allow 'ascii' codec to decode byte 0xc3 in position 66: ordinal not in range(128)
|
||||
|
@ -40,7 +41,7 @@ Bug fixes
|
|||
| `Bug #2201 <https://redmine.postgresql.org/issues/2201>`_ - Fix renaming of check constraints when the table name is changed at the same time
|
||||
| `Bug #2202 <https://redmine.postgresql.org/issues/2202>`_ - Fix issue where Dependents query fails due to non ascii characters
|
||||
| `Bug #2204 <https://redmine.postgresql.org/issues/2204>`_ - Fixed issue where pgadmin 4 jobs not showing any activity
|
||||
| `Bug #2205 <https://redmine.postgresql.org/issues/2205>`_ - Fix display of boolean nulls in the query tool
|
||||
| `Bug #2205 <https://redmine.postgresql.org/issues/2205>`_ - Fix display of boolean nulls in the Query Tool
|
||||
| `Bug #2208 <https://redmine.postgresql.org/issues/2208>`_ - Ensure primary key column names are quoted in View Data mode of the Query Tool
|
||||
| `Bug #2212 <https://redmine.postgresql.org/issues/2212>`_ - Ensure servers are deleted when their parent group is deleted
|
||||
| `Bug #2213 <https://redmine.postgresql.org/issues/2213>`_ - Enable right click on browser tree
|
||||
|
|
|
@ -4,7 +4,8 @@ Version 1.4
|
|||
|
||||
Release date: 2017-04-13
|
||||
|
||||
This release contains a number of features and fixes reported since the release of pgAdmin4 1.3.
|
||||
This release contains a number of features and fixes reported since the release
|
||||
of pgAdmin4 1.3.
|
||||
|
||||
Features
|
||||
********
|
||||
|
@ -33,13 +34,13 @@ Bug fixes
|
|||
| `Bug #2277 <https://redmine.postgresql.org/issues/2277>`_ - Resolved various file-system encoding/decoding related cases
|
||||
| `Bug #2281 <https://redmine.postgresql.org/issues/2281>`_ - Ensure menus are updated after disconnecting a server
|
||||
| `Bug #2283 <https://redmine.postgresql.org/issues/2283>`_ - Check if cell is in multiselect mode before setting default selection of multiple values
|
||||
| `Bug #2287 <https://redmine.postgresql.org/issues/2287>`_ - Properly handle EXPLAIN queries entered directly by the user in the query tool
|
||||
| `Bug #2291 <https://redmine.postgresql.org/issues/2291>`_ - Fix error highlighting in the query tool
|
||||
| `Bug #2287 <https://redmine.postgresql.org/issues/2287>`_ - Properly handle EXPLAIN queries entered directly by the user in the Query Tool
|
||||
| `Bug #2291 <https://redmine.postgresql.org/issues/2291>`_ - Fix error highlighting in the Query Tool
|
||||
| `Bug #2299 <https://redmine.postgresql.org/issues/2299>`_ - Fix usage of QString
|
||||
| `Bug #2303 <https://redmine.postgresql.org/issues/2303>`_ - Fix ascending/descending sort order in backgrid while clicking on the headers
|
||||
| `Bug #2304 <https://redmine.postgresql.org/issues/2304>`_ - Resolve the issue for restoring the table from the backup
|
||||
| `Bug #2305 <https://redmine.postgresql.org/issues/2305>`_ - Resolve the issue where Generic function qtLiteral was not adapting values properly when they contain non ascii characters
|
||||
| `Bug #2310 <https://redmine.postgresql.org/issues/2310>`_ - Fix Dialog Help where query tool/Debugger opens in new browser tab
|
||||
| `Bug #2310 <https://redmine.postgresql.org/issues/2310>`_ - Fix Dialog Help where Query Tool/Debugger opens in new browser tab
|
||||
| `Bug #2319 <https://redmine.postgresql.org/issues/2319>`_ - Resolve issue where Click on pgAdmin4 logo leads to unauthorized error
|
||||
| `Bug #2321 <https://redmine.postgresql.org/issues/2321>`_ - Improved functionality of browser tree when adding new nodes if parent collection node has not loaded
|
||||
| `Bug #2330 <https://redmine.postgresql.org/issues/2330>`_ - Ensure the query tool displays but does not render HTML returned by the server in the results grid
|
||||
| `Bug #2330 <https://redmine.postgresql.org/issues/2330>`_ - Ensure the Query Tool displays but does not render HTML returned by the server in the results grid
|
||||
|
|
|
@ -4,12 +4,13 @@ Version 1.5
|
|||
|
||||
Release date: 2017-05-19
|
||||
|
||||
This release contains a number of features and fixes reported since the release of pgAdmin4 1.4.
|
||||
This release contains a number of features and fixes reported since the release
|
||||
of pgAdmin4 1.4.
|
||||
|
||||
Features
|
||||
********
|
||||
|
||||
| `Feature #2216 <https://redmine.postgresql.org/issues/2216>`_ - Allow column or row selection in the query tool
|
||||
| `Feature #2216 <https://redmine.postgresql.org/issues/2216>`_ - Allow column or row selection in the Query Tool
|
||||
|
||||
Bug fixes
|
||||
*********
|
||||
|
@ -28,7 +29,7 @@ Bug fixes
|
|||
| `Bug #2339 <https://redmine.postgresql.org/issues/2339>`_ - Ensure the treeview can be scrolled horizontally
|
||||
| `Bug #2350 <https://redmine.postgresql.org/issues/2350>`_ - Fix handling of default parameters ordering in functions
|
||||
| `Bug #2354 <https://redmine.postgresql.org/issues/2354>`_ - Fix the Backup module where it was not working if user changes its preference language other than English
|
||||
| `Bug #2356 <https://redmine.postgresql.org/issues/2356>`_ - Ensure errors thrown when deleting rows in the query tool in edit mode are shown properly
|
||||
| `Bug #2356 <https://redmine.postgresql.org/issues/2356>`_ - Ensure errors thrown when deleting rows in the Query Tool in edit mode are shown properly
|
||||
| `Bug #2360 <https://redmine.postgresql.org/issues/2360>`_ - Fix various issues in CSV file download feature
|
||||
| `Bug #2369 <https://redmine.postgresql.org/issues/2369>`_ - Support loading files with Unicode BOMs
|
||||
| `Bug #2377 <https://redmine.postgresql.org/issues/2377>`_ - Update psycopg2 version for PostgreSQL 10 compatibility
|
||||
|
|
|
@ -4,7 +4,8 @@ Version 1.6
|
|||
|
||||
Release date: 2017-07-13
|
||||
|
||||
This release contains a number of features and fixes reported since the release of pgAdmin4 1.5
|
||||
This release contains a number of features and fixes reported since the release
|
||||
of pgAdmin4 1.5
|
||||
|
||||
|
||||
Features
|
||||
|
@ -13,9 +14,9 @@ Features
|
|||
| `Feature #1344 <https://redmine.postgresql.org/issues/1344>`_ - Allow the Query Tool, Debugger and web browser tabs to be moved to different monitors as desired
|
||||
| `Feature #1533 <https://redmine.postgresql.org/issues/1533>`_ - Set focus on the first enabled field when a dialogue is opened
|
||||
| `Feature #1535 <https://redmine.postgresql.org/issues/1535>`_ - Teach dialogues about Escape to cancel, Enter to Save/OK, and F1 for help
|
||||
| `Feature #1971 <https://redmine.postgresql.org/issues/1971>`_ - Retain column sizing in the query tool results grid when the same query is re-run multiple times in a row
|
||||
| `Feature #1971 <https://redmine.postgresql.org/issues/1971>`_ - Retain column sizing in the Query Tool results grid when the same query is re-run multiple times in a row
|
||||
| `Feature #1972 <https://redmine.postgresql.org/issues/1972>`_ - Prompt the user to save dirty queries rather than discard them for a more natural workflow
|
||||
| `Feature #2137 <https://redmine.postgresql.org/issues/2137>`_ - On-demand loading for the query tool results
|
||||
| `Feature #2137 <https://redmine.postgresql.org/issues/2137>`_ - On-demand loading for the Query Tool results
|
||||
| `Feature #2191 <https://redmine.postgresql.org/issues/2191>`_ - Add support for the hostaddr connection parameter. This helps us play nicely with Kerberos/SSPI and friends
|
||||
| `Feature #2282 <https://redmine.postgresql.org/issues/2282>`_ - Overhaul the query history tab to allow browsing of the history and full query text
|
||||
| `Feature #2379 <https://redmine.postgresql.org/issues/2379>`_ - Support inserting multiple new rows into a table without clicking Save for each row
|
||||
|
@ -58,7 +59,7 @@ Bug fixes
|
|||
| `Bug #2242 <https://redmine.postgresql.org/issues/2242>`_ - Fix an issue in NodeAjaxControl caching with cache-node field and add cache-node field in Trigger & Event trigger node so that whenever the user creates new Trigger Function we get new data from server in NodeAjaxControl
|
||||
| `Bug #2280 <https://redmine.postgresql.org/issues/2280>`_ - Handle procedure flags (IMMUTABLE STRICT SECURITY DEFINER PARALLEL RESTRICTED) properly in RE-SQL on EPAS
|
||||
| `Bug #2324 <https://redmine.postgresql.org/issues/2324>`_ - Fix the PostGIS Datatypes in SQL tab, Create / Update dialogues for Table, Column, Foreign Table and Type node
|
||||
| `Bug #2344 <https://redmine.postgresql.org/issues/2344>`_ - Fix issue with ctrl-c / ctrl-v not working in query tool
|
||||
| `Bug #2344 <https://redmine.postgresql.org/issues/2344>`_ - Fix issue with ctrl-c / ctrl-v not working in Query Tool
|
||||
| `Bug #2348 <https://redmine.postgresql.org/issues/2348>`_ - Fix issue when resizing columns in Query Too/View Data where all row/colums will select/deselect
|
||||
| `Bug #2355 <https://redmine.postgresql.org/issues/2355>`_ - Properly refresh the parent node when renaming children
|
||||
| `Bug #2357 <https://redmine.postgresql.org/issues/2355>`_ - Cache statistics more reliably
|
||||
|
@ -72,7 +73,7 @@ Bug fixes
|
|||
| `Bug #2425 <https://redmine.postgresql.org/issues/2425>`_ - Handle composite primary keys correctly when deleting rows in the Edit Grid
|
||||
| `Bug #2426 <https://redmine.postgresql.org/issues/2426>`_ - Allow creation of ENUM types with no members
|
||||
| `Bug #2427 <https://redmine.postgresql.org/issues/2427>`_ - Add numerous missing checks to ensure objects really exist when we think they do
|
||||
| `Bug #2435 <https://redmine.postgresql.org/issues/2435>`_ - Pass the database ID to the query tool when using the Script options
|
||||
| `Bug #2435 <https://redmine.postgresql.org/issues/2435>`_ - Pass the database ID to the Query Tool when using the Script options
|
||||
| `Bug #2436 <https://redmine.postgresql.org/issues/2436>`_ - Ensure the last placeholder is included when generating UPDATE scripts for tables
|
||||
| `Bug #2448 <https://redmine.postgresql.org/issues/2448>`_ - Ensure that boolean checkboxes cycle values in the correct order
|
||||
| `Bug #2450 <https://redmine.postgresql.org/issues/2450>`_ - Fix error on the stats tab with PG10. Also, rename the 10.0_plus template directory to 10_plus to match the new versioning
|
||||
|
|
|
@ -4,7 +4,8 @@ Version 2.0
|
|||
|
||||
Release date: 2017-10-05
|
||||
|
||||
This release contains a number of features and fixes reported since the release of pgAdmin4 1.6
|
||||
This release contains a number of features and fixes reported since the release
|
||||
of pgAdmin4 1.6
|
||||
|
||||
|
||||
Features
|
||||
|
@ -38,7 +39,7 @@ Bug fixes
|
|||
| `Bug #2541 <https://redmine.postgresql.org/issues/2541>`_ - Fix issues using special keys on MacOS
|
||||
| `Bug #2544 <https://redmine.postgresql.org/issues/2544>`_ - Correct malformed query generated when using custom type
|
||||
| `Bug #2551 <https://redmine.postgresql.org/issues/2551>`_ - Show tablespace on partitions
|
||||
| `Bug #2555 <https://redmine.postgresql.org/issues/2555>`_ - Fix issue in query tool where messages were not displaying from functions/procedures properly
|
||||
| `Bug #2555 <https://redmine.postgresql.org/issues/2555>`_ - Fix issue in Query Tool where messages were not displaying from functions/procedures properly
|
||||
| `Bug #2557 <https://redmine.postgresql.org/issues/2557>`_ - Tidy up tab styling
|
||||
| `Bug #2558 <https://redmine.postgresql.org/issues/2558>`_ - Prevent the tab bar being hidden when detached tabs are being closed
|
||||
| `Bug #2559 <https://redmine.postgresql.org/issues/2559>`_ - Stop tool buttons from changing their styling unexpectedly
|
||||
|
@ -75,7 +76,7 @@ Bug fixes
|
|||
| `Bug #2668 <https://redmine.postgresql.org/issues/2668>`_ - Fix RE-SQL for triggers with a single arg
|
||||
| `Bug #2670 <https://redmine.postgresql.org/issues/2670>`_ - Improve datamodel validations for default Validator if user (developer) does not implement validate function in datamodel
|
||||
| `Bug #2671 <https://redmine.postgresql.org/issues/2671>`_ - Fix array data type formating for bigint, real, float, double precision
|
||||
| `Bug #2681 <https://redmine.postgresql.org/issues/2681>`_ - Reset query tool options before running tests
|
||||
| `Bug #2681 <https://redmine.postgresql.org/issues/2681>`_ - Reset Query Tool options before running tests
|
||||
| `Bug #2684 <https://redmine.postgresql.org/issues/2684>`_ - Fix layout of password prompt dialogue
|
||||
| `Bug #2691 <https://redmine.postgresql.org/issues/2691>`_ - View data option is missing from pgAdmin4 2.0 version
|
||||
| `Bug #2692 <https://redmine.postgresql.org/issues/2692>`_ - Base type is missing for Domain on pgAdmin4
|
||||
|
|
|
@ -4,19 +4,20 @@ Version 2.1
|
|||
|
||||
Release date: 2018-01-11
|
||||
|
||||
This release contains a number of features and fixes reported since the release of pgAdmin4 2.0
|
||||
This release contains a number of features and fixes reported since the release
|
||||
of pgAdmin4 2.0
|
||||
|
||||
|
||||
Features
|
||||
********
|
||||
|
||||
| `Feature #1383 <https://redmine.postgresql.org/issues/1383>`_ - Allow connections to be coloured in the treeview and query tool
|
||||
| `Feature #1383 <https://redmine.postgresql.org/issues/1383>`_ - Allow connections to be coloured in the treeview and Query Tool
|
||||
| `Feature #1489 <https://redmine.postgresql.org/issues/1489>`_ - Improve user interface for selection query in Data Filter window
|
||||
| `Feature #2368 <https://redmine.postgresql.org/issues/2368>`_ - Improve data entry in Query Tool
|
||||
| `Feature #2781 <https://redmine.postgresql.org/issues/2781>`_ - Allow configuration of CSV and clipboard formatting of query results
|
||||
| `Feature #2802 <https://redmine.postgresql.org/issues/2802>`_ - Allow connections to be coloured in the treeview and query tool.
|
||||
| `Feature #2802 <https://redmine.postgresql.org/issues/2802>`_ - Allow connections to be coloured in the treeview and Query Tool.
|
||||
| `Feature #2810 <https://redmine.postgresql.org/issues/2810>`_ - Allow files to be opened by double clicking on them within Query Tool
|
||||
| `Feature #2845 <https://redmine.postgresql.org/issues/2845>`_ - Make the "Save Changes" prompts in the query tool optional
|
||||
| `Feature #2845 <https://redmine.postgresql.org/issues/2845>`_ - Make the "Save Changes" prompts in the Query Tool optional
|
||||
| `Feature #2849 <https://redmine.postgresql.org/issues/2849>`_ - Add support for editing data in tables with OIDs but no primary keys and updates the editor to retrieve all row values on save, thus immediately showing default values and allowing subsequent editing without a refresh
|
||||
|
||||
|
||||
|
@ -47,7 +48,7 @@ Bug fixes
|
|||
| `Bug #2760 <https://redmine.postgresql.org/issues/2760>`_ - When selecting an SSL cert or key, update only the expected path in the UI, not all of them
|
||||
| `Bug #2765 <https://redmine.postgresql.org/issues/2765>`_ - Do not decrypt the password when the password is 'None'. This should avoid the common but harmless exception "ValueError: IV must be 16 bytes long while decrypting the password."
|
||||
| `Bug #2768 <https://redmine.postgresql.org/issues/2768>`_ - Only allow specification of a pgpass file if libpq >= 10
|
||||
| `Bug #2769 <https://redmine.postgresql.org/issues/2769>`_ - Correct keyboard shortcut. Don't un-comment code with alt+. in the query tool. It's only supposed to respond to ctrl/cmd+
|
||||
| `Bug #2769 <https://redmine.postgresql.org/issues/2769>`_ - Correct keyboard shortcut. Don't un-comment code with alt+. in the Query Tool. It's only supposed to respond to ctrl/cmd+
|
||||
| `Bug #2772 <https://redmine.postgresql.org/issues/2772>`_ - Remove external links from Panel's context menu
|
||||
| `Bug #2778 <https://redmine.postgresql.org/issues/2778>`_ - Ensure the datatype cache is updated when a domain is added
|
||||
| `Bug #2779 <https://redmine.postgresql.org/issues/2779>`_ - Ensure column collation isn't lost when changing field size
|
||||
|
@ -66,7 +67,7 @@ Bug fixes
|
|||
| `Bug #2854 <https://redmine.postgresql.org/issues/2854>`_ - Fix utility output capture encoding
|
||||
| `Bug #2859 <https://redmine.postgresql.org/issues/2859>`_ - Allow form validation messages to be close in case the eclipse anything on the form
|
||||
| `Bug #2866 <https://redmine.postgresql.org/issues/2866>`_ - Ensure we don't show the full path on the server when using virtual filesystem roots in server mode for SSL certs
|
||||
| `Bug #2875 <https://redmine.postgresql.org/issues/2875>`_ - Ensure the scroll location is retains in the query tool data grid if the user changes tab and then returns
|
||||
| `Bug #2875 <https://redmine.postgresql.org/issues/2875>`_ - Ensure the scroll location is retains in the Query Tool data grid if the user changes tab and then returns
|
||||
| `Bug #2877 <https://redmine.postgresql.org/issues/2877>`_ - Remove the artificial limit of 4000 characters from text areas
|
||||
| `Bug #2880 <https://redmine.postgresql.org/issues/2880>`_ - Honour whitespace properly in the data grid
|
||||
| `Bug #2881 <https://redmine.postgresql.org/issues/2881>`_ - Fix support for time without timezone
|
||||
|
|
|
@ -4,7 +4,8 @@ Version 3.0
|
|||
|
||||
Release date: 2018-03-22
|
||||
|
||||
This release contains a number of features and fixes reported since the release of pgAdmin4 2.1
|
||||
This release contains a number of features and fixes reported since the release
|
||||
of pgAdmin4 2.1
|
||||
|
||||
|
||||
Features
|
||||
|
@ -115,5 +116,5 @@ Bug fixes
|
|||
| `Bug #3200 <https://redmine.postgresql.org/issues/3200>`_ - Ensure the host parameter is correctly pickup up from the service file
|
||||
| `Bug #3219 <https://redmine.postgresql.org/issues/3219>`_ - Update required ChromeDriver version for current versions of Chrome
|
||||
| `Bug #3226 <https://redmine.postgresql.org/issues/3226>`_ - Move the field error indicators in front of the affected fields so they don't obscure spinners or drop downs etc.
|
||||
| `Bug #3244 <https://redmine.postgresql.org/issues/3244>`_ - Show more granular timing info in the query tool history panel
|
||||
| `Bug #3244 <https://redmine.postgresql.org/issues/3244>`_ - Show more granular timing info in the Query Tool history panel
|
||||
| `Bug #3248 <https://redmine.postgresql.org/issues/3248>`_ - Ensure Alertify dialogues are modal to prevent them being closed by mis-click
|
|
@ -4,7 +4,8 @@ Version 3.1
|
|||
|
||||
Release date: 2018-06-28
|
||||
|
||||
This release contains a number of features and fixes reported since the release of pgAdmin4 3.0
|
||||
This release contains a number of features and fixes reported since the release
|
||||
of pgAdmin4 3.0
|
||||
|
||||
|
||||
Features
|
||||
|
@ -12,7 +13,7 @@ Features
|
|||
|
||||
| `Feature #1447 <https://redmine.postgresql.org/issues/1447>`_ - Add support for SSH tunneled connections
|
||||
| `Feature #2686 <https://redmine.postgresql.org/issues/2686>`_ - Add an option to auto-complete keywords in upper case
|
||||
| `Feature #3204 <https://redmine.postgresql.org/issues/3204>`_ - Add support for LISTEN/NOTIFY in the query tool
|
||||
| `Feature #3204 <https://redmine.postgresql.org/issues/3204>`_ - Add support for LISTEN/NOTIFY in the Query Tool
|
||||
| `Feature #3273 <https://redmine.postgresql.org/issues/3273>`_ - Allow sorting in the file dialogue
|
||||
| `Feature #3362 <https://redmine.postgresql.org/issues/3362>`_ - Function and procedure support for PG11
|
||||
| `Feature #3388 <https://redmine.postgresql.org/issues/3388>`_ - Allow the connection timeout to be configured on a per-server basis
|
||||
|
@ -31,12 +32,12 @@ Bug fixes
|
|||
| `Bug #3289 <https://redmine.postgresql.org/issues/3289>`_ - Fix handling of SQL_ASCII data in the Query Tool
|
||||
| `Bug #3290 <https://redmine.postgresql.org/issues/3290>`_ - Close button added to the alertify message box, which pops up in case of backend error
|
||||
| `Bug #3295 <https://redmine.postgresql.org/issues/3295>`_ - Ensure the debugger gets focus when loaded so shortcut keys work as expected
|
||||
| `Bug #3298 <https://redmine.postgresql.org/issues/3298>`_ - Fixed query tool keyboard issue where arrow keys were not behaving as expected for execute options dropdown
|
||||
| `Bug #3298 <https://redmine.postgresql.org/issues/3298>`_ - Fixed Query Tool keyboard issue where arrow keys were not behaving as expected for execute options dropdown
|
||||
| `Bug #3303 <https://redmine.postgresql.org/issues/3303>`_ - Fix a Japanese translation error that could prevent the server starting up
|
||||
| `Bug #3306 <https://redmine.postgresql.org/issues/3306>`_ - Fixed display SQL of table with index for Greenplum database
|
||||
| `Bug #3307 <https://redmine.postgresql.org/issues/3307>`_ - Allow connections to servers with port numbers < 1024 which may be seen in container environments
|
||||
| `Bug #3308 <https://redmine.postgresql.org/issues/3308>`_ - Fixed issue where icon for Partitioned tables was the same as Non Partitioned tables for Greenplum database
|
||||
| `Bug #3310 <https://redmine.postgresql.org/issues/3310>`_ - Fixed layout of the alertify error message in the query tool
|
||||
| `Bug #3310 <https://redmine.postgresql.org/issues/3310>`_ - Fixed layout of the alertify error message in the Query Tool
|
||||
| `Bug #3324 <https://redmine.postgresql.org/issues/3324>`_ - Fix the template loader to work reliably under Windows (fixing external tables under Greenplum)
|
||||
| `Bug #3333 <https://redmine.postgresql.org/issues/3333>`_ - Ensure the runtime core application is setup before trying to access any settings
|
||||
| `Bug #3342 <https://redmine.postgresql.org/issues/3342>`_ - Set SESSION_COOKIE_SAMESITE='Lax' per Flask recommendation to prevents sending cookies with CSRF-prone requests from external sites, such as submitting a form
|
||||
|
|
|
@ -4,7 +4,8 @@ Version 3.2
|
|||
|
||||
Release date: 2018-08-09
|
||||
|
||||
This release contains a number of features and fixes reported since the release of pgAdmin4 3.1
|
||||
This release contains a number of features and fixes reported since the release
|
||||
of pgAdmin4 3.1
|
||||
|
||||
|
||||
Features
|
||||
|
|
|
@ -4,7 +4,8 @@ Version 3.3
|
|||
|
||||
Release date: 2018-09-06
|
||||
|
||||
This release contains a number of features and fixes reported since the release of pgAdmin4 3.2
|
||||
This release contains a number of features and fixes reported since the release
|
||||
of pgAdmin4 3.2
|
||||
|
||||
|
||||
Features
|
||||
|
@ -26,7 +27,7 @@ Bug fixes
|
|||
| `Bug #3420 <https://redmine.postgresql.org/issues/3420>`_ - Merge pgcli code with version 1.10.3, which is used for auto complete feature.
|
||||
| `Bug #3461 <https://redmine.postgresql.org/issues/3461>`_ - Ensure that refreshing a node also updates the Property list.
|
||||
| `Bug #3525 <https://redmine.postgresql.org/issues/3525>`_ - Ensure that refresh button on dashboard should refresh the table.
|
||||
| `Bug #3528 <https://redmine.postgresql.org/issues/3528>`_ - Handle connection errors properly in the query tool.
|
||||
| `Bug #3528 <https://redmine.postgresql.org/issues/3528>`_ - Handle connection errors properly in the Query Tool.
|
||||
| `Bug #3547 <https://redmine.postgresql.org/issues/3547>`_ - Make session implementation thread safe
|
||||
| `Bug #3548 <https://redmine.postgresql.org/issues/3548>`_ - Ensure external table node should be visible only for GPDB.
|
||||
| `Bug #3554 <https://redmine.postgresql.org/issues/3554>`_ - Fix auto scrolling issue in debugger on step in and step out.
|
||||
|
|
|
@ -4,7 +4,8 @@ Version 3.4
|
|||
|
||||
Release date: 2018-10-04
|
||||
|
||||
This release contains a number of features and fixes reported since the release of pgAdmin4 3.3
|
||||
This release contains a number of features and fixes reported since the release
|
||||
of pgAdmin4 3.3
|
||||
|
||||
|
||||
Features
|
||||
|
|
|
@ -4,7 +4,8 @@ Version 3.5
|
|||
|
||||
Release date: 2018-11-01
|
||||
|
||||
This release contains a number of features and fixes reported since the release of pgAdmin4 3.4
|
||||
This release contains a number of features and fixes reported since the release
|
||||
of pgAdmin4 3.4
|
||||
|
||||
|
||||
Features
|
||||
|
|
|
@ -4,7 +4,8 @@ Version 3.6
|
|||
|
||||
Release date: 2018-11-29
|
||||
|
||||
This release contains a number of features and fixes reported since the release of pgAdmin4 3.5
|
||||
This release contains a number of features and fixes reported since the release
|
||||
of pgAdmin4 3.5
|
||||
|
||||
|
||||
Features
|
||||
|
|
|
@ -4,7 +4,8 @@ Version 4.0
|
|||
|
||||
Release date: 2019-01-10
|
||||
|
||||
This release contains a number of features and fixes reported since the release of pgAdmin4 3.6
|
||||
This release contains a number of features and fixes reported since the release
|
||||
of pgAdmin4 3.6
|
||||
|
||||
|
||||
Features
|
||||
|
@ -26,7 +27,7 @@ Bug fixes
|
|||
| `Bug #3619 <https://redmine.postgresql.org/issues/3619>`_ - Add titles to the code areas of the Query Tool and Debugger to ensure that panels can be re-docked within them.
|
||||
| `Bug #3679 <https://redmine.postgresql.org/issues/3679>`_ - Fix a webpack issue that could cause the Query Tool to fail to render.
|
||||
| `Bug #3702 <https://redmine.postgresql.org/issues/3702>`_ - Ensure we display the relation name (and not the OID) in the locks table wherever possible.
|
||||
| `Bug #3711 <https://redmine.postgresql.org/issues/3711>`_ - Fix an encoding issue in the query tool.
|
||||
| `Bug #3711 <https://redmine.postgresql.org/issues/3711>`_ - Fix an encoding issue in the Query Tool.
|
||||
| `Bug #3726 <https://redmine.postgresql.org/issues/3726>`_ - Include the WHERE clause on EXCLUDE constraints in RE-SQL.
|
||||
| `Bug #3753 <https://redmine.postgresql.org/issues/3753>`_ - Fix an issue when user define Cast from smallint->text is created.
|
||||
| `Bug #3757 <https://redmine.postgresql.org/issues/3757>`_ - Hide Radio buttons that should not be shown on the maintenance dialogue.
|
||||
|
|
|
@ -4,7 +4,8 @@ Version 4.1
|
|||
|
||||
Release date: 2019-01-15
|
||||
|
||||
This release contains a number of fixes reported since the release of pgAdmin4 4.0
|
||||
This release contains a number of fixes reported since the release of pgAdmin4
|
||||
4.0
|
||||
|
||||
Bug fixes
|
||||
*********
|
||||
|
|
|
@ -4,7 +4,8 @@ Version 4.2
|
|||
|
||||
Release date: 2019-02-07
|
||||
|
||||
This release contains a number of fixes reported since the release of pgAdmin4 4.1
|
||||
This release contains a number of fixes reported since the release of pgAdmin4
|
||||
4.1
|
||||
|
||||
Bug fixes
|
||||
*********
|
||||
|
@ -13,7 +14,7 @@ Bug fixes
|
|||
| `Bug #3272 <https://redmine.postgresql.org/issues/3272>`_ - Replace the PyCrypto module with the cryptography module.
|
||||
| `Bug #3453 <https://redmine.postgresql.org/issues/3453>`_ - Fixed SQL for foreign table options.
|
||||
| `Bug #3475 <https://redmine.postgresql.org/issues/3475>`_ - Fixed execution time to show Hours part for long running queries in Query Tool.
|
||||
| `Bug #3608 <https://redmine.postgresql.org/issues/3608>`_ - Messages tab of query tool should be clear on subsequent execution of table/view using View/Edit Data.
|
||||
| `Bug #3608 <https://redmine.postgresql.org/issues/3608>`_ - Messages tab of Query Tool should be clear on subsequent execution of table/view using View/Edit Data.
|
||||
| `Bug #3609 <https://redmine.postgresql.org/issues/3609>`_ - Clear drop-down menu should be disabled for View/Edit Data.
|
||||
| `Bug #3664 <https://redmine.postgresql.org/issues/3664>`_ - Fixed Statistics panel hang issue for 1000+ tables.
|
||||
| `Bug #3693 <https://redmine.postgresql.org/issues/3693>`_ - Proper error should be thrown when server group is created with existing name.
|
||||
|
|
|
@ -4,7 +4,8 @@ Version 4.3
|
|||
|
||||
Release date: 2019-03-07
|
||||
|
||||
This release contains a number of new features and fixes reported since the release of pgAdmin4 4.2
|
||||
This release contains a number of new features and fixes reported since the
|
||||
release of pgAdmin4 4.2
|
||||
|
||||
Features
|
||||
********
|
||||
|
|
|
@ -4,7 +4,8 @@ Version 4.4
|
|||
|
||||
Release date: 2019-04-04
|
||||
|
||||
This release contains a number of new features and fixes reported since the release of pgAdmin4 4.3
|
||||
This release contains a number of new features and fixes reported since the
|
||||
release of pgAdmin4 4.3
|
||||
|
||||
Features
|
||||
********
|
||||
|
|
|
@ -4,33 +4,54 @@
|
|||
`Resource Group Dialog`:index:
|
||||
******************************
|
||||
|
||||
Use the *Resource Group* dialog to create a resource group and set values for its resources. A resource group is a named, global group on which various resource usage limits can be defined. The resource group is accessible from all databases in the cluster. To use the *Resource Group* dialog, you must have superuser privileges. Please note that resource groups are supported when connected to EDB Postgres Advanced Server; for more information about using resource groups, please see the EDB Postgres Advanced Server Guide, available at:
|
||||
Use the *Resource Group* dialog to create a resource group and set values for
|
||||
its resources. A resource group is a named, global group on which various
|
||||
resource usage limits can be defined. The resource group is accessible from all
|
||||
databases in the cluster. To use the *Resource Group* dialog, you must have
|
||||
superuser privileges. Please note that resource groups are supported when
|
||||
connected to EDB Postgres Advanced Server; for more information about using
|
||||
resource groups, please see the EDB Postgres Advanced Server Guide, available
|
||||
at:
|
||||
|
||||
http://www.enterprisedb.com/
|
||||
|
||||
Fields used to create a resource group are located on the *General* tab. The *SQL* tab displays the SQL code generated by your selections on the *Resource Group* dialog.
|
||||
Fields used to create a resource group are located on the *General* tab. The
|
||||
*SQL* tab displays the SQL code generated by your selections on the *Resource
|
||||
Group* dialog.
|
||||
|
||||
.. image:: images/resource_group_general.png
|
||||
:alt: Resource Group dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields on the *General* tab to specify resource group attributes:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the resource group. This name will be displayed in the tree control.
|
||||
* Use the *CPU rate limit (%)* field to set the value of the CPU rate limit resource type assigned to the resource group. The valid range for a CPU rate limit is from 0 to 1.67772e+07. The default value is 0.
|
||||
* Use the *Dirty rate limit (KB)* field to set the value of the dirty rate limit resource type assigned to the resource group. The valid range for a dirty rate limit is from 0 to 1.67772e+07. The default value is 0.
|
||||
* Use the *Name* field to add a descriptive name for the resource group. This
|
||||
name will be displayed in the tree control.
|
||||
* Use the *CPU rate limit (%)* field to set the value of the CPU rate limit
|
||||
resource type assigned to the resource group. The valid range for a CPU rate
|
||||
limit is from 0 to 1.67772e+07. The default value is 0.
|
||||
* Use the *Dirty rate limit (KB)* field to set the value of the dirty rate
|
||||
limit resource type assigned to the resource group. The valid range for a
|
||||
dirty rate limit is from 0 to 1.67772e+07. The default value is 0.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *Resource Group* dialog generate a SQL command. Use the *SQL* tab for review; revisit the *General* tab to make any changes to the SQL command.
|
||||
Your entries in the *Resource Group* dialog generate a SQL command. Use the
|
||||
*SQL* tab for review; revisit the *General* tab to make any changes to the SQL
|
||||
command.
|
||||
|
||||
**Example**
|
||||
Example
|
||||
*******
|
||||
|
||||
The following is an example of the sql command generated by selections made in the *Resource Group* dialog:
|
||||
The following is an example of the sql command generated by selections made in
|
||||
the *Resource Group* dialog:
|
||||
|
||||
.. image:: images/resource_group_sql.png
|
||||
:alt: Resource Group dialog sql tab
|
||||
:align: center
|
||||
|
||||
The example creates a resource group named *acctg* that sets *cpu_rate_limit* to *2*, and *dirty_rate_limit* to *6144*.
|
||||
The example creates a resource group named *acctg* that sets *cpu_rate_limit*
|
||||
to *2*, and *dirty_rate_limit* to *6144*.
|
||||
|
||||
* Click the Info button (*i*) to access online SQL syntax reference material.
|
||||
* Click the Help button (*?*) to access online documentation about Resource Groups.
|
||||
|
|
|
@ -4,89 +4,152 @@
|
|||
`Restore Dialog`:index:
|
||||
***********************
|
||||
|
||||
The *Restore* dialog provides an easy way to use a Custom, tar, or Directory format backup taken with the pgAdmin *Backup* dialog to recreate a database or database object. The *Backup* dialog invokes options of the pg_dump client utility; the *Restore* dialog invokes options of the pg_restore client utility.
|
||||
The *Restore* dialog provides an easy way to use a Custom, tar, or Directory
|
||||
format backup taken with the pgAdmin *Backup* dialog to recreate a database or
|
||||
database object. The *Backup* dialog invokes options of the pg_dump client
|
||||
utility; the *Restore* dialog invokes options of the pg_restore client utility.
|
||||
|
||||
You can use the *Query Tool* to play back the script created during a plain-text backup made with the *Backup* dialog. For more information about backing up or restoring, please refer to the documentation for `pg_dump <https://www.postgresql.org/docs/9.5/static/app-pgdump.html>`_ or `pg_restore <https://www.postgresql.org/docs/9.5/static/app-pgrestore.html>`_.
|
||||
You can use the *Query Tool* to play back the script created during a plain-text
|
||||
backup made with the *Backup* dialog. For more information about backing up or
|
||||
restoring, please refer to the documentation for
|
||||
`pg_dump <https://www.postgresql.org/docs/9.5/static/app-pgdump.html>`_ or
|
||||
`pg_restore <https://www.postgresql.org/docs/9.5/static/app-pgrestore.html>`_.
|
||||
|
||||
.. image:: images/restore_general.png
|
||||
:alt: Restore dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields on the *General* tab to specify general information about the restore process:
|
||||
Use the fields on the *General* tab to specify general information about the
|
||||
restore process:
|
||||
|
||||
* Use the drop-down listbox in the *Format* field to select the format of your backup file.
|
||||
* Use the drop-down listbox in the *Format* field to select the format of your
|
||||
backup file.
|
||||
|
||||
* Select *Custom or tar* to restore from a custom archive file to create a copy of the backed-up object.
|
||||
* Select *Custom or tar* to restore from a custom archive file to create a
|
||||
copy of the backed-up object.
|
||||
* Select *Directory* to restore from a compressed directory-format archive.
|
||||
|
||||
* Enter the complete path to the backup file in the *Filename* field. Optionally, select the *Browser* icon (ellipsis) to the right to navigate into a directory and select the file that contains the archive.
|
||||
* Use the *Number of Jobs* field to specify if pg_restore should use multiple (concurrent) jobs to process the restore. Each job uses a separate connection to the server.
|
||||
* Use the drop-down listbox next to *Rolename* to specify the role that will be used to authenticate with the server during the restore process.
|
||||
* Enter the complete path to the backup file in the *Filename* field.
|
||||
Optionally, select the *Browser* icon (ellipsis) to the right to navigate
|
||||
into a directory and select the file that contains the archive.
|
||||
* Use the *Number of Jobs* field to specify if pg_restore should use multiple
|
||||
(concurrent) jobs to process the restore. Each job uses a separate connection
|
||||
to the server.
|
||||
* Use the drop-down listbox next to *Rolename* to specify the role that will be
|
||||
used to authenticate with the server during the restore process.
|
||||
|
||||
Click the *Restore options* tab to continue. Use the fields on the *Restore options* tab to specify options that correspond to *pg_restore* options.
|
||||
Click the *Restore options* tab to continue. Use the fields on the *Restore
|
||||
options* tab to specify options that correspond to *pg_restore* options.
|
||||
|
||||
.. image:: images/restore_sections.png
|
||||
:alt: Restore dialog options section
|
||||
:align: center
|
||||
|
||||
* Use the switches in the **Sections** box to specify the content that will be restored:
|
||||
* Use the switches in the **Sections** box to specify the content that will be
|
||||
restored:
|
||||
|
||||
* Move the switch next to *Pre-data* to the *Yes* position to restore all data definition items not included in the data or post-data item lists.
|
||||
* Move the switch next to *Data* to the *Yes* position to restore actual table data, large-object contents, and sequence values.
|
||||
* Move the switch next to *Post-data* to the *Yes* position to restore definitions of indexes, triggers, rules, and constraints (other than validated check constraints).
|
||||
* Move the switch next to *Pre-data* to the *Yes* position to restore all
|
||||
data definition items not included in the data or post-data item lists.
|
||||
* Move the switch next to *Data* to the *Yes* position to restore actual
|
||||
table data, large-object contents, and sequence values.
|
||||
* Move the switch next to *Post-data* to the *Yes* position to restore
|
||||
definitions of indexes, triggers, rules, and constraints (other than
|
||||
validated check constraints).
|
||||
|
||||
.. image:: images/restore_objects.png
|
||||
:alt: Restore dialog sections section
|
||||
:align: center
|
||||
|
||||
* Use the switches in the **Type of objects** box to specify the objects that will be restored:
|
||||
* Use the switches in the **Type of objects** box to specify the objects that
|
||||
will be restored:
|
||||
|
||||
* Move the switch next to *Only data* to the *Yes* position to limit the restoration to data.
|
||||
* Move the switch next to *Only schema* to limit the restoration to schema-level database objects.
|
||||
* Move the switch next to *Only data* to the *Yes* position to limit the
|
||||
restoration to data.
|
||||
* Move the switch next to *Only schema* to limit the restoration to
|
||||
schema-level database objects.
|
||||
|
||||
.. image:: images/restore_do_not_save.png
|
||||
:alt: Restore dialog do not save section
|
||||
:align: center
|
||||
|
||||
* Use the switches in the **Do not save** box to specify which objects will not be restored:
|
||||
|
||||
* Move the switch next to *Owner* to the *Yes* position to exclude commands that set object ownership.
|
||||
* Move the switch next to *Privilege* to the *Yes* position to exclude commands that create access privileges.
|
||||
* Move the switch next to *Tablespace* to the *Yes* position to exclude tablespaces.
|
||||
* Move the switch next to *Comments* to the *Yes* position to exclude commands that set the comments. **Note:** This option is visible only for database server greater than or equal to 11.
|
||||
* Use the switches in the **Do not save** box to specify which objects will not
|
||||
be restored:
|
||||
|
||||
* Move the switch next to *Owner* to the *Yes* position to exclude commands
|
||||
that set object ownership.
|
||||
* Move the switch next to *Privilege* to the *Yes* position to exclude
|
||||
commands that create access privileges.
|
||||
* Move the switch next to *Tablespace* to the *Yes* position to exclude
|
||||
tablespaces.
|
||||
* Move the switch next to *Comments* to the *Yes* position to exclude
|
||||
commands that set the comments. **Note:** This option is visible only for
|
||||
database server greater than or equal to 11.
|
||||
|
||||
.. image:: images/restore_queries.png
|
||||
:alt: Restore dialog queries section
|
||||
:align: center
|
||||
|
||||
* Use the switches in the **Queries** box to specify the type of statements that should be included in the restore:
|
||||
* Use the switches in the **Queries** box to specify the type of statements that
|
||||
should be included in the restore:
|
||||
|
||||
* Move the switch next to *Include CREATE DATABASE statement* to the *Yes* position to include a command that creates a new database before performing the restore.
|
||||
* Move the switch next to *Clean before restore* to the *Yes* position to drop each existing database object (and data) before restoring.
|
||||
* Move the switch next to *Single transaction* to the *Yes* position to execute the restore as a single transaction (that is, wrap the emitted commands in *BEGIN/COMMIT*). This ensures that either all the commands complete successfully, or no changes are applied. This option implies *--exit-on-error*.
|
||||
* Move the switch next to *Include CREATE DATABASE statement* to the *Yes*
|
||||
position to include a command that creates a new database before performing
|
||||
the restore.
|
||||
* Move the switch next to *Clean before restore* to the *Yes* position to
|
||||
drop each existing database object (and data) before restoring.
|
||||
* Move the switch next to *Single transaction* to the *Yes* position to
|
||||
execute the restore as a single transaction (that is, wrap the emitted
|
||||
commands in *BEGIN/COMMIT*). This ensures that either all the commands
|
||||
complete successfully, or no changes are applied. This option implies
|
||||
*--exit-on-error*.
|
||||
|
||||
.. image:: images/restore_disable.png
|
||||
:alt: Restore dialog disable section
|
||||
:align: center
|
||||
|
||||
* Use the switches in the **Disable** box to specify the type of statements that should be excluded from the restore:
|
||||
* Use the switches in the **Disable** box to specify the type of statements that
|
||||
should be excluded from the restore:
|
||||
|
||||
* Move the switch next to *Trigger* (active when creating a data-only restore) to the *Yes* position to include commands that will disable triggers on the target table while the data is being loaded.
|
||||
* Move the switch next to *No data for Failed Tables* to the *Yes* position to ignore data that fails a trigger.
|
||||
* Move the switch next to *Trigger* (active when creating a data-only
|
||||
restore) to the *Yes* position to include commands that will disable
|
||||
triggers on the target table while the data is being loaded.
|
||||
* Move the switch next to *No data for Failed Tables* to the *Yes* position
|
||||
to ignore data that fails a trigger.
|
||||
|
||||
.. image:: images/restore_miscellaneous.png
|
||||
:alt: Restore dialog miscellaneous section
|
||||
:align: center
|
||||
|
||||
* Use the switches in the **Miscellaneous/Behavior** box to specify miscellaneous restore options:
|
||||
* Use the switches in the **Miscellaneous/Behavior** box to specify
|
||||
miscellaneous restore options:
|
||||
|
||||
* Move the switch next to *Verbose messages* to the *No* position to instruct *pg_restore* to exclude verbose messages.
|
||||
* Move the switch next to *Use SET SESSION AUTHORIZATION* to the *Yes* position to include a statement that will use a SET SESSION AUTHORIZATION command to determine object ownership (instead of an ALTER OWNER command).
|
||||
* Move the switch next to *Verbose messages* to the *No* position to instruct
|
||||
*pg_restore* to exclude verbose messages.
|
||||
* Move the switch next to *Use SET SESSION AUTHORIZATION* to the *Yes*
|
||||
position to include a statement that will use a SET SESSION AUTHORIZATION
|
||||
command to determine object ownership (instead of an ALTER OWNER command).
|
||||
|
||||
* Move the switch next to *Exit on error* to the *Yes* position to instruct *pg_restore* to exit restore if there is an error in sending SQL commands. The default is to continue and to display a count of errors at the end of the restore.
|
||||
* Move the switch next to *Exit on error* to the *Yes* position to instruct
|
||||
*pg_restore* to exit restore if there is an error in sending SQL commands.
|
||||
The default is to continue and to display a count of errors at the end of
|
||||
the restore.
|
||||
|
||||
When you’ve specified the details that will be incorporated into the pg_restore command, click the *Restore* button to start the process, or click the *Cancel* button to exit without saving your work. A popup will confirm if the restore is successful.
|
||||
When you’ve specified the details that will be incorporated into the pg_restore
|
||||
command, click the *Restore* button to start the process, or click the *Cancel*
|
||||
button to exit without saving your work. A popup will confirm if the restore is
|
||||
successful.
|
||||
|
||||
.. image:: images/restore_messages.png
|
||||
:alt: Restore dialog notifications
|
||||
:align: center
|
||||
|
||||
Use the **Stop Process** button to stop the Restore process.
|
||||
|
||||
Click *Click here for details* on the popup to launch the *Process Watcher*. The *Process Watcher* logs all the activity associated with the restore, and provides additional information for troubleshooting should the restore command encounter problems.
|
||||
Click *Click here for details* on the popup to launch the *Process Watcher*. The
|
||||
*Process Watcher* logs all the activity associated with the restore, and
|
||||
provides additional information for troubleshooting should the restore command
|
||||
encounter problems.
|
||||
|
||||
.. image:: images/restore_process_watcher.png
|
||||
:alt: Restore dialog process watcher
|
||||
:align: center
|
||||
|
|
|
@ -4,86 +4,135 @@
|
|||
`Login/Group Role Dialog`:index:
|
||||
********************************
|
||||
|
||||
Use the *Login/Group Role* dialog to define a role. A role may be an individual user (with or without login privileges) or a group of users. Note that roles defined at the cluster level are shared by all databases in the cluster.
|
||||
Use the *Login/Group Role* dialog to define a role. A role may be an individual
|
||||
user (with or without login privileges) or a group of users. Note that roles
|
||||
defined at the cluster level are shared by all databases in the cluster.
|
||||
|
||||
The *Login/Group Role* dialog organizes the creation and management of roles through the following dialog tabs: *General*, *Definition*, *Privileges*, *Parameters*, and *Security*. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *Login/Group Role* dialog organizes the creation and management of roles
|
||||
through the following dialog tabs: *General*, *Definition*, *Privileges*,
|
||||
*Parameters*, and *Security*. The *SQL* tab displays the SQL code generated by
|
||||
dialog selections.
|
||||
|
||||
.. image:: images/role_general.png
|
||||
:alt: Role dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields on the *General* tab to identify the role.
|
||||
|
||||
* Use the *Name* field to provide the name of the role. The name will be displayed in the tree control.
|
||||
* Use the *Name* field to provide the name of the role. The name will be
|
||||
displayed in the tree control.
|
||||
* Provide a note about the role in the *Comments* field.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/role_definition.png
|
||||
:alt: Role dialog definition tab
|
||||
:align: center
|
||||
|
||||
Use the *Definition* tab to set a password and configure connection rules:
|
||||
|
||||
* Provide a password that will be associated with the role in the *Password* field.
|
||||
* Provide an expiration date for the password in the *Account Expires* field (the role does not expire). The expiration date is not enforced when a user logs in with a non-password-based authentication method.
|
||||
* If the role is a login role, specify how many concurrent connections the role can make in the *Connection Limit* field. The default value (*-1*) allows unlimited connections.
|
||||
* Provide a password that will be associated with the role in the *Password*
|
||||
field.
|
||||
* Provide an expiration date for the password in the *Account Expires* field
|
||||
(the role does not expire). The expiration date is not enforced when a user
|
||||
logs in with a non-password-based authentication method.
|
||||
* If the role is a login role, specify how many concurrent connections the role
|
||||
can make in the *Connection Limit* field. The default value (*-1*) allows
|
||||
unlimited connections.
|
||||
|
||||
Click the *Privileges* tab to continue.
|
||||
|
||||
.. image:: images/role_privileges.png
|
||||
:alt: Role dialog privileges tab
|
||||
:align: center
|
||||
|
||||
Use the *Privileges* tab to grant privileges to the role.
|
||||
|
||||
* Move the *Can login?* switch to the *Yes* position if the role has login privileges. The default value is *No*.
|
||||
* Move the *Superuser* switch to the *Yes* position if the role is a superuser within the database. The default value is *No*.
|
||||
* Move the *Create roles?* switch to the *Yes* position to specify whether a role is permitted to create roles. A role with this privilege can alter and drop roles. The default value is *No*.
|
||||
* Move the *Create databases* switch to the *Yes* position to control whether a role can create databases. The default value is *No*.
|
||||
* The *Update catalog?* switch is disabled until the role is given superuser privileges. Move the *Update catalogs?* switch to the *No* position to control whether a role can update catalogs. The default value is *Yes* when the *Superuser* switch is in the *Yes* position.
|
||||
* Move the *Inherit rights from the parent roles?* switch to the *No* position if a role does not inherit privileges. The default value is *Yes*.
|
||||
* Move the *Can initiate streaming replication and backups?* switch to the *Yes* position to control whether a role can initiate streaming replication or put the system in and out of backup mode. The default value is *No*.
|
||||
* Move the *Can login?* switch to the *Yes* position if the role has login
|
||||
privileges. The default value is *No*.
|
||||
* Move the *Superuser* switch to the *Yes* position if the role is a superuser
|
||||
within the database. The default value is *No*.
|
||||
* Move the *Create roles?* switch to the *Yes* position to specify whether a
|
||||
role is permitted to create roles. A role with this privilege can alter and
|
||||
drop roles. The default value is *No*.
|
||||
* Move the *Create databases* switch to the *Yes* position to control whether a
|
||||
role can create databases. The default value is *No*.
|
||||
* The *Update catalog?* switch is disabled until the role is given superuser
|
||||
privileges. Move the *Update catalogs?* switch to the *No* position to control
|
||||
whether a role can update catalogs. The default value is *Yes* when the
|
||||
*Superuser* switch is in the *Yes* position.
|
||||
* Move the *Inherit rights from the parent roles?* switch to the *No* position
|
||||
if a role does not inherit privileges. The default value is *Yes*.
|
||||
* Move the *Can initiate streaming replication and backups?* switch to the *Yes*
|
||||
position to control whether a role can initiate streaming replication or put
|
||||
the system in and out of backup mode. The default value is *No*.
|
||||
|
||||
.. image:: images/role_membership.png
|
||||
:alt: Role dialog membership tab
|
||||
:align: center
|
||||
|
||||
* Specify members of the role in the *Role Membership* field. Click inside the *Roles* field to select role names from a drop down list. Confirm each selection by checking the checkbox to the right of the role name; delete a selection by clicking the *x* to the left of the role name. Membership conveys the privileges granted to the specified role to each of its members.
|
||||
* Specify members of the role in the *Role Membership* field. Click inside the
|
||||
*Roles* field to select role names from a drop down list. Confirm each
|
||||
selection by checking the checkbox to the right of the role name; delete a
|
||||
selection by clicking the *x* to the left of the role name. Membership conveys
|
||||
the privileges granted to the specified role to each of its members.
|
||||
|
||||
Click the *Parameters* tab to continue.
|
||||
|
||||
.. image:: images/role_parameters.png
|
||||
:alt: Role dialog parameters tab
|
||||
:align: center
|
||||
|
||||
Use the fields on the *Parameters* tab to set session defaults for a selected configuration parameter when the role is connected to a specified database. This tab invokes the ALTER ROLE... SET configuration_parameter syntax. Click the *Add* icon (+) to assign a value for a parameter.
|
||||
Use the fields on the *Parameters* tab to set session defaults for a selected
|
||||
configuration parameter when the role is connected to a specified database. This
|
||||
tab invokes the ALTER ROLE... SET configuration_parameter syntax. Click the
|
||||
*Add* icon (+) to assign a value for a parameter.
|
||||
|
||||
* Use the drop-down listbox in the *Name* field to select a parameter.
|
||||
* Use the *Value* field to specify a value for the parameter.
|
||||
* Use the drop-down listbox in the *Database* field to select a database.
|
||||
|
||||
Click the *Add* icon (+) to specify each additional parameter; to discard a parameter, click the trash icon to the left of the row and confirm the deletion in the *Delete Row* popup.
|
||||
Click the *Add* icon (+) to specify each additional parameter; to discard a
|
||||
parameter, click the trash icon to the left of the row and confirm the deletion
|
||||
in the *Delete Row* popup.
|
||||
|
||||
Click the *Security* tab to continue.
|
||||
|
||||
.. image:: images/role_security.png
|
||||
:alt: Role dialog security tab
|
||||
:align: center
|
||||
|
||||
Use the *Security* tab to define security labels applied to the role. Click the *Add* icon (+) to add each security label selection.
|
||||
Use the *Security* tab to define security labels applied to the role. Click the
|
||||
*Add* icon (+) to add each security label selection.
|
||||
|
||||
* Specify a security label provider in the *Provider* field. The named provider must be loaded and must consent to the proposed labeling operation.
|
||||
* Specify a a security label in the *Security Label* field. The meaning of a given label is at the discretion of the label provider. PostgreSQL places no restrictions on whether or how a label provider must interpret security labels; it merely provides a mechanism for storing them.
|
||||
* Specify a security label provider in the *Provider* field. The named provider
|
||||
must be loaded and must consent to the proposed labeling operation.
|
||||
* Specify a a security label in the *Security Label* field. The meaning of a
|
||||
given label is at the discretion of the label provider. PostgreSQL places no
|
||||
restrictions on whether or how a label provider must interpret security
|
||||
labels; it merely provides a mechanism for storing them.
|
||||
|
||||
To discard a security label, click the trash icon to the left of the row and confirm the deletion in the *Delete Row* popup.
|
||||
To discard a security label, click the trash icon to the left of the row and
|
||||
confirm the deletion in the *Delete Row* popup.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *Login/Group Role* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
|
||||
Your entries in the *Login/Group Role* dialog generate a SQL command (see an
|
||||
example below). Use the *SQL* tab for review; revisit or switch tabs to make
|
||||
any changes to the SQL command.
|
||||
|
||||
**Example**
|
||||
Example
|
||||
*******
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Login/Group Role* dialog:
|
||||
The following is an example of the sql command generated by user selections in
|
||||
the *Login/Group Role* dialog:
|
||||
|
||||
.. image:: images/role_sql.png
|
||||
:alt: Role dialog sql tab
|
||||
:align: center
|
||||
|
||||
The example creates a login role named *alice* with *pem_user* privileges; the role can make unlimited connections to the server at any given time.
|
||||
The example creates a login role named *alice* with *pem_user* privileges; the
|
||||
role can make unlimited connections to the server at any given time.
|
||||
|
||||
* Click the Info button (*i*) to access online SQL help.
|
||||
* Click the Help button (*?*) to access the documentation for the dialog.
|
||||
|
|
|
@ -4,44 +4,62 @@
|
|||
`Rule Dialog`:index:
|
||||
********************
|
||||
|
||||
Use the *Rule* dialog to define or modify a rule for a specified table or view. A PostgreSQL rule allows you to define an additional action that will be performed when a SELECT, INSERT, UPDATE, or DELETE is performed against a table.
|
||||
Use the *Rule* dialog to define or modify a rule for a specified table or view.
|
||||
A PostgreSQL rule allows you to define an additional action that will be
|
||||
performed when a SELECT, INSERT, UPDATE, or DELETE is performed against a table.
|
||||
|
||||
The *Rule* dialog organizes the development of a rule through the *General*, and *Definition* tabs. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *Rule* dialog organizes the development of a rule through the *General*,
|
||||
and *Definition* tabs. The *SQL* tab displays the SQL code generated by dialog
|
||||
selections.
|
||||
|
||||
.. image:: images/rule_general.png
|
||||
:alt: Rule dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to identify the rule:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the rule. The name will be displayed in the *pgAdmin* tree control. Multiple rules on the same table are applied in alphabetical name order.
|
||||
* Use the *Name* field to add a descriptive name for the rule. The name will be
|
||||
displayed in the *pgAdmin* tree control. Multiple rules on the same table are
|
||||
applied in alphabetical name order.
|
||||
* Store notes about the rule in the *Comment* field.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/rule_definition.png
|
||||
:alt: Rule dialog definition tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Definition* tab to write parameters:
|
||||
|
||||
* Click inside the *Event* field to select the type of event that will invoke the rule; event may be *Select*, *Insert*, *Update*, or *Delete*.
|
||||
* Move the *Do Instead* switch to *Yes* indicate that the commands should be executed instead of the original command; if Do Instead specifies *No*, the rule will be invoked in addition to the original command.
|
||||
* Specify a SQL conditional expression that returns a boolean value in the *Condition* editor.
|
||||
* Provide a command in the *Commands* editor that defines the action performed by the rule.
|
||||
* Click inside the *Event* field to select the type of event that will invoke
|
||||
the rule; event may be *Select*, *Insert*, *Update*, or *Delete*.
|
||||
* Move the *Do Instead* switch to *Yes* indicate that the commands should be
|
||||
executed instead of the original command; if Do Instead specifies *No*, the
|
||||
rule will be invoked in addition to the original command.
|
||||
* Specify a SQL conditional expression that returns a boolean value in the
|
||||
*Condition* editor.
|
||||
* Provide a command in the *Commands* editor that defines the action performed
|
||||
by the rule.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *Rule* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
|
||||
Your entries in the *Rule* dialog generate a SQL command (see an example below).
|
||||
Use the *SQL* tab for review; revisit or switch tabs to make any changes to the
|
||||
SQL command.
|
||||
|
||||
**Example**
|
||||
Example
|
||||
*******
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Rule* dialog:
|
||||
The following is an example of the sql command generated by user selections in
|
||||
the *Rule* dialog:
|
||||
|
||||
.. image:: images/rule_sql.png
|
||||
:alt: Rule dialog sql tab
|
||||
:align: center
|
||||
|
||||
The example sends a notification when an UPDATE executes against a table.
|
||||
|
||||
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
|
||||
* 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.
|
|
@ -4,66 +4,100 @@
|
|||
`Schema Dialog`:index:
|
||||
**********************
|
||||
|
||||
Use the *Schema* dialog to define a schema. A schema is the organizational workhorse of a database, similar to directories or namespaces. To create a schema, you must be a database superuser or have the CREATE privilege.
|
||||
Use the *Schema* dialog to define a schema. A schema is the organizational
|
||||
workhorse of a database, similar to directories or namespaces. To create a
|
||||
schema, you must be a database superuser or have the CREATE privilege.
|
||||
|
||||
The *Schema* dialog organizes the development of schema through the following dialog tabs: *General* and *Security*. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *Schema* dialog organizes the development of schema through the following
|
||||
dialog tabs: *General* and *Security*. The *SQL* tab displays the SQL code
|
||||
generated by dialog selections.
|
||||
|
||||
.. image:: images/schema_general.png
|
||||
:alt: Schema dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields on the *General* tab to identify the schema.
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the schema. The name will be displayed in the *pgAdmin* tree control.
|
||||
* Select the owner of the schema from the drop-down listbox in the *Owner* field.
|
||||
* Use the *Name* field to add a descriptive name for the schema. The name will
|
||||
be displayed in the *pgAdmin* tree control.
|
||||
* Select the owner of the schema from the drop-down listbox in the *Owner*
|
||||
field.
|
||||
* Store notes about the schema in the *Comment* field.
|
||||
|
||||
Click the *Security* tab to continue.
|
||||
|
||||
.. image:: images/schema_security.png
|
||||
:alt: Schema dialog security tab
|
||||
:align: center
|
||||
|
||||
Use the *Security* tab to assign privileges and security labels for the schema.
|
||||
|
||||
Click the *Add* icon (+) to assign a set of privileges in the *Privileges* panel:
|
||||
Click the *Add* icon (+) to assign a set of privileges in the *Privileges*
|
||||
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.
|
||||
* 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.
|
||||
|
||||
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 the *Delete Row* popup.
|
||||
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
|
||||
the *Delete Row* popup.
|
||||
|
||||
Click the *Add* icon (+) to assign a security label in the *Security Labels* panel:
|
||||
Click the *Add* icon (+) to assign a security label in the *Security Labels*
|
||||
panel:
|
||||
|
||||
* Specify a security label provider in the *Provider* field. The named provider must be loaded and must consent to the proposed labeling operation.
|
||||
* Specify a a security label in the *Security Label* field. The meaning of a given label is at the discretion of the label provider. PostgreSQL places no restrictions on whether or how a label provider must interpret security labels; it merely provides a mechanism for storing them.
|
||||
* Specify a security label provider in the *Provider* field. The named provider
|
||||
must be loaded and must consent to the proposed labeling operation.
|
||||
* Specify a a security label in the *Security Label* field. The meaning of a
|
||||
given label is at the discretion of the label provider. PostgreSQL places no
|
||||
restrictions on whether or how a label provider must interpret security
|
||||
labels; it merely provides a mechanism for storing them.
|
||||
|
||||
Click the *Add* icon (+) to assign additional security labels; to discard a security label, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
|
||||
Click the *Add* icon (+) to assign additional security labels; to discard a
|
||||
security label, click the trash icon to the left of the row and confirm deletion
|
||||
in the *Delete Row* popup.
|
||||
|
||||
Click the *Default Privileges* tab to continue.
|
||||
|
||||
.. image:: images/schema_default_privileges.png
|
||||
:alt: Schema dialog default privileges tab
|
||||
:align: center
|
||||
|
||||
Use the *Default Privileges* tab to grant privileges for tables, sequences, functions and types. Use the tabs nested inside the *Default Privileges* tab to specify the database object and click the *Add* icon (+) to assign a set of privileges:
|
||||
Use the *Default Privileges* tab to grant privileges for tables, sequences,
|
||||
functions and types. Use the tabs nested inside the *Default Privileges* tab to
|
||||
specify the database object and click the *Add* icon (+) to assign a set of
|
||||
privileges:
|
||||
|
||||
* Select the name of a role that will be granted privileges in the schema 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.
|
||||
* Select the name of a role that will be granted privileges in the schema 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.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *Schema* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
|
||||
Your entries in the *Schema* dialog generate a SQL command (see an example
|
||||
below). Use the *SQL* tab for review; revisit or switch tabs to make any
|
||||
changes to the SQL command.
|
||||
|
||||
**Example**
|
||||
Example
|
||||
*******
|
||||
|
||||
The following is an example of the sql command generated by selections made in the *Schema* dialog:
|
||||
The following is an example of the sql command generated by selections made in
|
||||
the *Schema* dialog:
|
||||
|
||||
.. image:: images/schema_sql.png
|
||||
:alt: Schema dialog sql tab
|
||||
:align: center
|
||||
|
||||
The example creates a schema named hr; the command grants *USAGE* privileges to *public* and assigns the ability to grant privileges to *alice*.
|
||||
The example creates a schema named hr; the command grants *USAGE* privileges to
|
||||
*public* and assigns the ability to grant privileges to *alice*.
|
||||
|
||||
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
|
||||
* 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.
|
||||
|
|
|
@ -4,70 +4,117 @@
|
|||
`Sequence Dialog`:index:
|
||||
************************
|
||||
|
||||
Use the *Sequence* dialog to create a sequence. A sequence generates unique values in a sequential order (not necessarily contiguous).
|
||||
Use the *Sequence* dialog to create a sequence. A sequence generates unique
|
||||
values in a sequential order (not necessarily contiguous).
|
||||
|
||||
The *Sequence* dialog organizes the development of a sequence through the following dialog tabs: *General*, *Definition*, and *Security*. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *Sequence* dialog organizes the development of a sequence through the
|
||||
following dialog tabs: *General*, *Definition*, and *Security*. The *SQL* tab
|
||||
displays the SQL code generated by dialog selections.
|
||||
|
||||
.. image:: images/sequence_general.png
|
||||
:alt: Sequence dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to identify a sequence:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the sequence. The name will be displayed in the *pgAdmin* tree control. The sequence name must be distinct from the name of any other sequence, table, index, view, or foreign table in the same schema.
|
||||
* Use the drop-down listbox next to *Owner* to select the name of the role that will own the sequence.
|
||||
* Use the drop-down listbox next to *Schema* to select the schema in which the sequence will reside.
|
||||
* Use the *Name* field to add a descriptive name for the sequence. The name will
|
||||
be displayed in the *pgAdmin* tree control. The sequence name must be
|
||||
distinct from the name of any other sequence, table, index, view, or foreign
|
||||
table in the same schema.
|
||||
* Use the drop-down listbox next to *Owner* to select the name of the role that
|
||||
will own the sequence.
|
||||
* Use the drop-down listbox next to *Schema* to select the schema in which the
|
||||
sequence will reside.
|
||||
* Store notes about the sequence in the *Comment* field.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/sequence_definition.png
|
||||
:alt: Sequence dialog definition tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Definition* tab to define the sequence:
|
||||
|
||||
* Use the *Increment* field to specify which value is added to the current sequence value to create a new value.
|
||||
* Provide a value in the *Start* field to specify the beginning value of the sequence. The default starting value is MINVALUE for ascending sequences and MAXVALUE for descending ones.
|
||||
* Provide a value in the *Minimum* field to specify the minimum value a sequence can generate. If this clause is not supplied or NO MINVALUE is specified, then defaults will be used. The defaults are 1 and -263-1 for ascending and descending sequences, respectively.
|
||||
* Provide a value in the *Maximum* field to specify the maximum value for the sequence. If this clause is not supplied or NO MAXVALUE is specified, then default values will be used. The defaults are 263-1 and -1 for ascending and descending sequences, respectively.
|
||||
* Provide a value in the *Cache* field to specify how many sequence numbers are to be preallocated and stored in memory for faster access. The minimum value is 1 (only one value can be generated at a time, i.e., no cache), and this is also the default.
|
||||
* Move the *Cycled* switch to the *Yes* position to allow the sequence to wrap around when the MAXVALUE or the MINVALUE has been reached by an ascending or descending sequence respectively. If the limit is reached, the next number generated will be the MINVALUE or MAXVALUE, respectively. The default is *No*.
|
||||
* Use the *Increment* field to specify which value is added to the current
|
||||
sequence value to create a new value.
|
||||
* Provide a value in the *Start* field to specify the beginning value of the
|
||||
sequence. The default starting value is MINVALUE for ascending sequences and
|
||||
MAXVALUE for descending ones.
|
||||
* Provide a value in the *Minimum* field to specify the minimum value a sequence
|
||||
can generate. If this clause is not supplied or NO MINVALUE is specified,
|
||||
then defaults will be used. The defaults are 1 and -263-1 for ascending and
|
||||
descending sequences, respectively.
|
||||
* Provide a value in the *Maximum* field to specify the maximum value for the
|
||||
sequence. If this clause is not supplied or NO MAXVALUE is specified, then
|
||||
default values will be used. The defaults are 263-1 and -1 for ascending and
|
||||
descending sequences, respectively.
|
||||
* Provide a value in the *Cache* field to specify how many sequence numbers are
|
||||
to be preallocated and stored in memory for faster access. The minimum value
|
||||
is 1 (only one value can be generated at a time, i.e., no cache), and this is
|
||||
also the default.
|
||||
* Move the *Cycled* switch to the *Yes* position to allow the sequence to wrap
|
||||
around when the MAXVALUE or the MINVALUE has been reached by an ascending or
|
||||
descending sequence respectively. If the limit is reached, the next number
|
||||
generated will be the MINVALUE or MAXVALUE, respectively. The default is *No*.
|
||||
|
||||
Click the *Security* tab to continue.
|
||||
|
||||
.. image:: images/sequence_security.png
|
||||
:alt: Sequence dialog security tab
|
||||
:align: center
|
||||
|
||||
Use the *Security* tab to assign privileges and define security labels for the sequence.
|
||||
Use the *Security* tab to assign privileges and define security labels for the
|
||||
sequence.
|
||||
|
||||
Use the *Privileges* panel to assign privileges. Click the *Add* icon (+) to set privileges:
|
||||
Use the *Privileges* panel to assign privileges. Click the *Add* icon (+) to
|
||||
set privileges:
|
||||
|
||||
* Select the name of a role that will be granted privileges 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.
|
||||
* Select the name of a role that will be granted privileges 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.
|
||||
|
||||
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 the *Delete Row* popup.
|
||||
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
|
||||
the *Delete Row* popup.
|
||||
|
||||
Use the *Security Labels* panel to define security labels applied to the sequence. Click the *Add* icon (+) to add each security label selection:
|
||||
Use the *Security Labels* panel to define security labels applied to the
|
||||
sequence. Click the *Add* icon (+) to add each security label selection:
|
||||
|
||||
* Specify a security label provider in the *Provider* field. The named provider must be loaded and must consent to the proposed labeling operation.
|
||||
* Specify a a security label in the *Security Label* field. The meaning of a given label is at the discretion of the label provider. PostgreSQL places no restrictions on whether or how a label provider must interpret security labels; it merely provides a mechanism for storing them.
|
||||
* Specify a security label provider in the *Provider* field. The named provider
|
||||
must be loaded and must consent to the proposed labeling operation.
|
||||
* Specify a a security label in the *Security Label* field. The meaning of a
|
||||
given label is at the discretion of the label provider. PostgreSQL places no
|
||||
restrictions on whether or how a label provider must interpret security
|
||||
labels; it merely provides a mechanism for storing them.
|
||||
|
||||
Click the *Add* icon (+) to assign additional security labels; to discard a security label, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
|
||||
Click the *Add* icon (+) to assign additional security labels; to discard a
|
||||
security label, click the trash icon to the left of the row and confirm deletion
|
||||
in the *Delete Row* popup.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *Sequence* dialog generate a generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
|
||||
Your entries in the *Sequence* dialog generate a generate a SQL command (see an
|
||||
example below). Use the *SQL* tab for review; revisit or switch tabs to make any
|
||||
changes to the SQL command.
|
||||
|
||||
**Example**
|
||||
Example
|
||||
*******
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Sequence* dialog:
|
||||
The following is an example of the sql command generated by user selections in
|
||||
the *Sequence* dialog:
|
||||
|
||||
.. image:: images/sequence_sql.png
|
||||
:alt: Sequence dialog sql tab
|
||||
:align: center
|
||||
|
||||
The example shown demonstrates a sequence named *seconds*. The sequence will increase in *5* second increments, and stop when it reaches a maximum value equal of *60*.
|
||||
The example shown demonstrates a sequence named *seconds*. The sequence will
|
||||
increase in *5* second increments, and stop when it reaches a maximum value
|
||||
equal of *60*.
|
||||
|
||||
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
|
||||
* 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.
|
||||
|
|
|
@ -4,59 +4,115 @@
|
|||
`Server Dialog`:index:
|
||||
**********************
|
||||
|
||||
Use the *Server* dialog to describe a connection to a server. Note: you must ensure that the pg_hba.conf file of the server from which you are connecting allows connections from the host of the client.
|
||||
Use the *Server* dialog to describe a connection to a server. Note: you must
|
||||
ensure that the pg_hba.conf file of the server from which you are connecting
|
||||
allows connections from the host of the client.
|
||||
|
||||
.. image:: images/server_general.png
|
||||
:alt: Server dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to identify the server:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the server; the name specified will be displayed in the *Browser* tree control.
|
||||
* Use the drop-down list box in the *Server group* field to select the parent node for the server; the server will be displayed in the *Browser* tree control within the specified group.
|
||||
* Use the color-picker in the *Background* field to specify the background color for the server.
|
||||
* Use the color-picker in the *Foreground* field to specify the foreground color for the server.
|
||||
* If the *Connect now?* checkbox is checked, the client will attempt a connection to the server upon completion of the dialog; this is the default
|
||||
* Use the *Name* field to add a descriptive name for the server; the name
|
||||
specified will be displayed in the *Browser* tree control.
|
||||
* Use the drop-down list box in the *Server group* field to select the parent
|
||||
node for the server; the server will be displayed in the *Browser* tree
|
||||
control within the specified group.
|
||||
* Use the color-picker in the *Background* field to specify the background
|
||||
color for the server.
|
||||
* Use the color-picker in the *Foreground* field to specify the foreground
|
||||
color for the server.
|
||||
* If the *Connect now?* checkbox is checked, the client will attempt a
|
||||
connection to the server upon completion of the dialog; this is the default
|
||||
* Provide a comment about the server in the *Comments* field.
|
||||
|
||||
Click the *Connection* tab to continue.
|
||||
|
||||
.. image:: images/server_connection.png
|
||||
:alt: Server dialog connection tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Connection* tab to configure a connection:
|
||||
|
||||
* Specify the IP address of the server host, or the fully qualified domain name in the *Host name/address* field. If you provide a unix domain socket, the directory name must begin with a "/".
|
||||
* Enter the listener port number of the server host in the *Port* field. The default is *5432*.
|
||||
* Use the *Maintenance database* field to specify the name of the initial database to which the client will connect. If you will be using pgAgent or adminpack objects, the pgAgent schema and adminpack objects should be installed on that database.
|
||||
* Use the *Username* field to specify the name of a role that will be used when authenticating with the server.
|
||||
* Use the *Password* field to provide a password that will be supplied when authenticating with the server.
|
||||
* Check the box next to *Save password?* to instruct pgAdmin to save the password for future use. Use :ref:`Clear Saved Password <clear_saved_passwords>` to remove the saved password.
|
||||
* Use the *Role* field to specify the name of a role that has privileges that will be conveyed to the client after authentication with the server. This selection allows you to connect as one role, and then assume the permissions of this specified role after the connection is established. Note that the connecting role must be a member of the role specified.
|
||||
* Use the *Service* field to specify the service name. For more information, see `Section 33.16 of the Postgres documentation <https://www.postgresql.org/docs/10/static/libpq-pgservice.html>`_.
|
||||
* Specify the IP address of the server host, or the fully qualified domain
|
||||
name in the *Host name/address* field. If you provide a unix domain socket,
|
||||
the directory name must begin with a "/".
|
||||
* Enter the listener port number of the server host in the *Port* field. The
|
||||
default is *5432*.
|
||||
* Use the *Maintenance database* field to specify the name of the initial
|
||||
database to which the client will connect. If you will be using pgAgent or
|
||||
adminpack objects, the pgAgent schema and adminpack objects should be
|
||||
installed on that database.
|
||||
* Use the *Username* field to specify the name of a role that will be used when
|
||||
authenticating with the server.
|
||||
* Use the *Password* field to provide a password that will be supplied when
|
||||
authenticating with the server.
|
||||
* Check the box next to *Save password?* to instruct pgAdmin to save the
|
||||
password for future use. Use
|
||||
:ref:`Clear Saved Password <clear_saved_passwords>` to remove the saved
|
||||
password.
|
||||
* Use the *Role* field to specify the name of a role that has privileges that
|
||||
will be conveyed to the client after authentication with the server. This
|
||||
selection allows you to connect as one role, and then assume the permissions
|
||||
of this specified role after the connection is established. Note that the
|
||||
connecting role must be a member of the role specified.
|
||||
* Use the *Service* field to specify the service name. For more information,
|
||||
see
|
||||
`Section 33.16 of the Postgres documentation <https://www.postgresql.org/docs/10/static/libpq-pgservice.html>`_.
|
||||
|
||||
Click the *SSL* tab to continue.
|
||||
|
||||
.. image:: images/server_ssl.png
|
||||
:alt: Server dialog ssl tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *SSL* tab to configure SSL:
|
||||
|
||||
* Use the drop-down list box in the *SSL* field to select the type of SSL connection the server should use. For more information about using SSL encryption, see `Section 33.18 of the Postgres documentation <https://www.postgresql.org/docs/current/static/libpq-ssl.html>`_.
|
||||
* Use the drop-down list box in the *SSL* field to select the type of SSL
|
||||
connection the server should use. For more information about using SSL
|
||||
encryption, see
|
||||
`Section 33.18 of the Postgres documentation <https://www.postgresql.org/docs/current/static/libpq-ssl.html>`_.
|
||||
|
||||
If pgAdmin is installed in Server mode (the default mode), you can use the platform-specific File manager dialog to upload files that support SSL encryption to the server. To access the File manager dialog, click the icon that is located to the right of each of the following fields.
|
||||
If pgAdmin is installed in Server mode (the default mode), you can use the
|
||||
platform-specific File manager dialog to upload files that support SSL
|
||||
encryption to the server. To access the File manager dialog, click the
|
||||
icon that is located to the right of each of the following fields.
|
||||
|
||||
* Use the *Client certificate* field to specify the file containing the client SSL certificate. This file will replace the default *~/.postgresql/postgresql.crt* if pgAdmin is installed in Desktop mode, and *<STORAGE_DIR>/<USERNAME>/.postgresql/postgresql.crt* if pgAdmin is installed in Web mode. This parameter is ignored if an SSL connection is not made.
|
||||
* Use the *Client certificate key* field to specify the file containing the secret key used for the client certificate. This file will replace the default *~/.postgresql/postgresql.key* if pgAdmin is installed in Desktop mode, and *<STORAGE_DIR>/<USERNAME>/.postgresql/postgresql.key* if pgAdmin is installed in Web mode. This parameter is ignored if an SSL connection is not made.
|
||||
* Use the *Root certificate* field to specify the file containing the SSL certificate authority. This file will replace the default *~/.postgresql/root.crt*. This parameter is ignored if an SSL connection is not made.
|
||||
* Use the *Certificate revocation list* field to specify the file containing the SSL certificate revocation list. This list will replace the default list, found in *~/.postgresql/root.crl*. This parameter is ignored if an SSL connection is not made.
|
||||
* When *SSL compression?* is set to *True*, data sent over SSL connections will be compressed. The default value is *False* (compression is disabled). This parameter is ignored if an SSL connection is not made.
|
||||
* Use the *Client certificate* field to specify the file containing the client
|
||||
SSL certificate. This file will replace the default
|
||||
*~/.postgresql/postgresql.crt* if pgAdmin is installed in Desktop mode, and
|
||||
*<STORAGE_DIR>/<USERNAME>/.postgresql/postgresql.crt* if pgAdmin is installed
|
||||
in Web mode. This parameter is ignored if an SSL connection is not made.
|
||||
* Use the *Client certificate key* field to specify the file containing the
|
||||
secret key used for the client certificate. This file will replace the
|
||||
default *~/.postgresql/postgresql.key* if pgAdmin is installed in Desktop
|
||||
mode, and *<STORAGE_DIR>/<USERNAME>/.postgresql/postgresql.key* if pgAdmin
|
||||
is installed in Web mode. This parameter is ignored if an SSL connection is
|
||||
not made.
|
||||
* Use the *Root certificate* field to specify the file containing the SSL
|
||||
certificate authority. This file will replace the default
|
||||
*~/.postgresql/root.crt*. This parameter is ignored if an SSL connection is
|
||||
not made.
|
||||
* Use the *Certificate revocation list* field to specify the file containing
|
||||
the SSL certificate revocation list. This list will replace the default list,
|
||||
found in *~/.postgresql/root.crl*. This parameter is ignored if an SSL
|
||||
connection is not made.
|
||||
* When *SSL compression?* is set to *True*, data sent over SSL connections will
|
||||
be compressed. The default value is *False* (compression is disabled). This
|
||||
parameter is ignored if an SSL connection is not made.
|
||||
|
||||
*WARNING:* In Server mode, certificates, private keys, and the revocation list are stored in the per-user file storage area on the server, which is owned by the user account under which the pgAdmin server process is run. This means that administrators of the server may be able to access those files; appropriate caution should be taken before choosing to use this feature.
|
||||
.. warning:: In Server mode, certificates, private keys, and the revocation list
|
||||
are stored in the per-user file storage area on the server, which is owned
|
||||
by the user account under which the pgAdmin server process is run. This
|
||||
means that administrators of the server may be able to access those files;
|
||||
appropriate caution should be taken before choosing to use this feature.
|
||||
|
||||
Click the *SSH Tunnel* tab to continue.
|
||||
|
||||
.. image:: images/server_ssh_tunnel.png
|
||||
:alt: Server dialog ssh tunnel tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *SSH Tunnel* tab to configure SSH Tunneling:
|
||||
|
||||
|
@ -64,36 +120,65 @@ You can use the "SSH Tunnel" tab to connect pgAdmin (through an intermediary
|
|||
proxy host) to a server that resides on a network to which the client may
|
||||
not be able to connect directly.
|
||||
|
||||
* Set "Use SSH tunneling" to *Yes* to specify that pgAdmin should use an SSH tunnel when connecting to the specified server.
|
||||
* Specify the name or IP address of the SSH host (through which client connections will be forwarded) in the *Tunnel host* field.
|
||||
* Specify the port of the SSH host (through which client connections will be forwarded) in the *Tunnel port* field.
|
||||
* Specify the name of a user with login privileges for the SSH host in the *Username* field.
|
||||
* Specify the type of authentication that will be used when connecting to the SSH host in the *Authentication* field.
|
||||
* Set "Use SSH tunneling" to *Yes* to specify that pgAdmin should use an SSH
|
||||
tunnel when connecting to the specified server.
|
||||
* Specify the name or IP address of the SSH host (through which client
|
||||
connections will be forwarded) in the *Tunnel host* field.
|
||||
* Specify the port of the SSH host (through which client connections will be
|
||||
forwarded) in the *Tunnel port* field.
|
||||
* Specify the name of a user with login privileges for the SSH host in the
|
||||
*Username* field.
|
||||
* Specify the type of authentication that will be used when connecting to the
|
||||
SSH host in the *Authentication* field:
|
||||
|
||||
* Select the *Password* option to specify that pgAdmin will use a password for authentication to the SSH host. This is the default.
|
||||
* Select the *Identity file* to specify that pgAdmin will use a private key file when connecting.
|
||||
* If the SSH host is expecting a private key file for authentication, use the *Identity file* field to specify the location of the key file.
|
||||
* If the SSH host is expecting a password of the user name or an identity file if being used, use the *Password* field to specify the password.
|
||||
* Check the box next to *Save password?* to instruct pgAdmin to save the password for future use. Use :ref:`Clear SSH Tunnel Password <clear_saved_passwords>` to remove the saved password.
|
||||
* Select the *Password* option to specify that pgAdmin will use a password
|
||||
for authentication to the SSH host. This is the default.
|
||||
* Select the *Identity file* to specify that pgAdmin will use a private key
|
||||
file when connecting.
|
||||
|
||||
* If the SSH host is expecting a private key file for authentication, use the
|
||||
*Identity file* field to specify the location of the key file.
|
||||
* If the SSH host is expecting a password of the user name or an identity file
|
||||
if being used, use the *Password* field to specify the password.
|
||||
* Check the box next to *Save password?* to instruct pgAdmin to save the
|
||||
password for future use. Use
|
||||
:ref:`Clear SSH Tunnel Password <clear_saved_passwords>` to remove the saved
|
||||
password.
|
||||
|
||||
|
||||
Click the *Advanced* tab to continue.
|
||||
|
||||
.. image:: images/server_advanced.png
|
||||
:alt: Server dialog advanced tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Advanced* tab to configure a connection:
|
||||
|
||||
* Specify the IP address of the server host in the *Host address* field. Using this field to specify the host IP address may save time by avoiding a DNS lookup on connection, but it may be useful to specify both a host name and address when using Kerberos, GSSAPI, or SSPI authentication methods, as well as for verify-full SSL certificate verification.
|
||||
* Use the *DB restriction* field to provide a SQL restriction that will be used against the pg_database table to limit the databases that you see. For example, you might enter: *live_db test_db* so that only live_db and test_db are shown in the pgAdmin browser. Separate entries with a comma or tab as you type.
|
||||
* Use the *Password File* field to specify the location of a password file (.pgpass). A .pgpass file allows a user to login without providing a password when they connect. For more information, see `Section 33.15 of the Postgres documentation <http://www.postgresql.org/docs/current/static/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.
|
||||
* Specify the IP address of the server host in the *Host address* field. Using
|
||||
this field to specify the host IP address may save time by avoiding a DNS
|
||||
lookup on connection, but it may be useful to specify both a host name and
|
||||
address when using Kerberos, GSSAPI, or SSPI authentication methods, as well
|
||||
as for verify-full SSL certificate verification.
|
||||
* Use the *DB restriction* field to provide a SQL restriction that will be used
|
||||
against the pg_database table to limit the databases that you see. For
|
||||
example, you might enter: *live_db test_db* so that only live_db and test_db
|
||||
are shown in the pgAdmin browser. Separate entries with a comma or tab as you
|
||||
type.
|
||||
* Use the *Password File* field to specify the location of a password file
|
||||
(.pgpass). A .pgpass file allows a user to login without providing a password
|
||||
when they connect. For more information, see
|
||||
`Section 33.15 of the Postgres documentation <http://www.postgresql.org/docs/current/static/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.
|
||||
|
||||
*NOTE:* The password file option is only supported when pgAdmin is using libpq v10.0 or later to connect to the server.
|
||||
.. note:: The password file option is only supported when pgAdmin is using libpq
|
||||
v10.0 or later to connect to the server.
|
||||
|
||||
* Click the *Save* button to save your work.
|
||||
* Click the *Cancel* button to exit without saving your work.
|
||||
* Click the *Reset* button to return the values specified on the Server dialog to their original condition.
|
||||
* Click the *Reset* button to return the values specified on the Server dialog
|
||||
to their original condition.
|
||||
|
||||
.. toctree::
|
||||
|
||||
|
|
|
@ -4,16 +4,21 @@
|
|||
`Server Group Dialog`:index:
|
||||
****************************
|
||||
|
||||
Use the *Server Group* dialog to add a new server group. Assign servers to server groups to simplify management of multiple servers. Server groups are displayed as part of the *pgAdmin* tree control.
|
||||
Use the *Server Group* dialog to add a new server group. Assign servers to
|
||||
server groups to simplify management of multiple servers. Server groups are
|
||||
displayed as part of the *pgAdmin* tree control.
|
||||
|
||||
.. image:: images/server_group.png
|
||||
:alt: Server group dialog
|
||||
:align: center
|
||||
|
||||
Use the *Name* field on the *Server Group* dialog to specify a name that will identify the server group in the *pgAdmin* tree control.
|
||||
Use the *Name* field on the *Server Group* dialog to specify a name that will
|
||||
identify the server group in the *pgAdmin* tree control.
|
||||
|
||||
* Click the *Save* button to save work.
|
||||
* Click the *Cancel* button to exit without saving work.
|
||||
* Click the *Reset* button to restore configuration parameters.
|
||||
|
||||
To create server connections in a server group, right click on the named server group and select the *Create* option to open the *Create - Server* dialog.
|
||||
To create server connections in a server group, right click on the named server
|
||||
group and select the *Create* option to open the *Create - Server* dialog.
|
||||
|
||||
|
|
|
@ -14,7 +14,9 @@ writing code that may later be rejected.
|
|||
You should always develop patches against a checkout of the source code from the
|
||||
GIT source code repository, and not a release tarball. This ensures that you're
|
||||
working with the latest code on the branch and makes it easier to generate
|
||||
patches correctly. You can checkout the source code with a command like::
|
||||
patches correctly. You can checkout the source code with a command like:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ git clone git://git.postgresql.org/git/pgadmin4.git
|
||||
|
||||
|
@ -22,19 +24,25 @@ Once you've made the changes you wish to make, commit them to a private
|
|||
development branch in your local repository. Then create a patch containing the
|
||||
changes in your development branch against the upstream branch on which your
|
||||
work is based. For example, if your current branch contains your changes, you
|
||||
might run::
|
||||
might run:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ git diff origin/master > my_cool_feature.diff
|
||||
|
||||
to create a patch between your development branch and the public master branch.
|
||||
|
||||
You can also create patches directly from the development tree, for example::
|
||||
You can also create patches directly from the development tree, for example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ git diff > my_cool_feature.diff
|
||||
|
||||
If you are adding new files, you may need to stage them for commit, and then
|
||||
create your patch against the staging area. If any of the files are binary,
|
||||
for example, images, you will need to use the *--binary* option::
|
||||
for example, images, you will need to use the *--binary* option:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ git add file1.py file2.py images/image1.png [...]
|
||||
$ git diff --cached --binary > my_cool_feature.diff
|
||||
|
|
|
@ -5,23 +5,32 @@
|
|||
***********************
|
||||
|
||||
|
||||
Use the *Synonym* dialog to substitute the name of a target object with a user-defined synonym.
|
||||
Use the *Synonym* dialog to substitute the name of a target object with a
|
||||
user-defined synonym.
|
||||
|
||||
The *Synonym* dialog organizes the development of a synonym through the *General* tab. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *Synonym* dialog organizes the development of a synonym through the
|
||||
*General* tab. The *SQL* tab displays the SQL code generated by dialog
|
||||
selections.
|
||||
|
||||
.. image:: images/synonym_general.png
|
||||
:alt: Synonym dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to identify the synonym:
|
||||
|
||||
* Use the *Name* field to specify the name of synonym. The name will be displayed in the *pgAdmin* tree control.
|
||||
* Select the name of the schema in which the synonym will reside from the drop-down listbox in the *Schema* field.
|
||||
* Use the *Name* field to specify the name of synonym. The name will be
|
||||
displayed in the *pgAdmin* tree control.
|
||||
* Select the name of the schema in which the synonym will reside from the
|
||||
drop-down listbox in the *Schema* field.
|
||||
|
||||
In the definition panel, identify the target:
|
||||
|
||||
* Use the drop-down listbox next to *Target Type* to select the the type of object referenced by the synonym.
|
||||
* Use the drop-down listbox next to *Target Schema* to select the name of the schema in which the object resides.
|
||||
* Use the drop-down listbox next to *Target Object* to select the name of the object referenced by the synonym.
|
||||
* Use the drop-down listbox next to *Target Type* to select the the type of
|
||||
object referenced by the synonym.
|
||||
* Use the drop-down listbox next to *Target Schema* to select the name of the
|
||||
schema in which the object resides.
|
||||
* Use the drop-down listbox next to *Target Object* to select the name of the
|
||||
object referenced by the synonym.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
|
@ -29,6 +38,7 @@ Your selections and entries in the *Synonym* dialog generate a SQL command.
|
|||
|
||||
.. image:: images/synonym_sql.png
|
||||
:alt: Synonym dialog sql tab
|
||||
:align: center
|
||||
|
||||
The example creates a synonym for the *emp* table named *emp_hist*.
|
||||
|
||||
|
|
|
@ -4,60 +4,103 @@
|
|||
`Tabbed Browser`:index:
|
||||
***********************
|
||||
|
||||
The right pane of the *pgAdmin* window features a collection of tabs that display information about the object currently selected in the *pgAdmin* tree control in the left window. Select a tab to access information about the highlighted object in the tree control.
|
||||
The right pane of the *pgAdmin* window features a collection of tabs that
|
||||
display information about the object currently selected in the *pgAdmin* tree
|
||||
control in the left window. Select a tab to access information about the
|
||||
highlighted object in the tree control.
|
||||
|
||||
.. image:: images/main_dashboard.png
|
||||
:alt: Dashboard panel
|
||||
:align: center
|
||||
|
||||
The graphs on the *Dashboard* tab provides an active analysis of the usage statistics for the selected server or database:
|
||||
The graphs on the *Dashboard* tab provides an active analysis of the usage
|
||||
statistics for the selected server or database:
|
||||
|
||||
* The *Server sessions* or *Database sessions* graph displays the interactions with the server or database.
|
||||
* The *Transactions per second* graph displays the commits, rollbacks, and total transactions per second that are taking place on the server or database.
|
||||
* The *Tuples in* graph displays the number of tuples inserted, updated, and deleted on the server or database.
|
||||
* The *Tuples out* graph displays the number of tuples fetched and returned from the server or database.
|
||||
* The *Block I/O* graph displays the number of blocks read from the filesystem or fetched from the buffer cache (but not the operating system's file system cache) for the server or database.
|
||||
* The *Server sessions* or *Database sessions* graph displays the interactions
|
||||
with the server or database.
|
||||
* The *Transactions per second* graph displays the commits, rollbacks, and
|
||||
total transactions per second that are taking place on the server or database.
|
||||
* The *Tuples in* graph displays the number of tuples inserted, updated, and
|
||||
deleted on the server or database.
|
||||
* The *Tuples out* graph displays the number of tuples fetched and returned
|
||||
from the server or database.
|
||||
* The *Block I/O* graph displays the number of blocks read from the filesystem
|
||||
or fetched from the buffer cache (but not the operating system's file system
|
||||
cache) for the server or database.
|
||||
|
||||
The *Server activity* panel displays information about sessions, locks, prepared transactions, and server configuration (if applicable). The information is presented in context-sensitive tables. Use controls located above the table to:
|
||||
The *Server activity* panel displays information about sessions, locks, prepared
|
||||
transactions, and server configuration (if applicable). The information is
|
||||
presented in context-sensitive tables. Use controls located above the table to:
|
||||
|
||||
* Click the *Refresh* button to update the information displayed in each table.
|
||||
* Enter a value in the *Search* box to restrict the table content to one or more sessions that satisfy the search criteria. For example, you can enter a process ID to locate a specific session, or a session state (such as *idle*) to locate all of the sessions that are in an idle state.
|
||||
* Enter a value in the *Search* box to restrict the table content to one or more
|
||||
sessions that satisfy the search criteria. For example, you can enter a
|
||||
process ID to locate a specific session, or a session state (such as *idle*)
|
||||
to locate all of the sessions that are in an idle state.
|
||||
|
||||
You can use icons in the *Sessions* table to review or control the state of a session:
|
||||
You can use icons in the *Sessions* table to review or control the state of a
|
||||
session:
|
||||
|
||||
* Use the *Terminate* icon (located in the first column) to stop a session and remove the session from the table. Before the server terminates the session, you will be prompted to confirm your selection.
|
||||
* Use the *Cancel* icon (located in the second column) to terminate an active query without closing the session. Before canceling the query, the server will prompt you to confirm your selection. When you cancel a query, the value displayed in the *State* column of the table will be updated from *Active* to *Idle*. The session will remain in the table until the session is terminated.
|
||||
* Use the *Details* icon (located in the third column) to open the *Details* tab; the tab displays information about the selected session.
|
||||
* Use the *Terminate* icon (located in the first column) to stop a session and
|
||||
remove the session from the table. Before the server terminates the session,
|
||||
you will be prompted to confirm your selection.
|
||||
* Use the *Cancel* icon (located in the second column) to terminate an active
|
||||
query without closing the session. Before canceling the query, the server
|
||||
will prompt you to confirm your selection. When you cancel a query, the
|
||||
value displayed in the *State* column of the table will be updated from
|
||||
*Active* to *Idle*. The session will remain in the table until the session is
|
||||
terminated.
|
||||
* Use the *Details* icon (located in the third column) to open the *Details*
|
||||
tab; the tab displays information about the selected session.
|
||||
|
||||
.. image:: images/main_properties_table.png
|
||||
:alt: Properties panel
|
||||
:align: center
|
||||
|
||||
The *Properties* tab displays information about the object selected.
|
||||
|
||||
Click the *Delete* icon in the toolbar under the browser tab to delete the selected objects in the Properties panel.
|
||||
Click the *Delete* icon in the toolbar under the browser tab to delete the
|
||||
selected objects in the Properties panel.
|
||||
|
||||
Click the *Drop Cascade* icon in the toolbar under the browser tab to delete the selected objects and all dependent objects in the Properties panel.
|
||||
Click the *Drop Cascade* icon in the toolbar under the browser tab to delete the
|
||||
selected objects and all dependent objects in the Properties panel.
|
||||
|
||||
.. image:: images/main_properties_icons.png
|
||||
:alt: Object editor icon
|
||||
:align: center
|
||||
|
||||
Click the *Edit* icon in the toolbar under the browser tabs to launch the *Properties* dialog for the selected object.
|
||||
Click the *Edit* icon in the toolbar under the browser tabs to launch the
|
||||
*Properties* dialog for the selected object.
|
||||
|
||||
To preserve any changes to the *Properties* dialog, click the *Save* icon; your modifications will be displayed in the updated *Properties* tab.
|
||||
To preserve any changes to the *Properties* dialog, click the *Save* icon; your
|
||||
modifications will be displayed in the updated *Properties* tab.
|
||||
|
||||
.. image:: images/main_properties_edit.png
|
||||
:alt: Object editor window
|
||||
:align: center
|
||||
|
||||
Details about the object highlighted in the tree control are displayed in one or more collapsible panels. You can use the arrow to the left of each panel label to open or close a panel.
|
||||
Details about the object highlighted in the tree control are displayed in one or
|
||||
more collapsible panels. You can use the arrow to the left of each panel label
|
||||
to open or close a panel.
|
||||
|
||||
.. image:: images/main_sql.png
|
||||
:alt: SQL panel
|
||||
:align: center
|
||||
|
||||
The *SQL* tab displays the SQL script that created the highlighted object, and when applicable, a (commented out) SQL statement that will *DROP* the selected object. You can copy the SQL statements to the editor of your choice using cut and paste shortcuts.
|
||||
The *SQL* tab displays the SQL script that created the highlighted object, and
|
||||
when applicable, a (commented out) SQL statement that will *DROP* the selected
|
||||
object. You can copy the SQL statements to the editor of your choice using cut
|
||||
and paste shortcuts.
|
||||
|
||||
.. image:: images/main_statistics.png
|
||||
:alt: Statistics panel
|
||||
:align: center
|
||||
|
||||
The *Statistics* tab displays the statistics gathered for each object on the tree control; the statistics displayed in the table vary by the type of object that is selected. Click a column heading to sort the table by the data displayed in the column; click again to reverse the sort order. The following table lists some of the statistics that are available:
|
||||
The *Statistics* tab displays the statistics gathered for each object on the
|
||||
tree control; the statistics displayed in the table vary by the type of object
|
||||
that is selected. Click a column heading to sort the table by the data displayed
|
||||
in the column; click again to reverse the sort order. The following table lists
|
||||
some of the statistics that are available:
|
||||
|
||||
+----------------------------+------------------------------------------------------------------------------------------------------------+
|
||||
| Panel | Description |
|
||||
|
@ -115,23 +158,39 @@ The *Statistics* tab displays the statistics gathered for each object on the tre
|
|||
|
||||
.. image:: images/main_dependencies.png
|
||||
:alt: Dependencies panel
|
||||
:align: center
|
||||
|
||||
The *Dependencies* tab displays the objects on which the currently selected object depends. If a dependency is dropped, the object currently selected in the pgAdmin tree control will be affected. To ensure the integrity of the entire database structure, the database server makes sure that you do not accidentally drop objects that other objects depend on; you must use the DROP CASCADE command to remove an object with a dependency.
|
||||
The *Dependencies* tab displays the objects on which the currently selected
|
||||
object depends. If a dependency is dropped, the object currently selected in
|
||||
the pgAdmin tree control will be affected. To ensure the integrity of the entire
|
||||
database structure, the database server makes sure that you do not accidentally
|
||||
drop objects that other objects depend on; you must use the DROP CASCADE command
|
||||
to remove an object with a dependency.
|
||||
|
||||
The *Dependencies* table displays the following information:
|
||||
|
||||
* The *Type* field specifies the parent object type.
|
||||
* The *Name* field specifies the identifying name of the parent object.
|
||||
* The *Restriction* field describes the dependency relationship between the currently selected object and the parent.
|
||||
* If the field is *auto*, the selected object can be dropped separately from the parent object, and will be dropped if the parent object is dropped.
|
||||
* If the field is *internal*, the selected object was created during the creation of the parent object, and will be dropped if the parent object is dropped.
|
||||
* If the field is *normal*, the selected object can be dropped without dropping the parent object.
|
||||
* If the field is *blank*, the selected object is required by the system, and cannot be dropped.
|
||||
* The *Restriction* field describes the dependency relationship between the
|
||||
currently selected object and the parent:
|
||||
|
||||
* If the field is *auto*, the selected object can be dropped separately from
|
||||
the parent object, and will be dropped if the parent object is dropped.
|
||||
* If the field is *internal*, the selected object was created during the
|
||||
creation of the parent object, and will be dropped if the parent object
|
||||
is dropped.
|
||||
* If the field is *normal*, the selected object can be dropped without
|
||||
dropping the parent object.
|
||||
* If the field is *blank*, the selected object is required by the system,
|
||||
and cannot be dropped.
|
||||
|
||||
.. image:: images/main_dependents.png
|
||||
:alt: Dependents panel
|
||||
:align: center
|
||||
|
||||
The *Dependents* tab displays a table of objects that depend on the object currently selected in the *pgAdmin* browser. A dependent object can be dropped without affecting the object currently selected in the *pgAdmin* tree control.
|
||||
The *Dependents* tab displays a table of objects that depend on the object
|
||||
currently selected in the *pgAdmin* browser. A dependent object can be dropped
|
||||
without affecting the object currently selected in the *pgAdmin* tree control.
|
||||
|
||||
* The *Type* field specifies the dependent object type.
|
||||
* The *Name* field specifies the identifying name for the dependent object.
|
||||
|
@ -139,7 +198,15 @@ The *Dependents* tab displays a table of objects that depend on the object curre
|
|||
|
||||
.. image:: images/main_query_tool.png
|
||||
:alt: Query tool panel
|
||||
:align: center
|
||||
|
||||
Additional tabs open when you access the extended functionality offered by pgAdmin tools (such as the Query tool, Debugger, or SQL editor). Use the close icon (X) located in the upper-right corner of each tab to close the tab when you are finished using the tool. Like permanent tabs, these tabs may be repositioned in the pgAdmin client window.
|
||||
Additional tabs open when you access the extended functionality offered by
|
||||
pgAdmin tools (such as the Query tool, Debugger, or SQL editor). Use the close
|
||||
icon (X) located in the upper-right corner of each tab to close the tab when you
|
||||
are finished using the tool. Like permanent tabs, these tabs may be repositioned
|
||||
in the pgAdmin client window.
|
||||
|
||||
By default, each time you open a tool, pgAdmin will open a new browser tab. You can control this behavior by modifying the *Display* node of the *Preferences* dialog for each tool. To open the *Preferences* dialog, select *Preferences* from the *File* menu.
|
||||
By default, each time you open a tool, pgAdmin will open a new browser tab. You
|
||||
can control this behavior by modifying the *Display* node of the *Preferences*
|
||||
dialog for each tool. To open the *Preferences* dialog, select *Preferences*
|
||||
from the *File* menu.
|
||||
|
|
|
@ -6,42 +6,73 @@
|
|||
|
||||
Use the *Table* dialog to create or modify a table.
|
||||
|
||||
The *Table* dialog organizes the development of a table through the following dialog tabs: *General*, *Columns*, *Constraints*, *Advanced*, *Parameter*, and *Security*. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *Table* dialog organizes the development of a table through the following
|
||||
dialog tabs: *General*, *Columns*, *Constraints*, *Advanced*, *Parameter*, and
|
||||
*Security*. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
|
||||
.. image:: images/table_general.png
|
||||
:alt: Table dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to identify the table:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the table. A table cannot have the same name as any existing table, sequence, index, view, foreign table, or data type in the same schema. The name specified will be displayed in the *pgAdmin* tree control. This field is required.
|
||||
* Select the owner of the table from the drop-down listbox in the *Owner* field. By default, the owner of the table is the role that creates the table.
|
||||
* Select the name of the schema in which the table will reside from the drop-down listbox in the *Schema* field.
|
||||
* Use the drop-down listbox in the *Tablespace* field to specify the tablespace in which the table will be stored.
|
||||
* Use the *Name* field to add a descriptive name for the table. A table cannot
|
||||
have the same name as any existing table, sequence, index, view, foreign
|
||||
table, or data type in the same schema. The name specified will be displayed
|
||||
in the *pgAdmin* tree control. This field is required.
|
||||
* Select the owner of the table from the drop-down listbox in the *Owner* field.
|
||||
By default, the owner of the table is the role that creates the table.
|
||||
* Select the name of the schema in which the table will reside from the
|
||||
drop-down listbox in the *Schema* field.
|
||||
* Use the drop-down listbox in the *Tablespace* field to specify the tablespace
|
||||
in which the table will be stored.
|
||||
* Store notes about the table in the *Comment* field.
|
||||
|
||||
Click the *Columns* tab to continue.
|
||||
|
||||
.. image:: images/table_columns.png
|
||||
:alt: Table dialog columns tab
|
||||
:align: center
|
||||
|
||||
Use the drop-down listbox next to *Inherited from table(s)* to specify any parent table(s); the table will inherit columns from the selected parent table(s). Click inside the *Inherited from table(s)* field to select a table name from a drop-down list. Repeat to add any other parent tables. Delete a selected table by clicking the *x* to the left of the parent name. Note that inherited column names and datatypes are not editable in the current dialog; they must be modified at the parent level.
|
||||
Use the drop-down listbox next to *Inherited from table(s)* to specify any
|
||||
parent table(s); the table will inherit columns from the selected parent
|
||||
table(s). Click inside the *Inherited from table(s)* field to select a table
|
||||
name from a drop-down list. Repeat to add any other parent tables. Delete a
|
||||
selected table by clicking the *x* to the left of the parent name. Note that
|
||||
inherited column names and datatypes are not editable in the current dialog;
|
||||
they must be modified at the parent level.
|
||||
|
||||
Click the *Add* icon (+) to specify the names of columns and their datatypes in the *Columns* table:
|
||||
Click the *Add* icon (+) to specify the names of columns and their datatypes in
|
||||
the *Columns* table:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the column.
|
||||
* Use the drop-down listbox in the *Data type* field to select a data type for 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.
|
||||
* 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 the primary key constraint.
|
||||
* Use the drop-down listbox in the *Data type* field to select a data type for
|
||||
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.
|
||||
* 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
|
||||
the primary key constraint.
|
||||
|
||||
Click the *Add* icon (+) to add additional columns; to discard a column, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
|
||||
Click the *Add* icon (+) to add additional columns; to discard a column, click
|
||||
the trash icon to the left of the row and confirm deletion in the *Delete Row*
|
||||
popup.
|
||||
|
||||
Click the *Constraints* tab to continue.
|
||||
|
||||
.. image:: images/table_constraints.png
|
||||
:alt: Table dialog constraints tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Constraints* tab to provide a table or column constraint. Optional constraint clauses specify constraints (tests) that new or updated rows must satisfy for an *INSERT* or *UPDATE* operation to succeed. Select the appropriate constraint type by selecting one of the following tabs on the *Constraints* panel:
|
||||
Use the fields in the *Constraints* tab to provide a table or column constraint.
|
||||
Optional constraint clauses specify constraints (tests) that new or updated rows
|
||||
must satisfy for an *INSERT* or *UPDATE* operation to succeed. Select the
|
||||
appropriate constraint type by selecting one of the following tabs on the
|
||||
*Constraints* panel:
|
||||
|
||||
+----------------+---------------------------------------------------------------------------------------------------------------------+
|
||||
| Tab Name | Constraint |
|
||||
|
@ -58,76 +89,126 @@ Use the fields in the *Constraints* tab to provide a table or column constraint.
|
|||
| | at least one of the operator comparisons will return false or null. |
|
||||
+----------------+---------------------------------------------------------------------------------------------------------------------+
|
||||
|
||||
To add a primary key for the table, select the *Primary Key* tab, and click the *Add* icon (+). To define the primary key, click the *Edit* icon to the left of the *Trash* icon. A dialog similar to the *Primary key* dialog (accessed by right clicking on *Constraints* in the *pgAdmin* tree control) opens.
|
||||
To add a primary key for the table, select the *Primary Key* tab, and click the
|
||||
*Add* icon (+). To define the primary key, click the *Edit* icon to the left of
|
||||
the *Trash* icon. A dialog similar to the *Primary key* dialog (accessed by
|
||||
right clicking on *Constraints* in the *pgAdmin* tree control) opens.
|
||||
|
||||
Use the fields in the *General* tab to identify the primary key:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the primary key constraint. The name will be displayed in the *pgAdmin* tree control.
|
||||
* Use the *Name* field to add a descriptive name for the primary key constraint.
|
||||
The name will be displayed in the *pgAdmin* tree control.
|
||||
* Provide notes about the primary key in the *Comment* field.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/primary_key_definition.png
|
||||
:alt: Table dialog primary key constraint definition
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Definition* tab to define the primary key constraint:
|
||||
|
||||
* Click inside the *Columns* field and select one or more column names from the drop-down listbox. To delete a selection, click the *x* to the left of the column name. The primary key constraint should be different from any unique constraint defined for the same table; the selected column(s) for the constraints must be distinct.
|
||||
* Select the name of the tablespace in which the primary key constraint will reside from the drop-down listbox in the *Tablespace* field.
|
||||
* Use the *Fill Factor* field to specify a fill factor for the table and index. The fill factor for a table is a percentage between 10 and 100. 100 (complete packing) is the default.
|
||||
* Move the *Deferrable?* switch to the *Yes* position to specify the timing of the constraint is deferrable and can be postponed until the end of the statement. The default is *No*.
|
||||
* If enabled, move the *Deferred?* switch to the *Yes* position to specify the timing of the constraint is deferred to the end of the statement. The default is *No*.
|
||||
* Click inside the *Columns* field and select one or more column names from the
|
||||
drop-down listbox. To delete a selection, click the *x* to the left of the
|
||||
column name. The primary key constraint should be different from any unique
|
||||
constraint defined for the same table; the selected column(s) for the
|
||||
constraints must be distinct.
|
||||
* Select the name of the tablespace in which the primary key constraint will
|
||||
reside from the drop-down listbox in the *Tablespace* field.
|
||||
* Use the *Fill Factor* field to specify a fill factor for the table and index.
|
||||
The fill factor for a table is a percentage between 10 and 100. 100 (complete
|
||||
packing) is the default.
|
||||
* Move the *Deferrable?* switch to the *Yes* position to specify the timing of
|
||||
the constraint is deferrable and can be postponed until the end of the
|
||||
statement. The default is *No*.
|
||||
* If enabled, move the *Deferred?* switch to the *Yes* position to specify the
|
||||
timing of the constraint is deferred to the end of the statement. The default
|
||||
is *No*.
|
||||
|
||||
.. image:: images/table_foreign_key.png
|
||||
:alt: Table dialog foreign key constrain
|
||||
:align: center
|
||||
|
||||
To add a foreign key constraint, select the *Foreign Key* tab, and click the *Add* icon (+). To define the constraint, click the *Edit* icon to the left of the *Trash* icon. A dialog similar to the *Foreign key* dialog (accessed by right clicking on *Constraints* in the *pgAdmin* tree control) opens.
|
||||
To add a foreign key constraint, select the *Foreign Key* tab, and click the
|
||||
*Add* icon (+). To define the constraint, click the *Edit* icon to the left of
|
||||
the *Trash* icon. A dialog similar to the *Foreign key* dialog (accessed by
|
||||
right clicking on *Constraints* in the *pgAdmin* tree control) opens.
|
||||
|
||||
Use the fields in the *General* tab to identify the foreign key constraint:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the foreign key constraint. The name will be displayed in the *pgAdmin* tree control.
|
||||
* Use the *Name* field to add a descriptive name for the foreign key constraint.
|
||||
The name will be displayed in the *pgAdmin* tree control.
|
||||
* Provide notes about the foreign key in the *Comment* field.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/foreign_key_definition.png
|
||||
:alt: Table dialog foreign key constraint definition
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Definition* tab to define the foreign key constraint:
|
||||
|
||||
* Move the *Deferrable?* switch to the *Yes* position to specify the timing of the constraint is deferrable and can be postponed until the end of the statement. The default is *No*.
|
||||
* If enabled, move the *Deferred?* switch to the *Yes* position to specify the timing of the constraint is deferred to the end of the statement. The default is *No*.
|
||||
* Move the *Match type* switch specify the type of matching that is enforced by the constraint:
|
||||
* Move the *Deferrable?* switch to the *Yes* position to specify the timing of
|
||||
the constraint is deferrable and can be postponed until the end of the
|
||||
statement. The default is *No*.
|
||||
* If enabled, move the *Deferred?* switch to the *Yes* position to specify the
|
||||
timing of the constraint is deferred to the end of the statement. The default
|
||||
is *No*.
|
||||
* Move the *Match type* switch specify the type of matching that is enforced by
|
||||
the constraint:
|
||||
|
||||
* Select *Full* to indicate that all columns of a multicolumn foreign key must be null if any column is null; if all columns are null, the row is not required to have a match in the referenced table.
|
||||
* Select *Simple* to specify that a single foreign key column may be null; if any column is null, the row is not required to have a match in the referenced table.
|
||||
* Select *Full* to indicate that all columns of a multicolumn foreign key
|
||||
must be null if any column is null; if all columns are null, the row is
|
||||
not required to have a match in the referenced table.
|
||||
* Select *Simple* to specify that a single foreign key column may be null;
|
||||
if any column is null, the row is not required to have a match in the
|
||||
referenced table.
|
||||
|
||||
* Move the *Validated* switch to the *Yes* position to instruct the server to validate the existing table content (against a foreign key or check constraint) when you save modifications to this dialog.
|
||||
* Move the *Auto FK Index* switch to the *No* position to disable the automatic index feature.
|
||||
* The field next to *Covering Index* generates the name of an index if the *Auto FK Index* switch is in the *Yes* position; or, this field is disabled.
|
||||
* Move the *Validated* switch to the *Yes* position to instruct the server to
|
||||
validate the existing table content (against a foreign key or check
|
||||
constraint) when you save modifications to this dialog.
|
||||
* Move the *Auto FK Index* switch to the *No* position to disable the automatic
|
||||
index feature.
|
||||
* The field next to *Covering Index* generates the name of an index if the *Auto
|
||||
FK Index* switch is in the *Yes* position; or, this field is disabled.
|
||||
|
||||
Click the *Columns* tab to continue.
|
||||
|
||||
.. image:: images/foreign_key_columns.png
|
||||
:alt: Table dialog foreign key constraint columns
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Columns* tab to specify one or more reference column(s). A Foreign Key constraint requires that one or more columns of a table must only contain values that match values in the referenced column(s) of a row of a referenced table:
|
||||
Use the fields in the *Columns* tab to specify one or more reference column(s).
|
||||
A Foreign Key constraint requires that one or more columns of a table must only
|
||||
contain values that match values in the referenced column(s) of a row of a
|
||||
referenced table:
|
||||
|
||||
* Use the drop-down listbox next to *Local column* to specify the column in the current table that will be compared to the foreign table.
|
||||
* Use the drop-down listbox next to *References* to specify the name of the table in which the comparison column(s) resides.
|
||||
* Use the drop-down listbox next to *Referencing* to specify a column in the foreign table.
|
||||
* Use the drop-down listbox next to *Local column* to specify the column in the
|
||||
current table that will be compared to the foreign table.
|
||||
* Use the drop-down listbox next to *References* to specify the name of the
|
||||
table in which the comparison column(s) resides.
|
||||
* Use the drop-down listbox next to *Referencing* to specify a column in the
|
||||
foreign table.
|
||||
|
||||
Click the *Add* icon (+) to add a column to the list; repeat the steps above and click the *Add* icon (+) to add additional columns. To discard an entry, click the trash icon to the left of the entry and confirm deletion in the *Delete Row* popup.
|
||||
Click the *Add* icon (+) to add a column to the list; repeat the steps above and
|
||||
click the *Add* icon (+) to add additional columns. To discard an entry, click
|
||||
the trash icon to the left of the entry and confirm deletion in the *Delete Row*
|
||||
popup.
|
||||
|
||||
Click the *Action* tab to continue.
|
||||
|
||||
.. image:: images/foreign_key_action.png
|
||||
:alt: Table dialog foreign key constraint action
|
||||
:align: center
|
||||
|
||||
Use the drop-down listboxes on the *Action* tab to specify behavior related to the foreign key constraint that will be performed when data within the table is updated or deleted:
|
||||
Use the drop-down listboxes on the *Action* tab to specify behavior related to
|
||||
the foreign key constraint that will be performed when data within the table is
|
||||
updated or deleted:
|
||||
|
||||
* Use the drop-down listbox next to *On update* to select an action that will be performed when data in the table is updated.
|
||||
* Use the drop-down listbox next to *On delete* to select an action that will be performed when data in the table is deleted.
|
||||
* Use the drop-down listbox next to *On update* to select an action that will be
|
||||
performed when data in the table is updated.
|
||||
* Use the drop-down listbox next to *On delete* to select an action that will be
|
||||
performed when data in the table is deleted.
|
||||
|
||||
The supported actions are:
|
||||
|
||||
|
@ -150,108 +231,176 @@ The supported actions are:
|
|||
|
||||
.. image:: images/table_check.png
|
||||
:alt: Table dialog check constraint
|
||||
:align: center
|
||||
|
||||
To add a check constraint, select the *Check* tab on the panel, and click the *Add* icon (+). To define the check constraint, click the *Edit* icon to the left of the *Trash* icon. A dialog similar to the *Check* dialog (accessed by right clicking on *Constraints* in the *pgAdmin* tree control) opens.
|
||||
To add a check constraint, select the *Check* tab on the panel, and click the
|
||||
*Add* icon (+). To define the check constraint, click the *Edit* icon to the
|
||||
left of the *Trash* icon. A dialog similar to the *Check* dialog (accessed by
|
||||
right clicking on *Constraints* in the *pgAdmin* tree control) opens.
|
||||
|
||||
Use the fields in the *General* tab to identify the check constraint:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the check constraint. The name will be displayed in the *pgAdmin* tree control. With PostgreSQL 9.5 forward, when a table has multiple check constraints, they will be tested for each row in alphabetical order by name and after NOT NULL constraints.
|
||||
* Use the *Name* field to add a descriptive name for the check constraint. The
|
||||
name will be displayed in the *pgAdmin* tree control. With PostgreSQL 9.5
|
||||
forward, when a table has multiple check constraints, they will be tested for
|
||||
each row in alphabetical order by name and after NOT NULL constraints.
|
||||
* Provide notes about the check constraint in the *Comment* field.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/check_definition.png
|
||||
:alt: Table dialog check constraint definition
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Definition* tab to define the check constraint:
|
||||
|
||||
* Provide the expression that a row must satisfy in the *Check* field. This field is required.
|
||||
* Move the *No Inherit?* switch to the *Yes* position to specify this constraint is automatically inherited by a table's children. The default is *No*.
|
||||
* Move the *Don't validate?* switch to the *No* position to skip validation of existing data; the constraint may not hold for all rows in the table. The default is *Yes*.
|
||||
* Provide the expression that a row must satisfy in the *Check* field. This
|
||||
field is required.
|
||||
* Move the *No Inherit?* switch to the *Yes* position to specify this constraint
|
||||
is automatically inherited by a table's children. The default is *No*.
|
||||
* Move the *Don't validate?* switch to the *No* position to skip validation of
|
||||
existing data; the constraint may not hold for all rows in the table. The
|
||||
default is *Yes*.
|
||||
|
||||
.. image:: images/table_unique.png
|
||||
:alt: Table dialog unique constraint
|
||||
:align: center
|
||||
|
||||
To add a unique constraint, select the *Unique* tab on the panel, and click the *Add* icon (+). To define the constraint, click the *Edit* icon to the left of the *Trash* icon. A dialog similar to the *Unique constraint* dialog (accessed by right clicking on *Constraints* in the *pgAdmin* tree control) opens.
|
||||
To add a unique constraint, select the *Unique* tab on the panel, and click the
|
||||
*Add* icon (+). To define the constraint, click the *Edit* icon to the left of
|
||||
the *Trash* icon. A dialog similar to the *Unique constraint* dialog (accessed
|
||||
by right clicking on *Constraints* in the *pgAdmin* tree control) opens.
|
||||
|
||||
Use the fields in the *General* tab to identify the unique constraint:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the unique constraint. The name will be displayed in the *pgAdmin* tree control.
|
||||
* Use the *Name* field to add a descriptive name for the unique constraint. The
|
||||
name will be displayed in the *pgAdmin* tree control.
|
||||
* Provide notes about the unique constraint in the *Comment* field.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/unique_constraint_definition.png
|
||||
:alt: Table dialog unique constraint definition
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Definition* tab to define the unique constraint:
|
||||
|
||||
* Click inside the *Columns* field and select one or more column names from the drop-down listbox. To delete a selection, click the *x* to the left of the column name. The unique constraint should be different from the primary key constraint defined for the same table; the selected column(s) for the constraints must be distinct.
|
||||
* Select the name of the tablespace in which the unique constraint will reside from the drop-down listbox in the *Tablespace* field.
|
||||
* Use the *Fill Factor* field to specify a fill factor for the table and index. The fill factor for a table is a percentage between 10 and 100. 100 (complete packing) is the default.
|
||||
* Move the *Deferrable?* switch to the *Yes* position to specify the timing of the constraint is deferrable and can be postponed until the end of the statement. The default is *No*.
|
||||
* If enabled, move the *Deferred?* switch to the *Yes* position to specify the timing of the constraint is deferred to the end of the statement. The default is *No*.
|
||||
* Click inside the *Columns* field and select one or more column names from the
|
||||
drop-down listbox. To delete a selection, click the *x* to the left of the
|
||||
column name. The unique constraint should be different from the primary key
|
||||
constraint defined for the same table; the selected column(s) for the
|
||||
constraints must be distinct.
|
||||
* Select the name of the tablespace in which the unique constraint will reside
|
||||
from the drop-down listbox in the *Tablespace* field.
|
||||
* Use the *Fill Factor* field to specify a fill factor for the table and index.
|
||||
The fill factor for a table is a percentage between 10 and 100. 100 (complete
|
||||
packing) is the default.
|
||||
* Move the *Deferrable?* switch to the *Yes* position to specify the timing of
|
||||
the constraint is deferrable and can be postponed until the end of the
|
||||
statement. The default is *No*.
|
||||
* If enabled, move the *Deferred?* switch to the *Yes* position to specify the
|
||||
timing of the constraint is deferred to the end of the statement. The default
|
||||
is *No*.
|
||||
|
||||
.. image:: images/table_exclude.png
|
||||
:alt: Table dialog exclude constraint
|
||||
:align: center
|
||||
|
||||
To add an exclusion constraint, select the *Exclude* tab on the panel, and click the *Add* icon (+). To define the constraint, click the *Edit* icon to the left of the *Trash* icon. A dialog similar to the *Exclusion constraint* dialog (accessed by right clicking on *Constraints* in the *pgAdmin* tree control) opens.
|
||||
To add an exclusion constraint, select the *Exclude* tab on the panel, and click
|
||||
the *Add* icon (+). To define the constraint, click the *Edit* icon to the left
|
||||
of the *Trash* icon. A dialog similar to the *Exclusion constraint* dialog
|
||||
(accessed by right clicking on *Constraints* in the *pgAdmin* tree control)
|
||||
opens.
|
||||
|
||||
Use the fields in the *General* tab to identify the exclusion constraint:
|
||||
|
||||
* Use the *Name* field to provide a descriptive name for the exclusion constraint. The name will be displayed in the *pgAdmin* tree control.
|
||||
* Use the *Name* field to provide a descriptive name for the exclusion
|
||||
constraint. The name will be displayed in the *pgAdmin* tree control.
|
||||
* Provide notes about the exclusion constraint in the *Comment* field.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/exclusion_constraint_definition.png
|
||||
:alt: Table dialog exclusion constraint definition
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Definition* tab to define the exclusion constraint:
|
||||
|
||||
* Use the drop-down listbox next to *Tablespace* to select the tablespace in which the index associated with the exclude constraint will reside.
|
||||
* Use the drop-down listbox next to *Access method* to specify the type of index that will be used when implementing the exclusion constraint:
|
||||
* Use the drop-down listbox next to *Tablespace* to select the tablespace in
|
||||
which the index associated with the exclude constraint will reside.
|
||||
* Use the drop-down listbox next to *Access method* to specify the type of
|
||||
index that will be used when implementing the exclusion constraint:
|
||||
|
||||
* Select *gist* to specify a GiST index (the default).
|
||||
* Select *spgist* to specify a space-partitioned GiST index.
|
||||
* Select *btree* to specify a B-tree index.
|
||||
* Select *hash* to specify a hash index.
|
||||
|
||||
* Use the *Fill Factor* field to specify a fill factor for the table and associated index. The fill factor is a percentage between 10 and 100. 100 (complete packing) is the default.
|
||||
* Move the *Deferrable?* switch to the *Yes* position to specify that the timing of the constraint is deferrable, and can be postponed until the end of the statement. The default is *No*.
|
||||
* If enabled, move the *Deferred?* switch to the *Yes* position to specify the timing of the constraint is deferred to the end of the statement. The default is *No*.
|
||||
* Use the *Constraint* field to provide a condition that a row must satisfy to be included in the table.
|
||||
* Use the *Fill Factor* field to specify a fill factor for the table and
|
||||
associated index. The fill factor is a percentage between 10 and 100. 100
|
||||
(complete packing) is the default.
|
||||
* Move the *Deferrable?* switch to the *Yes* position to specify that the timing
|
||||
of the constraint is deferrable, and can be postponed until the end of the
|
||||
statement. The default is *No*.
|
||||
* If enabled, move the *Deferred?* switch to the *Yes* position to specify the
|
||||
timing of the constraint is deferred to the end of the statement. The default
|
||||
is *No*.
|
||||
* Use the *Constraint* field to provide a condition that a row must satisfy to
|
||||
be included in the table.
|
||||
|
||||
Click the *Columns* tab to continue.
|
||||
|
||||
.. image:: images/exclusion_constraint_columns.png
|
||||
:alt: Table dialog exclusion constraint columns
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Columns* tab to to specify the column(s) to which the constraint applies. Use the drop-down listbox next to *Column* to select a column and click the *Add* icon (+) to provide details of the action on the column:
|
||||
Use the fields in the *Columns* tab to to specify the column(s) to which the
|
||||
constraint applies. Use the drop-down listbox next to *Column* to select a
|
||||
column and click the *Add* icon (+) to provide details of the action on the
|
||||
column:
|
||||
|
||||
* The *Column* field is populated with the selection made in the *Column* drop-down listbox.
|
||||
* If applicable, use the drop-down listbox in the *Operator class* to specify the operator class that will be used by the index for the column.
|
||||
* Move the *DESC* switch to *DESC* to specify a descending sort order. The default is *ASC* which specifies an ascending sort order.
|
||||
* Move the *NULLs order* switch to *LAST* to define an ascending sort order for NULLs. The default is *FIRST* which specifies a descending order.
|
||||
* Use the drop-down list next to *Operator* to specify a comparison or conditional operator.
|
||||
* The *Column* field is populated with the selection made in the *Column*
|
||||
drop-down listbox.
|
||||
* If applicable, use the drop-down listbox in the *Operator class* to specify
|
||||
the operator class that will be used by the index for the column.
|
||||
* Move the *DESC* switch to *DESC* to specify a descending sort order. The
|
||||
default is *ASC* which specifies an ascending sort order.
|
||||
* Move the *NULLs order* switch to *LAST* to define an ascending sort order for
|
||||
NULLs. The default is *FIRST* which specifies a descending order.
|
||||
* Use the drop-down list next to *Operator* to specify a comparison or
|
||||
conditional operator.
|
||||
|
||||
Click the *Advanced* tab to continue.
|
||||
|
||||
.. image:: images/table_advanced.png
|
||||
:alt: Table dialog advanced tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Advanced* tab to define advanced features for the table:
|
||||
|
||||
* Use the drop-down listbox next to *Of type* to copy the table structure from the specified composite type. Please note that a typed table will be dropped if the type is dropped (with DROP TYPE ... CASCADE).
|
||||
* Use the *Fill Factor* field to specify a fill factor for the table. The fill factor for a table is a percentage between 10 and 100. 100 (complete packing) is the default.
|
||||
* Move the *Has OIDs?* switch to the *Yes* position to specify that each row within a table has a system-assigned object identifier. The default is *No*.
|
||||
* Move the *Unlogged?* switch to the *Yes* position to disable logging for the table. Data written to an unlogged table is not written to the write-ahead log. Any indexes created on an unlogged table are automatically unlogged as well. The default is *No*.
|
||||
* Use the drop-down listbox next to *Of type* to copy the table structure from
|
||||
the specified composite type. Please note that a typed table will be dropped
|
||||
if the type is dropped (with DROP TYPE ... CASCADE).
|
||||
* Use the *Fill Factor* field to specify a fill factor for the table. The fill
|
||||
factor for a table is a percentage between 10 and 100. 100 (complete packing)
|
||||
is the default.
|
||||
* Move the *Has OIDs?* switch to the *Yes* position to specify that each row
|
||||
within a table has a system-assigned object identifier. The default is *No*.
|
||||
* Move the *Unlogged?* switch to the *Yes* position to disable logging for the
|
||||
table. Data written to an unlogged table is not written to the write-ahead
|
||||
log. Any indexes created on an unlogged table are automatically unlogged as
|
||||
well. The default is *No*.
|
||||
|
||||
Use the fields in the **Like** box to specify which attributes of an existing table from which a table will automatically copy column names, data types, and not-null constraints; after saving the new or modified table, any changes to the original table will not be applied to the new table.
|
||||
Use the fields in the **Like** box to specify which attributes of an existing
|
||||
table from which a table will automatically copy column names, data types, and
|
||||
not-null constraints; after saving the new or modified table, any changes to
|
||||
the original table will not be applied to the new table.
|
||||
|
||||
* Use the drop-down listbox next to *Relation* to select a reference table.
|
||||
* Move the *With default values?* switch to the *Yes* position to copy default values.
|
||||
* Move the *With constraints?* switch to the *Yes* position to copy table and column constraints.
|
||||
* Move the *With default values?* switch to the *Yes* position to copy default
|
||||
values.
|
||||
* Move the *With constraints?* switch to the *Yes* position to copy table and
|
||||
column constraints.
|
||||
* Move the *With indexes?* switch to the *Yes* position to copy indexes.
|
||||
* Move the *With storage?* switch to the *Yes* position to copy storage settings.
|
||||
* Move the *With comments?* switch to the *Yes* position to copy comments.
|
||||
|
@ -262,73 +411,108 @@ Click the *Partition* tab to continue.
|
|||
|
||||
.. image:: images/table_partition.png
|
||||
:alt: Table dialog partition tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *partition* tab to create the partitions for the table:
|
||||
|
||||
* Select a partition type from the *Partition Type* selection box. There are 3 options available; Range, List and Hash. Hash option will only enable for PostgreSQL version >= 11.
|
||||
* Select a partition type from the *Partition Type* selection box. There are 3
|
||||
options available; Range, List and Hash. Hash option will only enable for
|
||||
PostgreSQL version >= 11.
|
||||
|
||||
Use the *Partition Keys* panel to define the partition keys. Click the *Add* icon (+) to add each partition keys selection:
|
||||
Use the *Partition Keys* panel to define the partition keys. Click the *Add*
|
||||
icon (+) to add each partition keys selection:
|
||||
|
||||
* Select a partition key type in the *Keytype* field.
|
||||
* Select a partition column in the *Column* field if Column option selected for *Keytype* field .
|
||||
* Specify the expression in the *Expression* field if Expression option selected for the *Keytype* field.
|
||||
* Select a partition column in the *Column* field if Column option selected for
|
||||
*Keytype* field .
|
||||
* Specify the expression in the *Expression* field if Expression option selected
|
||||
for the *Keytype* field.
|
||||
|
||||
Use the *Partitions* panel to define the partitions of a table. Click the *Add* icon (+) to add each partition:
|
||||
Use the *Partitions* panel to define the partitions of a table. Click the *Add*
|
||||
icon (+) to add each partition:
|
||||
|
||||
* Move the *Operation* switch to *attach* to attach the partition, by default it is *create*.
|
||||
* Move the *Operation* switch to *attach* to attach the partition, by default it
|
||||
is *create*.
|
||||
* Use the *Name* field to add the name of the partition.
|
||||
* If partition type is Range then *From* and *To* fields will be enabled.
|
||||
* If partition type is List then *In* field will be enabled.
|
||||
* If partition type is Hash then *Modulus* and *Remainder* fields will be enabled.
|
||||
* If partition type is Hash then *Modulus* and *Remainder* fields will be
|
||||
enabled.
|
||||
|
||||
Click the *Parameter* tab to continue.
|
||||
|
||||
.. image:: images/table_parameter.png
|
||||
:alt: Table dialog parameter tab
|
||||
:align: center
|
||||
|
||||
Use the tabs nested inside the *Parameter* tab to specify VACUUM and ANALYZE thresholds; use the *Table* tab and the *Toast Table* tab to customize values for the table and the associated toast table:
|
||||
Use the tabs nested inside the *Parameter* tab to specify VACUUM and ANALYZE
|
||||
thresholds; use the *Table* tab and the *Toast Table* tab to customize values
|
||||
for the table and the associated toast table:
|
||||
|
||||
* Move the *Custom auto-vacuum?* switch to the *Yes* position to perform custom maintenance on the table.
|
||||
* Move the *Enabled?* switch to the *Yes* position to select values in the *Vacuum table*. The *Vacuum Table* provides default values for maintenance operations.
|
||||
* Move the *Custom auto-vacuum?* switch to the *Yes* position to perform custom
|
||||
maintenance on the table.
|
||||
* Move the *Enabled?* switch to the *Yes* position to select values in the
|
||||
*Vacuum table*. The *Vacuum Table* provides default values for maintenance
|
||||
operations.
|
||||
|
||||
Provide a custom value in the *Value* column for each metric listed in the *Label* column.
|
||||
Provide a custom value in the *Value* column for each metric listed in the
|
||||
*Label* column.
|
||||
|
||||
Click the *Security* tab to continue.
|
||||
|
||||
.. image:: images/table_security.png
|
||||
:alt: Table dialog security tab
|
||||
:align: center
|
||||
|
||||
Use the *Security* tab to assign privileges and define security labels.
|
||||
|
||||
Use the *Privileges* panel to assign privileges to a role. Click the *Add* icon (+) to set privileges for database objects:
|
||||
Use the *Privileges* panel to assign privileges to a role. Click the *Add* icon
|
||||
(+) to set privileges for database objects:
|
||||
|
||||
* 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.
|
||||
* 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.
|
||||
|
||||
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 the *Delete Row* popup.
|
||||
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
|
||||
the *Delete Row* popup.
|
||||
|
||||
Use the *Security Labels* panel to define security labels applied to the function. Click the *Add* icon (+) to add each security label selection:
|
||||
Use the *Security Labels* panel to define security labels applied to the
|
||||
function. Click the *Add* icon (+) to add each security label selection:
|
||||
|
||||
* Specify a security label provider in the *Provider* field. The named provider must be loaded and must consent to the proposed labeling operation.
|
||||
* Specify a a security label in the *Security Label* field. The meaning of a given label is at the discretion of the label provider. PostgreSQL places no restrictions on whether or how a label provider must interpret security labels; it merely provides a mechanism for storing them.
|
||||
* Specify a security label provider in the *Provider* field. The named provider
|
||||
must be loaded and must consent to the proposed labeling operation.
|
||||
* Specify a a security label in the *Security Label* field. The meaning of a
|
||||
given label is at the discretion of the label provider. PostgreSQL places no
|
||||
restrictions on whether or how a label provider must interpret security
|
||||
labels; it merely provides a mechanism for storing them.
|
||||
|
||||
Click the *Add* icon (+) to assign additional security labels; to discard a security label, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
|
||||
Click the *Add* icon (+) to assign additional security labels; to discard a
|
||||
security label, click the trash icon to the left of the row and confirm deletion
|
||||
in the *Delete Row* popup.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *Table* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
|
||||
Your entries in the *Table* dialog generate a SQL command (see an example
|
||||
below). Use the *SQL* tab for review; revisit or switch tabs to make any
|
||||
changes to the SQL command.
|
||||
|
||||
**Example**
|
||||
Example
|
||||
*******
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Table* dialog:
|
||||
The following is an example of the sql command generated by user selections in
|
||||
the *Table* dialog:
|
||||
|
||||
.. image:: images/table_sql.png
|
||||
:alt: Table dialog sql tab
|
||||
:align: center
|
||||
|
||||
The example shown demonstrates creating a table named *product_category*. It has three columns and a primary key constraint on the *category_id* column.
|
||||
The example shown demonstrates creating a table named *product_category*. It has
|
||||
three columns and a primary key constraint on the *category_id* column.
|
||||
|
||||
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
|
||||
* 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.
|
|
@ -4,72 +4,106 @@
|
|||
`Tablespace Dialog`:index:
|
||||
**************************
|
||||
|
||||
Use The *Tablespace* dialog to define a tablespace. A tablespace allows superusers to define an alternative location on the file system where the data files containing database objects (such as tables and indexes) reside. Tablespaces are only supported on systems that support symbolic links. Note that a tablespace cannot be used independently of the cluster in which it is defined.
|
||||
Use The *Tablespace* dialog to define a tablespace. A tablespace allows
|
||||
superusers to define an alternative location on the file system where the data
|
||||
files containing database objects (such as tables and indexes) reside.
|
||||
Tablespaces are only supported on systems that support symbolic links. Note that
|
||||
a tablespace cannot be used independently of the cluster in which it is defined.
|
||||
|
||||
The *Tablespace* dialog organizes the definition of a tablespace through the following tabs: *General*, *Definition*, *Parameters*, and *Security*. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
The *Tablespace* dialog organizes the definition of a tablespace through the
|
||||
following tabs: *General*, *Definition*, *Parameters*, and *Security*. The *SQL*
|
||||
tab displays the SQL code generated by dialog selections.
|
||||
|
||||
.. image:: images/tablespace_general.png
|
||||
:alt: Tablespace dialog general tab
|
||||
:align: center
|
||||
|
||||
* Use the *Name* field to identify the tablespace with a descriptive name. The name cannot begin with pg\_; these names are reserved for system tablespaces.
|
||||
* Select the owner of the tablespace from the drop-down listbox in the *Owner* field.
|
||||
* Use the *Name* field to identify the tablespace with a descriptive name. The
|
||||
name cannot begin with pg\_; these names are reserved for system tablespaces.
|
||||
* Select the owner of the tablespace from the drop-down listbox in the *Owner*
|
||||
field.
|
||||
* Store notes about the tablespace in the *Comment* field.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/tablespace_definition.png
|
||||
:alt: Tablespace dialog definition tab
|
||||
:align: center
|
||||
|
||||
* Use the *Location* field to specify an absolute path to a directory that will contain the tablespace.
|
||||
* Use the *Location* field to specify an absolute path to a directory that will
|
||||
contain the tablespace.
|
||||
|
||||
Click the *Parameters* tab to continue.
|
||||
|
||||
.. image:: images/tablespace_parameters.png
|
||||
:alt: Tablespace dialog parameters tab
|
||||
:align: center
|
||||
|
||||
Use the *Parameters* tab to set parameters for the tablespace. Click the *Add* icon (+) to add a row to the table below.
|
||||
Use the *Parameters* tab to set parameters for the tablespace. Click the *Add*
|
||||
icon (+) to add a row to the table below.
|
||||
|
||||
* Use the drop-down listbox next to *Name* to select a parameter.
|
||||
* Use the *Value* field to set a value for the parameter.
|
||||
|
||||
Click the *Add* icon (+) to specify each additional parameter; to discard a parameter, click the trash icon to the left of the row and confirm deletion in the *Delete Row* dialog.
|
||||
Click the *Add* icon (+) to specify each additional parameter; to discard a
|
||||
parameter, click the trash icon to the left of the row and confirm deletion in
|
||||
the *Delete Row* dialog.
|
||||
|
||||
Click the *Security* tab to continue.
|
||||
|
||||
.. image:: images/tablespace_security.png
|
||||
:alt: Tablespace dialog security tab
|
||||
:align: center
|
||||
|
||||
Use the *Security* tab to assign privileges and define security labels for the tablespace.
|
||||
Use the *Security* tab to assign privileges and define security labels for the
|
||||
tablespace.
|
||||
|
||||
Use the *Privileges* panel to assign security privileges. Click the *Add* icon (+) to assign a set of privileges:
|
||||
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.
|
||||
* 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 owner of the tablespace.
|
||||
* 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.
|
||||
|
||||
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 the *Delete Row* popup.
|
||||
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
|
||||
the *Delete Row* popup.
|
||||
|
||||
Use the *Security Labels* panel to define security labels applied to the tablespace. Click the *Add* icon (+) to add each security label selection:
|
||||
Use the *Security Labels* panel to define security labels applied to the
|
||||
tablespace. Click the *Add* icon (+) to add each security label selection:
|
||||
|
||||
* Specify a security label provider in the *Provider* field. The named provider must be loaded and must consent to the proposed labeling operation.
|
||||
* Specify a a security label in the *Security Label* field. The meaning of a given label is at the discretion of the label provider. PostgreSQL places no restrictions on whether or how a label provider must interpret security labels; it merely provides a mechanism for storing them.
|
||||
* Specify a security label provider in the *Provider* field. The named provider
|
||||
must be loaded and must consent to the proposed labeling operation.
|
||||
* Specify a a security label in the *Security Label* field. The meaning of a
|
||||
given label is at the discretion of the label provider. PostgreSQL places no
|
||||
restrictions on whether or how a label provider must interpret security
|
||||
labels; it merely provides a mechanism for storing them.
|
||||
|
||||
To discard a security label, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
|
||||
To discard a security label, click the trash icon to the left of the row and
|
||||
confirm deletion in the *Delete Row* popup.
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *Tablespace* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
|
||||
Your entries in the *Tablespace* dialog generate a SQL command (see an example
|
||||
below). Use the *SQL* tab for review; revisit or switch tabs to make any changes
|
||||
to the SQL command.
|
||||
|
||||
**Example**
|
||||
Example
|
||||
*******
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Tablespace* dialog:
|
||||
The following is an example of the sql command generated by user selections in
|
||||
the *Tablespace* dialog:
|
||||
|
||||
.. image:: images/tablespace_sql.png
|
||||
:alt: Tablespace dialog sql tab
|
||||
:align: center
|
||||
|
||||
The example shown demonstrates creating a tablespace named *space_01*. It has a *random_page_cost* value equal to *1*.
|
||||
The example shown demonstrates creating a tablespace named *space_01*. It has a
|
||||
*random_page_cost* value equal to *1*.
|
||||
|
||||
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
|
||||
* 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.
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue