SET
Присваивание значений конфигурационным переменным.
Синтаксис:
SET переменная {ТО = } { значение \ 'значение' DEFAULT } SET TIME ZONE { 'часовой_пояс' \ LOCAL DEFAULT }
Параметры:
- переменная. Имя конфигурационной переменной, которой присваивается новое значение.
- значение. Новое значение переменной. Ключевое слово DEFAULT возвращает переменной значение по умолчанию.
- часовой_пояс. Часовой пояс, в котором находится клиент. Допустимые значения:
- PST8PDT – тихоокеанское стандартное/летнее время (смещение от времени по Гринвичу – 8 часов);
- EST5EDT – стандартное/летнее время на восточном побережье (смещение от времени по Гринвичу – 5 часов);
- NZST13NZDT – Новая Зеландия, стандартное/летнее время (смещение от времени по Гринвичу – 13 часов).
- LOCAL. Часовой пояс определяется конфигурацией локальной системы.
- DEFAULT. Переменной возвращается значение по умолчанию.
Результаты:
- SET VARIABLE. Сообщение выдается при успешном изменении значения переменной.
- ERROR: not a valid option name: (имя). Ошибка – переменная с указанным именем не существует.
- ERROR: permission denied. Ошибка – пользователь не обладает правами для изменения заданной переменной.
- ERROR: name can only be set at start-up. Ошибка – присваивание указанной переменной может выполняться только при запуске системы.
Описание
Команда SET изменяет значения конфигурационных переменных PostgreSQL. Ниже перечислены переменные, с которыми работает команда SET.
- CLIENT_ENCODING. Расширенная кодировка, используемая на стороне клиента (ее поддержка включена в PostgreSQL).
- DATESTYLE. Стиль представления даты и времени. Значение выбирается из числа основных форматов вывода, двух дополнительных форматов или же определяется комбинацией основного формата с дополнительным. Исходный формат даты/времени определяется переменной среды PGDATESTYLE. Также возможно инициализация формата при помощи ключей командной строки postmaster Например, при запуске postmaster с ключом – о "-е" выбирается европейски! формат представления даты (ключи postmaster описаны в главе 9). Ниже пере-числены допустимые стили представления даты и времени.
- ISO. Датам время выводятся в формате ISO-8601 (маска ГГГГ-ММ-ДД ЧЧ:ММ:СС) Формат используется по умолчанию.
- SQL. Дата и время выводятся в формате Oracle/Ingres. Несмотря на название, по умолчанию в SQL используется не этот формат, a ISO-8601.
- Postgres. Традиционный формат даты и времени PostgreSQL.
- German. Немецкий формат даты (маска ДД. ММ. ГГГГ).
- European. Стандартный европейский формат даты, дополнение форматов SQL и PostgreSQL. Дата выводится в формате ДД/ММ/ГГГГ.
- NonEuropean, US. Стандартный американский формат даты, дополнение форматов SQL и PostgreSQL. Дата выводится в формате ММ/ДД/ГГГГ.
- SEED. Переменная инициализирует внутренний генератор случайных чисел PostgreSQL, используемый функцией randomO. Допустимыми значениями являются вещественные числа в интервале от 0 до 1. Переданное число умножается на 2:!0. Генератор случайных чисел также инициализируется функцией SQL setseedO с одним аргументом типа double precision.
- SERVER_ENCODING. Расширенная кодировка, используемая на стороне сервера (если ее поддержка включена в PostgreSQL).
Примеры
В следующем фрагменте при помощи переменной DATESTYLE выбирается традиционный формат даты PostgreSQL (Postgres) с дополнительным форматом US, обеспечивающим представление даты по американским стандартам.
booktown=# SET DATESTYLE TO Postgres.US: SET VARIABLE
В следующем примере выбирается формат представления даты и времени по стандарту ISO:
booktown=# SET DATESTYLE TO ISO: SET VARIABLE