Helpfile refactoring.
@ -1,5 +1,6 @@
|
||||
*******
|
||||
Browser
|
||||
=======
|
||||
*******
|
||||
|
||||
The Browser is the main window used in pgAdmin. It allows you to connect to
|
||||
database servers and browse the objects on them.
|
@ -13,11 +13,12 @@ if sys.path[0] != root:
|
||||
|
||||
from pgadmin.utils import PgAdminModule
|
||||
|
||||
target = open('code-snippet.rst', 'w')
|
||||
target = open('code_snippets.rst', 'w')
|
||||
target.truncate()
|
||||
|
||||
target.write("Code Snippet\n")
|
||||
target.write("------------\n\n")
|
||||
target.write("*************\n")
|
||||
target.write("Code Snippets\n")
|
||||
target.write("*************\n\n")
|
||||
target.write("""
|
||||
This document contains code for some of the important classes, listed as
|
||||
below:\n\n""")
|
||||
|
@ -1,18 +1,16 @@
|
||||
.. _create_cast:
|
||||
***********
|
||||
Cast Dialog
|
||||
***********
|
||||
|
||||
*************
|
||||
Create - Cast
|
||||
*************
|
||||
Use the *Cast* dialog to define a cast. A cast specifies how to convert a value from one data type to another.
|
||||
|
||||
Use the *Create - Cast* dialog to define a cast. A cast specifies how to convert a value from one data type to another.
|
||||
|
||||
The *Create - Cast* dialog allows you to implement options of the *CREATE CAST* command. For more information about the *CREATE CAST* command, see the PostgreSQL core documentation available at:
|
||||
The *Cast* dialog allows you to implement options of the *CREATE CAST* command. For more information about the *CREATE CAST* command, see the PostgreSQL core documentation available at:
|
||||
|
||||
http://www.postgresql.org/docs/current/static/sql-createcast.html
|
||||
|
||||
The *Create - 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/create_cast_general.png
|
||||
.. image:: images/cast_general.png
|
||||
|
||||
Use the fields in the *General* tab to identify the cast:
|
||||
|
||||
@ -21,7 +19,7 @@ Use the fields in the *General* tab to identify the cast:
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/create_cast_definition.png
|
||||
.. image:: images/cast_definition.png
|
||||
|
||||
Use the fields in the *Definition* tab to define parameters:
|
||||
|
||||
@ -32,9 +30,9 @@ Use the fields in the *Definition* tab to define parameters:
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
.. image:: images/create_cast_sql.png
|
||||
.. image:: images/cast_sql.png
|
||||
|
||||
Your entries in the *Create - Cast* dialog generate a SQL command; you can review the command on the *SQL* pane.
|
||||
Your entries in the *Cast* dialog generate a SQL command; you can review the command on the *SQL* pane.
|
||||
|
||||
* Click the *Info* button (i) to access online help.
|
||||
* Click the *Save* button to save work.
|
||||
@ -44,7 +42,7 @@ Your entries in the *Create - Cast* dialog generate a SQL command; you can revie
|
||||
Example
|
||||
=======
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Create - Cast* dialog:
|
||||
The following is an example of the sql command generated by user selections in the *Cast dialog*:
|
||||
|
||||
.. image:: images/create_cast_sql_example.png
|
||||
.. image:: images/cast_sql_example.png
|
||||
|
@ -1,5 +1,6 @@
|
||||
*************
|
||||
Code Overview
|
||||
=============
|
||||
*************
|
||||
|
||||
The bulk of pgAdmin is a Python web application written using the Flask framework
|
||||
on the backend, and HTML5 with CSS3, Bootstrap and jQuery on the front end. A
|
||||
@ -7,14 +8,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
|
||||
@ -22,7 +23,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
|
||||
@ -31,7 +32,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
|
||||
@ -54,7 +55,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
|
||||
@ -65,7 +66,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
|
||||
@ -187,7 +188,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
|
||||
@ -199,7 +200,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),
|
@ -1,5 +1,6 @@
|
||||
*****************
|
||||
Code Review Notes
|
||||
=================
|
||||
*****************
|
||||
|
||||
This document lists a number of standard items that will be checked during the
|
||||
review process for any patches submitted for inclusion in pgAdmin.
|
@ -1,5 +1,6 @@
|
||||
Code Snippet
|
||||
------------
|
||||
*************
|
||||
Code Snippets
|
||||
*************
|
||||
|
||||
|
||||
This document contains code for some of the important classes, listed as
|
@ -1,11 +1,12 @@
|
||||
****************
|
||||
Coding Standards
|
||||
================
|
||||
****************
|
||||
|
||||
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
|
||||
@ -17,7 +18,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
|
||||
@ -51,7 +52,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.
|
||||
@ -59,7 +60,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
|
||||
@ -152,7 +153,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
|
@ -1,19 +1,17 @@
|
||||
.. _create_collation:
|
||||
|
||||
******************
|
||||
Create - Collation
|
||||
******************
|
||||
****************
|
||||
Collation Dialog
|
||||
****************
|
||||
|
||||
|
||||
Use the *Create - Collation* dialog to define a collation. To be able to create a collation, you must have a CREATE privilege on the destination schema.
|
||||
Use the *Collation* dialog to define a collation. To be able to create a collation, you must have a CREATE privilege on the destination schema.
|
||||
|
||||
The *Create - Collation* dialog allows you to implement options of the CREATE COLLATION command. For more information about the CREATE COLLATION command, see the documentation available at:
|
||||
The *Collation* dialog allows you to implement options of the CREATE COLLATION command. For more information about the CREATE COLLATION command, see the documentation available at:
|
||||
|
||||
http://www.postgresql.org/docs/current/static/sql-createcollation.html
|
||||
|
||||
The *Create - 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/create_collation_general.png
|
||||
.. image:: images/collation_general.png
|
||||
|
||||
Use the fields in the *General* tab to identify the collation:
|
||||
|
||||
@ -24,7 +22,7 @@ Use the fields in the *General* tab to identify the collation:
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/create_collation_definition.png
|
||||
.. image:: images/collation_definition.png
|
||||
|
||||
Use the fields in the *Definition* tab to specify operating system locale settings:
|
||||
|
||||
@ -40,9 +38,9 @@ For more information about setting a locale, see Chapter 22.1 Locale Support of
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
.. image:: images/create_collation_sql.png
|
||||
.. image:: images/collation_sql.png
|
||||
|
||||
Your entries in the *Create - Collation* dialog generate a generate a SQL command. The example shown demonstrates creating a collation named *french* that uses the rules specified for the locale, *fr_FR.utf8. The collation is owned by *enterprisedb*.
|
||||
Your entries in the *Collation* dialog generate a generate a SQL command. The example shown demonstrates creating a collation named *french* that uses the rules specified for the locale, *fr_FR.utf8. The collation is owned by *enterprisedb*.
|
||||
|
||||
* Click the *Info* button (i) to access online help.
|
||||
* Click the *Save* button to save work.
|
||||
@ -52,8 +50,8 @@ Your entries in the *Create - Collation* dialog generate a generate a SQL comman
|
||||
Example
|
||||
=======
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Create - Database* dialog:
|
||||
The following is an example of the sql command generated by user selections in the *Database dialog*:
|
||||
|
||||
.. image:: images/create_collation_sql_example.png
|
||||
.. image:: images/collation_sql_example.png
|
||||
|
||||
|
@ -1,39 +0,0 @@
|
||||
.. _create_resource:
|
||||
|
||||
***********************
|
||||
Create - Resource Group
|
||||
***********************
|
||||
|
||||
Use the *Create - Resource Group* dialog to create a resource group and set values for the groups 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 *Create - 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/
|
||||
|
||||
The *Create - Resource Group* dialog organizes the development of a resource group through the *General* dialog tab. The *SQL* tab displays the SQL code generated by dialog selections.
|
||||
|
||||
.. image:: images/create_resource_group_general.png
|
||||
|
||||
Use the fields in the *General* tab to specify resource group parameters:
|
||||
|
||||
* Use the *Group Name* field to add a descriptive name for the resource group. This name will be displayed in the *pgAdmin* 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.
|
||||
|
||||
.. image:: images/create_resource_group_sql.png
|
||||
|
||||
Your entries in the *Create - Resource Group* dialog generate a SQL command; you can review the command on the *SQL* pane.
|
||||
|
||||
* 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.
|
||||
|
||||
Example
|
||||
=======
|
||||
|
||||
The following is an example of the sql command generated by selections made in the *Create - Resource Group* dialog:
|
||||
|
||||
.. image:: images/create_resource_group_sql_example.png
|
||||
|
||||
The example creates a resource group named *acctg* that sets *cpu_rate_limit* to *2*, and *dirty_rate_limit* to *6144*.
|
@ -1,19 +0,0 @@
|
||||
.. _create_server_group:
|
||||
|
||||
*******************
|
||||
Create Server Group
|
||||
*******************
|
||||
|
||||
Use the *Create - 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 client tree control.
|
||||
|
||||
.. image:: images/create_server_group.png
|
||||
|
||||
Use the *Name* field on the *Create - Server Group* dialog to specify a name that will identify the server group in the pgAdmin tree control.
|
||||
|
||||
* 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.
|
||||
|
||||
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.
|
||||
|
@ -1,18 +1,16 @@
|
||||
.. _create_database:
|
||||
***************
|
||||
Database Dialog
|
||||
***************
|
||||
|
||||
*****************
|
||||
Create - Database
|
||||
*****************
|
||||
Use the *Database* dialog to create a database. To create a database, you must be a database superuser or have the CREATE privilege.
|
||||
|
||||
Use the *Create - Database* dialog to create a database. To create a database, you must be a database superuser or have the CREATE privilege.
|
||||
|
||||
The *Create - Database* dialog allows you to implement options of the CREATE DATABASE command. For more information about the CREATE DATABASE command, please see:
|
||||
The *Database* dialog allows you to implement options of the CREATE DATABASE command. For more information about the CREATE DATABASE command, please see:
|
||||
|
||||
http://www.postgresql.org/docs/9.5/static/sql-createdatabase.html
|
||||
|
||||
The *Create - 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/create_database_general.png
|
||||
.. image:: images/database_general.png
|
||||
|
||||
Use the fields in the *General* tab to identify the database:
|
||||
|
||||
@ -22,7 +20,7 @@ Use the fields in the *General* tab to identify the database:
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/create_database_definition.png
|
||||
.. image:: images/database_definition.png
|
||||
|
||||
Use the *Definition* tab to set properties for the database:
|
||||
|
||||
@ -35,7 +33,7 @@ Use the *Definition* tab to set properties for the database:
|
||||
|
||||
Click the *Security* tab to continue.
|
||||
|
||||
.. image:: images/create_database_security.png
|
||||
.. image:: images/database_security.png
|
||||
|
||||
Use the *Security* tab to assign privileges and define security labels.
|
||||
|
||||
@ -56,7 +54,7 @@ To discard a security label, click the trash icon to the left of the row and con
|
||||
|
||||
Click the *Parameters* tab to continue.
|
||||
|
||||
.. image:: images/create_database_parameters.png
|
||||
.. image:: images/database_parameters.png
|
||||
|
||||
Use the *Parameters* tab to set parameters for the database:
|
||||
|
||||
@ -69,9 +67,9 @@ Follow these steps to add additional parameter value definitions; to discard a p
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
.. image:: images/create_database_sql.png
|
||||
.. image:: images/database_sql.png
|
||||
|
||||
Your entries in the *Create - Database* dialog generate a SQL command; you can review the command on the *SQL* pane.
|
||||
Your entries in the *Database* dialog generate a SQL command; you can review the command on the *SQL* pane.
|
||||
|
||||
* Click the *Info* button (i) to access online help.
|
||||
* Click the *Save* button to save work.
|
||||
@ -81,8 +79,8 @@ Your entries in the *Create - Database* dialog generate a SQL command; you can r
|
||||
Example
|
||||
=======
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Create - Database* dialog:
|
||||
The following is an example of the sql command generated by user selections in the *Database* dialog:
|
||||
|
||||
.. image:: images/create_database_sql_example.png
|
||||
.. image:: images/database_sql_example.png
|
||||
|
||||
The example creates a database named *hr* that is owned by *enterprisedb*. It allows unlimited connections, and is available to authenticated users in the *public* schema.
|
@ -1,4 +1,5 @@
|
||||
********
|
||||
Debugger
|
||||
========
|
||||
********
|
||||
|
||||
The Debugger allows you to debug PL/PGSQL functions interactively.
|
@ -1,5 +1,6 @@
|
||||
******************
|
||||
Desktop Deployment
|
||||
==================
|
||||
******************
|
||||
|
||||
pgAdmin may be deployed as a desktop application by configuring the application
|
||||
to run in desktop mode and then utilising the desktop runtime to host and
|
@ -1,16 +1,14 @@
|
||||
.. _create_domain_constraint:
|
||||
************************
|
||||
Domain Constraint Dialog
|
||||
************************
|
||||
|
||||
**************************
|
||||
Create - Domain Constraint
|
||||
**************************
|
||||
|
||||
Use the *Create - Domain Constraint* dialog to create a domain constraint. The *Create - Domain Constraint* dialog implements options of the ALTER DOMAIN command. For more information about the ALTER DOMAIN command, see PostgreSQL core documentation available at:
|
||||
Use the *Domain Constraint* dialog to create a domain constraint. The *Domain Constraint* dialog implements options of the ALTER DOMAIN command. For more information about the ALTER DOMAIN command, see PostgreSQL core documentation available at:
|
||||
|
||||
http://www.postgresql.org/docs/9.5/static/sql-alterdomain.html
|
||||
|
||||
The *Create - Domain Constraint* 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 Constraint* 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/create_domain_constraint_general.png
|
||||
.. image:: images/domain_constraint_general.png
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to identify the domain constraint:
|
||||
@ -19,7 +17,7 @@ Use the fields in the *General* tab to identify the domain constraint:
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/create_domain_constraint_definition.png
|
||||
.. image:: images/domain_constraint_definition.png
|
||||
:align: center
|
||||
|
||||
Use the fields in the *Definition* tab to define the domain constraint:
|
||||
@ -29,10 +27,10 @@ Use the fields in the *Definition* tab to define the domain constraint:
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
.. image:: images/create_domain_constraint_sql.png
|
||||
.. image:: images/domain_constraint_sql.png
|
||||
:align: center
|
||||
|
||||
Your entries in the *Create - Domain Constraint* dialog generate a SQL command; you can review the command on the *SQL* pane.
|
||||
Your entries in the *Domain Constraint* dialog generate a SQL command; you can review the command on the *SQL* pane.
|
||||
|
||||
* Click the *Info* button (i) to access online help.
|
||||
* Click the *Save* button to save work.
|
||||
@ -42,9 +40,9 @@ Your entries in the *Create - Domain Constraint* dialog generate a SQL command;
|
||||
Example
|
||||
=======
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Create - Domain Constraint* dialog:
|
||||
The following is an example of the sql command generated by user selections in the *Domain Constraint dialog*:
|
||||
|
||||
.. image:: images/create_domain_constraint_sql_example.png
|
||||
.. image:: images/domain_constraint_sql_example.png
|
||||
|
||||
The example shown demonstrates creating a domain constraint on the domain *timesheets* named *weekday*. It constrains a value to equal *Monday*, *Tuesday*, *Wednesday*, *Thursday*, or *Friday*.
|
||||
|
@ -1,18 +1,16 @@
|
||||
.. _create_event trigger:
|
||||
|
||||
*************************
|
||||
Create - Event Trigger
|
||||
*************************
|
||||
********************
|
||||
Event Trigger Dialog
|
||||
********************
|
||||
|
||||
Use the *Create - Event 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 plain SQL.
|
||||
Use the *Event 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 plain SQL.
|
||||
|
||||
The *Create - Event Trigger* dialog allows you to implement options of the *CREATE EVENT TRIGGER* command. For more information about the *CREATE EVENT TRIGGER* command, see the PostgreSQL core documentation available at:
|
||||
The *Event Trigger* dialog allows you to implement options of the *CREATE EVENT TRIGGER* command. For more information about the *CREATE EVENT TRIGGER* command, see the PostgreSQL core documentation available at:
|
||||
|
||||
http://www.postgresql.org/docs/9.5/static/sql-createeventtrigger.html
|
||||
|
||||
The *Create - Event 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 *Event 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/create_event_trigger_general.png
|
||||
.. image:: images/event_trigger_general.png
|
||||
|
||||
Use the fields in the *General* tab to identify the event trigger:
|
||||
|
||||
@ -22,7 +20,7 @@ Use the fields in the *General* tab to identify the event trigger:
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/create_event_trigger_definition.png
|
||||
.. image:: images/event_trigger_definition.png
|
||||
|
||||
Use the fields in the *Definition* tab to define the event trigger:
|
||||
|
||||
@ -33,7 +31,7 @@ Use the fields in the *Definition* tab to define the event trigger:
|
||||
|
||||
Click the *Security Labels* tab to continue.
|
||||
|
||||
.. image:: images/create_event_trigger_security.png
|
||||
.. image:: images/event_trigger_security.png
|
||||
|
||||
Use the *Security* tab to define security labels applied to the trigger. Click *Add* to add each security label.
|
||||
|
||||
@ -48,9 +46,9 @@ For more information about using security Labels, please see the PostgreSQL Core
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
.. image:: images/create_event_trigger_sql.png
|
||||
.. image:: images/event_trigger_sql.png
|
||||
|
||||
Your entries in the *Create - Event Trigger* dialog generate a generate a SQL command; you can review the command on the *SQL* pane.
|
||||
Your entries in the *Event Trigger* dialog generate a generate a SQL command; you can review the command on the *SQL* pane.
|
||||
|
||||
* Click the *Info* button (i) to access online help.
|
||||
* Click the *Save* button to save work.
|
||||
@ -60,7 +58,7 @@ Your entries in the *Create - Event Trigger* dialog generate a generate a SQL co
|
||||
Example
|
||||
=======
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Create - Event Trigger* dialog:
|
||||
The following is an example of the sql command generated by user selections in the *Event Trigger dialog*:
|
||||
|
||||
.. image:: images/create_event_trigger_sql_example.png "FIXME"
|
||||
.. image:: images/event_trigger_sql_example.png "FIXME"
|
||||
|
@ -1,12 +1,10 @@
|
||||
.. _create_extension:
|
||||
****************
|
||||
Extension Dialog
|
||||
****************
|
||||
|
||||
*******************
|
||||
Create - Extension
|
||||
*******************
|
||||
Use the *Extension* dialog to install a new extension into the current database. Each extension must have a unique name. Before you can use CREATE EXTENSION to load an extension into a database, the extension's supporting files must be installed.
|
||||
|
||||
Use the *Create - Extension* dialog to install a new extension into the current database. Each extension must have a unique name. Before you can use CREATE EXTENSION to load an extension into a database, the extension's supporting files must be installed.
|
||||
|
||||
The *Create - 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.
|
||||
|
||||
For more information about creating extensions, please see the PostgreSQL core documentation available at:
|
||||
|
||||
@ -14,7 +12,7 @@ For more information about creating extensions, please see the PostgreSQL core d
|
||||
|
||||
http://www.postgresql.org/docs/current/static/extend-extensions.html
|
||||
|
||||
.. image:: images/create_extension_general.png
|
||||
.. image:: images/extension_general.png
|
||||
|
||||
Use the fields in the *General* tab to identify an extension:
|
||||
|
||||
@ -22,7 +20,7 @@ Use the fields in the *General* tab to identify an extension:
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/create_extension_definition.png
|
||||
.. image:: images/extension_definition.png
|
||||
|
||||
Use the *Definition* tab to select the *Schema* and *Version*:
|
||||
|
||||
@ -31,9 +29,9 @@ Use the *Definition* tab to select the *Schema* and *Version*:
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
.. image:: images/create_extension_sql.png
|
||||
.. image:: images/extension_sql.png
|
||||
|
||||
Your entries in the *Create - Extension* dialog generate a SQL command; you can review the command on the *SQL* pane.
|
||||
Your entries in the *Extension* dialog generate a SQL command; you can review the command on the *SQL* pane.
|
||||
|
||||
* Click the *Info* button (i) to access online help.
|
||||
* Click the *Save* button to save work.
|
||||
@ -43,8 +41,8 @@ Your entries in the *Create - Extension* dialog generate a SQL command; you can
|
||||
Example
|
||||
=======
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Create - Extension* dialog:
|
||||
The following is an example of the sql command generated by user selections in the *Extension* dialog:
|
||||
|
||||
.. image:: images/create_extension_sql_example.png
|
||||
.. image:: images/extension_sql_example.png
|
||||
|
||||
The command creates the *adminpack* extension in the *pg_catalog* schema. It is version *1.0* of *adminpack*.
|
@ -1,20 +1,18 @@
|
||||
.. _create_fdw:
|
||||
***************************
|
||||
Foreign Data Wrapper Dialog
|
||||
***************************
|
||||
|
||||
*****************************
|
||||
Create - Foreign Data Wrapper
|
||||
*****************************
|
||||
|
||||
Use the *Create - Foreign Data Wrapper* dialog to create a foreign data wrapper. The foreign data wrapper consists of a set of functions; all operations on a foreign table are handled through the foreign data wrapper. The foreign data wrapper is responsible for fetching data from the remote data source and returning it to the PostgreSQL executor.
|
||||
Use the *Foreign Data Wrapper* dialog to create a foreign data wrapper. The foreign data wrapper consists of a set of functions; all operations on a foreign table are handled through the foreign data wrapper. The foreign data wrapper is responsible for fetching data from the remote data source and returning it to the PostgreSQL executor.
|
||||
|
||||
A foreign-data wrapper name must be unique within the database. You must be a superuser to create a foreign-data wrapper.
|
||||
|
||||
The *Create - Foreign Data Wrapper* dialog allows you to implement options of the CREATE FOREIGN DATA WRAPPER command. For more information about the CREATE FOREIGN DATA WRAPPER command, see PostgreSQL core documentation available at:
|
||||
The *Foreign Data Wrapper* dialog allows you to implement options of the CREATE FOREIGN DATA WRAPPER command. For more information about the CREATE FOREIGN DATA WRAPPER command, see PostgreSQL core documentation available at:
|
||||
|
||||
http://www.postgresql.org/docs/9.5/static/sql-createforeigndatawrapper.html
|
||||
|
||||
The *Create - 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/create_fdw_general.png
|
||||
.. image:: images/foreign_data_wrapper_general.png
|
||||
|
||||
Use the fields in the *General* tab to identify the foreign data wrapper:
|
||||
|
||||
@ -24,7 +22,7 @@ Use the fields in the *General* tab to identify the foreign data wrapper:
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/create_fdw_definition.png
|
||||
.. image:: images/foreign_data_wrapper_definition.png
|
||||
|
||||
Use the fields in the *Definition* tab to set parameters:
|
||||
|
||||
@ -33,7 +31,7 @@ Use the fields in the *Definition* tab to set parameters:
|
||||
|
||||
Click the *Options* tab to continue.
|
||||
|
||||
.. image:: images/create_fdw_options.png
|
||||
.. image:: images/foreign_data_wrapper_options.png
|
||||
|
||||
Use the fields in the *Options* tab to specify options:
|
||||
|
||||
@ -44,7 +42,7 @@ Click *Add* to specify each additional pair; to discard an option, click the tra
|
||||
|
||||
Click the *Security* tab to continue.
|
||||
|
||||
.. image:: images/create_fdw_security.png
|
||||
.. image:: images/foreign_data_wrapper_security.png
|
||||
|
||||
Use the *Security* tab to assign security privileges. Click *Add* to assign a set of privileges.
|
||||
|
||||
@ -56,9 +54,9 @@ To discard a privilege, click the trash icon to the left of the row and confirm
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
.. image:: images/create_fdw_sql.png
|
||||
.. image:: images/foreign_data_wrapper_sql.png
|
||||
|
||||
Your entries in the *Create - Foreign Data Wrapper* dialog generate a SQL command; you can review the command on the *SQL* pane.
|
||||
Your entries in the *Foreign Data Wrapper* dialog generate a SQL command; you can review the command on the *SQL* pane.
|
||||
|
||||
* Click the *Help* button (?) to access online help.
|
||||
* Click the *Save* button to save work.
|
||||
@ -68,8 +66,8 @@ Your entries in the *Create - Foreign Data Wrapper* dialog generate a SQL comman
|
||||
Example
|
||||
=======
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Create - 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/create_fdw_sql_example.png
|
||||
.. image:: images/foreign_data_wrapper_sql_example.png
|
||||
|
||||
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 *enterprisedb*.
|
@ -1,18 +1,16 @@
|
||||
.. _fts_parser:
|
||||
*****************
|
||||
FTS Parser Dialog
|
||||
*****************
|
||||
|
||||
*******************
|
||||
Create - FTS Parser
|
||||
*******************
|
||||
|
||||
Use the *Create - 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 *Create - FTS Parser* dialog allows you to implement options of the CREATE TEXT SEARCH PARSER command. For more information about the CREATE TEXT SEARCH PARSER command, see PostgreSQL core documentation available at:
|
||||
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 allows you to implement options of the CREATE TEXT SEARCH PARSER command. For more information about the CREATE TEXT SEARCH PARSER command, see PostgreSQL core documentation available at:
|
||||
|
||||
http://www.postgresql.org/docs/9.5/static/sql-createtsparser.html
|
||||
|
||||
The *Create - 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.
|
||||
|
||||
Click the *General* tab to begin.
|
||||
|
||||
.. image:: images/create_fts_parser_general.png
|
||||
.. image:: images/fts_parser_general.png
|
||||
|
||||
Use the fields in the *General* tab to identify a text search parser:
|
||||
|
||||
@ -22,7 +20,7 @@ Use the fields in the *General* tab to identify a text search parser:
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/create_fts_parser_definition.png
|
||||
.. image:: images/fts_parser_definition.png
|
||||
|
||||
Use the fields in the *Definition* tab to define parameters:
|
||||
|
||||
@ -34,9 +32,9 @@ Use the fields in the *Definition* tab to define parameters:
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
.. image:: images/create_fts_parser_sql.png
|
||||
.. image:: images/fts_parser_sql.png
|
||||
|
||||
Your entries in the *Create - Extension* dialog generate a generate a SQL command; you can review the command on the *SQL* pane.
|
||||
Your entries in the *Extension* dialog generate a generate a SQL command; you can review the command on the *SQL* pane.
|
||||
|
||||
* Click the *Info* button (i) to access online help.
|
||||
* Click the *Save* button to save work.
|
@ -1,16 +1,14 @@
|
||||
.. _fts_template:
|
||||
*******************
|
||||
FTS Template Dialog
|
||||
*******************
|
||||
|
||||
**********************
|
||||
Create - FTS Template
|
||||
**********************
|
||||
|
||||
Use the *Create - FTS Template* dialog to create a new text search template. A text search template defines the functions that implement text search dictionaries. The *Create - FTS Template* dialog allows you to implement options of the CREATE TEXT SEARCH TEMPLATE command. For more information about the CREATE TEXT SEARCH TEMPLATE command, see PostgreSQL core documentation available at:
|
||||
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 allows you to implement options of the CREATE TEXT SEARCH TEMPLATE command. For more information about the CREATE TEXT SEARCH TEMPLATE command, see PostgreSQL core documentation available at:
|
||||
|
||||
http://www.postgresql.org/docs/9.5/static/sql-createtstemplate.html
|
||||
|
||||
The *Create - 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/create_fts_template_general.png
|
||||
.. image:: images/fts_template_general.png
|
||||
|
||||
Use the fields in the *General* tab to identify a template:
|
||||
|
||||
@ -20,7 +18,7 @@ Use the fields in the *General* tab to identify a template:
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/create_fts_template_definition.png
|
||||
.. image:: images/fts_template_definition.png
|
||||
|
||||
Use the fields in the *Definition* tab to define function parameters:
|
||||
|
||||
@ -29,9 +27,9 @@ Use the fields in the *Definition* tab to define function parameters:
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
.. image:: images/create_fts_template_sql.png
|
||||
.. image:: images/fts_template_sql.png
|
||||
|
||||
Your entries in the *Create - FTS Template* dialog generate a SQL command; you can review the command on the *SQL* pane.
|
||||
Your entries in the *FTS Template* dialog generate a SQL command; you can review the command on the *SQL* pane.
|
||||
|
||||
* Click the *Info* button (i) to access online help.
|
||||
* Click the *Save* button to save work.
|
||||
@ -41,9 +39,9 @@ Your entries in the *Create - FTS Template* dialog generate a SQL command; you c
|
||||
Example
|
||||
=======
|
||||
|
||||
The following is an example of the sql command generated by user selections in the *Create - FTS Template* dialog:
|
||||
The following is an example of the sql command generated by user selections in the *FTS Template dialog*:
|
||||
|
||||
.. image:: images/create_fts_template_sql_example.png
|
||||
.. image:: images/fts_template_sql_example.png
|
||||
|
||||
The example shown demonstrates creating a fts template named *ru_template* that uses the ispell dictionary.
|
||||
|
@ -1,18 +1,16 @@
|
||||
.. _create_function:
|
||||
***************
|
||||
Function Dialog
|
||||
***************
|
||||
|
||||
*****************
|
||||
Create - 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.
|
||||
|
||||
Use the *Create - 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 *Create - Function* dialog allows you to implement options of the CREATE FUNCTION and ALTER FUNCTION commands. For more information about the CREATE FUNCTION command, see the PostgreSQL core documentation available at:
|
||||
The *Function* dialog allows you to implement options of the CREATE FUNCTION and ALTER FUNCTION commands. For more information about the CREATE FUNCTION command, see the PostgreSQL core documentation available at:
|
||||
|
||||
http://www.postgresql.org/docs/9.5/static/sql-createfunction.html
|
||||
|
||||
The *Create - 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/create_function_general.png
|
||||
.. image:: images/function_general.png
|
||||
|
||||
Use the fields in the *General* tab to identify a function:
|
||||
|
||||
@ -23,7 +21,7 @@ Use the fields in the *General* tab to identify a function:
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
|
||||
.. image:: images/create_function_definition.png
|
||||
.. image:: images/function_definition.png
|
||||
|
||||
Use the fields in the *Definition* tab to define the function:
|
||||
|
||||
@ -33,7 +31,7 @@ Use the fields in the *Definition* tab to define the function:
|
||||
|
||||
Click the *Options* tab to continue.
|
||||
|
||||
.. image:: images/create_function_options.png
|
||||
.. image:: images/function_options.png
|
||||
|
||||
Use the fields in the *Options* tab to describe or modify the action of the function:
|
||||
|
||||
@ -52,7 +50,7 @@ Use the fields in the *Options* tab to describe or modify the action of the func
|
||||
|
||||
Click the *Arguments* tab to continue.
|
||||
|
||||
.. image:: images/create_function_arguments.png
|
||||
.. image:: images/function_arguments.png
|
||||
|
||||
Use the fields in the *Arguments* tab to define an argument. Click *Add* to set parameters and values for the argument:
|
||||
|
||||
@ -65,7 +63,7 @@ Click *Add* to define another argument; to discard an argument, click the trash
|
||||
|
||||
Click the *Parameters* tab to continue.
|
||||
|
||||
.. image:: images/create_function_parameters.png
|
||||
.. image:: images/function_parameters.png
|
||||
|
||||
Use the fields in the *Parameters* tab to specify settings that will be applied when the function is invoked:
|
||||
|
||||
@ -75,7 +73,7 @@ Use the fields in the *Parameters* tab to specify settings that will be applied
|
||||
|
||||
Click the *Security* tab to continue.
|
||||
|
||||
.. image:: images/create_function_security.png
|
||||
.. image:: images/function_security.png
|
||||
|
||||
Use the *Security* tab to assign privileges and define security labels.
|
||||
|
||||
@ -96,9 +94,9 @@ Click *Add* to assign additional security labels; to discard a security label, c
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
.. image:: images/create_function_sql.png
|
||||
.. image:: images/function_sql.png
|
||||
|
||||
Your entries in the *Create - Function* dialog generate a generate a SQL command; you can review the command on the *SQL* pane.
|
||||
Your entries in the *Function* dialog generate a generate a SQL command; you can review the command on the *SQL* pane.
|
||||
|
||||
* Click the *Info* button (i) to access online help.
|
||||
* Click the *Save* button to save work.
|
||||
@ -108,9 +106,9 @@ Your entries in the *Create - Function* dialog generate a generate a SQL command
|
||||
Example
|
||||
=======
|
||||
|
||||
The following is an example of the sql command generated by selections made in the *Create - Function* dialog:
|
||||
The following is an example of the sql command generated by selections made in the *Function dialog*:
|
||||
|
||||
.. image:: images/create_function_sql_example.png
|
||||
.. image:: images/function_sql_example.png
|
||||
|
||||
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.
|
||||
|
Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 92 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 51 KiB |
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 85 KiB After Width: | Height: | Size: 85 KiB |
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 67 KiB |
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 101 KiB |
Before Width: | Height: | Size: 120 KiB After Width: | Height: | Size: 120 KiB |
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 90 KiB |
Before Width: | Height: | Size: 102 KiB After Width: | Height: | Size: 102 KiB |
Before Width: | Height: | Size: 103 KiB After Width: | Height: | Size: 103 KiB |
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 83 KiB |
Before Width: | Height: | Size: 146 KiB After Width: | Height: | Size: 146 KiB |
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 57 KiB |
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 79 KiB |
Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 92 KiB |
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 89 KiB |
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 81 KiB |
Before Width: | Height: | Size: 73 KiB After Width: | Height: | Size: 73 KiB |
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 88 KiB |
Before Width: | Height: | Size: 106 KiB After Width: | Height: | Size: 106 KiB |
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 82 KiB |
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 81 KiB |
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 78 KiB |
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 96 KiB After Width: | Height: | Size: 96 KiB |
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 83 KiB |
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 84 KiB |
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 78 KiB |
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 165 KiB After Width: | Height: | Size: 165 KiB |
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 83 KiB |
Before Width: | Height: | Size: 99 KiB After Width: | Height: | Size: 99 KiB |
Before Width: | Height: | Size: 85 KiB After Width: | Height: | Size: 85 KiB |
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 83 KiB |
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 59 KiB |
Before Width: | Height: | Size: 111 KiB After Width: | Height: | Size: 111 KiB |
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 79 KiB |
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 70 KiB |
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 75 KiB |
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 78 KiB |
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 97 KiB After Width: | Height: | Size: 97 KiB |
Before Width: | Height: | Size: 94 KiB After Width: | Height: | Size: 94 KiB |
Before Width: | Height: | Size: 104 KiB After Width: | Height: | Size: 104 KiB |
Before Width: | Height: | Size: 124 KiB After Width: | Height: | Size: 124 KiB |
Before Width: | Height: | Size: 98 KiB After Width: | Height: | Size: 98 KiB |
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 108 KiB |
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 87 KiB |
Before Width: | Height: | Size: 99 KiB After Width: | Height: | Size: 99 KiB |
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 89 KiB |
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 81 KiB |
Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 95 KiB |
Before Width: | Height: | Size: 97 KiB After Width: | Height: | Size: 97 KiB |
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 89 KiB |
Before Width: | Height: | Size: 100 KiB After Width: | Height: | Size: 100 KiB |
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 78 KiB |
Before Width: | Height: | Size: 126 KiB After Width: | Height: | Size: 126 KiB |
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 88 KiB |
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 78 KiB |
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 94 KiB After Width: | Height: | Size: 94 KiB |
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 88 KiB |
Before Width: | Height: | Size: 106 KiB After Width: | Height: | Size: 106 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 91 KiB After Width: | Height: | Size: 91 KiB |
Before Width: | Height: | Size: 120 KiB After Width: | Height: | Size: 120 KiB |
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 76 KiB |
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 78 KiB |
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 89 KiB |
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 124 KiB After Width: | Height: | Size: 124 KiB |