\locale
Displays or sets the locale setting for the current session.
Note
This command does not alter the default locale for all database sessions. To change the default for all sessions, set configuration parameterDefaultSessionLocale
.
Syntax
\locale [locale-identifier]
Arguments
locale-identifier
- Specifies the ICU locale identifier to use, by default set to:
en_US@collation=binary
If set to an empty string, Vertica sets locale to
en_US_POSIX
.If you omit this argument,
\locale
returns the current locale setting.For details on identifier options, see About locale. For a complete list of locale identifiers, see the ICU Project.
Examples
View the current locale setting:
=> \locale
en_US@collation=binary
Change the default locale for this session:
=> \locale en_GBINFO:
INFO 2567: Canonical locale: 'en_GBINFO:'
Standard collation: 'LEN'
English (GBINFO:)
Notes
The server locale settings impact only the collation behavior for server-side query processing. The client application is responsible for ensuring that the correct locale is set in order to display the characters correctly. Below are the best practices recommended by Vertica to ensure predictable results:
-
The locale setting in the terminal emulator for vsql (POSIX) should be set to be equivalent to session locale setting on server side (ICU) so data is collated correctly on the server and displayed correctly on the client.
-
The vsql locale should be set using the POSIX LANG environment variable in terminal emulator. Refer to the documentation of your terminal emulator for how to set locale.
-
Server session locale should be set using the set as described in Specify the default locale for the database.
-
All input data for vsql should be in UTF-8 and all output data is encoded in UTF-8.
-
Non UTF-8 encodings and associated locale values are not supported.