2016-05-27 11:13:36 -05:00
|
|
|
.. _collation_dialog:
|
2016-05-13 08:43:57 -05:00
|
|
|
|
2018-06-15 03:14:12 -05:00
|
|
|
*************************
|
|
|
|
`Collation Dialog`:index:
|
|
|
|
*************************
|
2016-05-13 08:43:57 -05:00
|
|
|
|
2019-03-08 09:29:05 -06:00
|
|
|
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.
|
2016-05-13 08:43:57 -05:00
|
|
|
|
2019-03-08 09:29:05 -06:00
|
|
|
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.
|
2016-05-13 08:43:57 -05:00
|
|
|
|
2016-05-20 15:39:21 -05:00
|
|
|
.. image:: images/collation_general.png
|
2018-01-11 10:58:30 -06:00
|
|
|
:alt: Collation dialog general tab
|
2019-03-08 09:29:05 -06:00
|
|
|
:align: center
|
2016-05-13 08:43:57 -05:00
|
|
|
|
|
|
|
Use the fields in the *General* tab to identify the collation:
|
|
|
|
|
2019-03-08 09:29:05 -06:00
|
|
|
* 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.
|
2018-01-11 10:58:30 -06:00
|
|
|
* Select the name of the owner from the drop-down listbox in the *Owner* field.
|
2019-03-08 09:29:05 -06:00
|
|
|
* Select the name of the schema in which the collation will reside from the
|
|
|
|
drop-down listbox in the *Schema* field.
|
2016-05-24 07:47:35 -05:00
|
|
|
* Store notes about the collation in the *Comment* field.
|
2016-05-13 08:43:57 -05:00
|
|
|
|
|
|
|
Click the *Definition* tab to continue.
|
|
|
|
|
2016-05-20 15:39:21 -05:00
|
|
|
.. image:: images/collation_definition.png
|
2018-01-11 10:58:30 -06:00
|
|
|
:alt: Collation dialog definition tab
|
2019-03-08 09:29:05 -06:00
|
|
|
:align: center
|
|
|
|
|
|
|
|
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.)
|
2024-03-19 06:22:22 -05:00
|
|
|
* Use the drop-down listbox next to *Locale Provider* to select a locale services associated
|
|
|
|
with the collation. Possible values are: icu, libc. libc is the default.
|
|
|
|
* Move the switch next to *Deterministic* to *YES* to specify whether the collation should use
|
|
|
|
deterministic comparisons. By default, this option is set to true. In a
|
|
|
|
deterministic comparison, strings that are not byte-wise equal are considered
|
|
|
|
unequal, even if they are considered logically equal in the comparison.
|
|
|
|
* Use the *Rules* field to specify a rules for customizing the behavior of the collation.
|
|
|
|
It includes considerations such as character ordering, case sensitivity, and accent
|
|
|
|
sensitivity.
|
|
|
|
* Use the *Version* field to specify version string to store with the collation object.
|
2016-05-13 08:43:57 -05:00
|
|
|
|
|
|
|
|
|
|
|
Click the *SQL* tab to continue.
|
|
|
|
|
2019-03-08 09:29:05 -06:00
|
|
|
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.
|
2016-05-24 07:47:35 -05:00
|
|
|
|
2019-03-08 09:29:05 -06:00
|
|
|
Example
|
|
|
|
*******
|
2016-05-24 07:47:35 -05:00
|
|
|
|
2019-03-08 09:29:05 -06:00
|
|
|
The following is an example of the sql command generated by user selections in
|
|
|
|
the *Collation* dialog:
|
2016-05-24 07:47:35 -05:00
|
|
|
|
2016-05-20 15:39:21 -05:00
|
|
|
.. image:: images/collation_sql.png
|
2018-01-11 10:58:30 -06:00
|
|
|
:alt: Collation dialog sql tab
|
2019-03-08 09:29:05 -06:00
|
|
|
:align: center
|
2016-05-13 08:43:57 -05:00
|
|
|
|
2019-03-08 09:29:05 -06:00
|
|
|
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*.
|
2016-05-27 11:13:36 -05:00
|
|
|
|
2019-03-08 09:29:05 -06:00
|
|
|
* 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:
|
2018-01-11 10:58:30 -06:00
|
|
|
|
2019-03-12 09:24:46 -05:00
|
|
|
https://www.postgresql.org/docs/current/locale.html
|
2018-01-11 10:58:30 -06:00
|
|
|
|
2016-05-13 08:43:57 -05:00
|
|
|
* Click the *Save* button to save work.
|
2021-09-24 10:31:56 -05:00
|
|
|
* Click the *Close* button to exit without saving work.
|
2016-05-13 08:43:57 -05:00
|
|
|
* Click the *Reset* button to restore configuration parameters.
|
|
|
|
|
|
|
|
|