×
Мы обрабатываем cookies, чтобы сделать наш сайт удобнее и персонализированнее для вас. Подробнее: политика использования «cookies» и «политики конфиденциальности».

Для самостоятельной настройки ознакомьтесь с инструкцией

Дополнительные настройки cookies в браузерах

Файлы cookie автоматически загружаются в ваш браузер при посещении веб-сайта. У вас есть возможность управлять этими файлами. Если Вы не согласны с использованием файлов cookies, запретите их сохранение на своём устройстве, удалите уже имеющиеся файлы cookies через настройки браузера или прекратите использование сайта.

При отключении обработки cookie наш сайт продолжит функционировать, однако будут использоваться исключительно необходимые технические файлы, без которых работа ресурса невозможна.

Инструкция по отключению cookies
Принять
Настроить
Отклонить

ДОКУМЕНТАЦИЯ

Выберите версию, форк и язык для СУБД Digital Q.DataBase, чтобы прочитать или скачать всю документацию.
Техподдержка
Документация
Диасофт
Авторские права © 2016–2025 ООО "Диасофт Экосистема"
Скачать всю документацию:

Окружение

COLUMNS #

Если \pset columns равно нулю, управляет шириной wrapped формат и ширина для определения того, требуется ли для широкого вывода программа постраничного просмотра или следует ли переключиться на вертикальный формат в автоматическом расширенном режиме.

PGDATABASE
PGHOST
PGPORT
PGUSER #

Параметры соединения по умолчанию (см. Раздел 4.1.15).

PG_COLOR #

Определяет, следует ли использовать цвет в диагностических сообщениях. Допустимые значения: всегда, auto и never.

PSQL_EDITOR
EDITOR
VISUAL #

Редактор, используемый командами \e, \ef, и \ev командами. Данные переменные проверяются в указанном порядке; используется первая установленная переменная. Если ни одна из них не задана, по умолчанию используется vi в системах Unix или notepad.exe в системах Windows.

PSQL_EDITOR_LINENUMBER_ARG #

Когда \e, \ef, или \ev используется с аргументом номера строки, данная переменная определяет аргумент командной строки, используемый для передачи начального номера строки в редактор пользователя. Для таких редакторов, как Emacs или vi, это знак «плюс». Включите завершающий пробел в значение переменной, если между именем параметра и номером строки требуется пробел. Примеры:

PSQL_EDITOR_LINENUMBER_ARG='+'
PSQL_EDITOR_LINENUMBER_ARG='--line '

По умолчанию используется + в системах Unix (что соответствует редактору по умолчанию vi, и полезно для многих других распространенных редакторов); однако в системах Windows значение по умолчанию отсутствует.

PSQL_HISTORY #

Альтернативное расположение файла истории команд. Выполняется раскрытие тильды (~) expansion is performed.

PSQL_PAGER
PAGER #

Если результаты запроса не помещаются на экране, они передаются по конвейеру этой команде. Типичными значениями являются more или less. Использование пейджера можно отключить, установив значение PSQL_PAGER или PAGER равным пустой строке или настроив связанные с пейджером параметры команды \pset . Данные переменные проверяются в указанном порядке; используется первая из установленных. Если ни одна из них не задана, по умолчанию используется more на большинстве платформ, за исключением less в среде Cygwin.

PSQL_WATCH_PAGER #

При многократном выполнении запроса с помощью команды \watch , пейджер по умолчанию не используется. Это поведение можно изменить, установив для переменной PSQL_WATCH_PAGER значение команды пейджера в системах Unix. Программа pspg pager (не входит в состав Digital Q.DataBase , но доступна во многих дистрибутивах программного обеспечения с открытым исходным кодом) может выводить результаты \watch , если запущен с параметром --stream.

PSQLRC #

Альтернативное расположение пользовательского файла .psqlrc . Тильда (~) expansion is performed.

SHELL #

Команда, выполняемая \! командой.

TMPDIR #

Каталог для хранения временных файлов. По умолчанию используется /tmp.

Данная утилита, как и большинство других Digital Q.DataBase утилит, также использует переменные окружения, поддерживаемые libpq (см. Раздел 4.1.15).

Файлы

psqlrc и ~/.psqlrc #

Если не передан -X параметр, psql выполняется попытка чтения и выполнения команд из общесистемного файла автозапуска (psqlrc) и затем личного файла автозапуска пользователя (~/.psqlrc), после подключения к базе данных, но до начала приема стандартных команд. Данные файлы могут использоваться для настройки клиента и (или) сервера в соответствии с предпочтениями, как правило, с помощью \set и SET команд.

Общесистемный файл автозапуска называется psqlrc. По умолчанию поиск выполняется в каталоге установки «системной конфигурации» установки, путь к которому наиболее достоверно определяется при запуске pg_config --sysconfdir. Обычно этим каталогом является ../etc/ относительно каталога, содержащего Digital Q.DataBase исполняемые файлы. Каталог для поиска можно задать явно через PGSYSCONFDIR environment variable.

Личный файл автозапуска пользователя называется .psqlrc и поиск этого файла осуществляется в домашнем каталоге пользователя. В Windows файл личных настроек называется %APPDATA%\postgresql\psqlrc.conf. В любом случае этот путь к файлу по умолчанию может быть переопределен путем установки PSQLRC environment variable.

Как общесистемный файл запуска, так и личный файл запуска пользователя могут быть привязаны к версии psql-version-specific путем добавления через дефис Digital Q.DataBase идентификатора основного или минорного выпуска к имени файла, например ~/.psqlrc-17 или ~/.psqlrc-17.4. Файл с наиболее точным соответствием версии будет иметь приоритет при чтении перед файлом без указания версии. Данные суффиксы версии добавляются после определения пути к файлу, как описано выше.

.psql_history #

История командной строки хранится в файле ~/.psql_history, или %APPDATA%\postgresql\psql_history в ОС Windows.

Расположение файла истории может быть задано явно с помощью переменной HISTFILE psql переменной или PSQL_HISTORY environment variable.

Примечания

  • psql лучше всего работает с серверами той же или более ранней основной версии. Команды с обратной косой чертой особенно склонны к сбоям, если версия сервера новее, чем версия psql самой программы. Тем не менее, команды с обратной косой чертой \d семейства должны работать с серверами версий вплоть до 9.2, хотя и не обязательно с серверами новее, чем psql сама программа. Общая функциональность выполнения SQL-команд и отображения результатов запроса также должна работать с серверами более новой основной версии, но это не может быть гарантировано во всех случаях.

    Если вы хотите использовать psql для подключения к нескольким серверам различных основных версий, рекомендуется использовать новейшая версия psql. Кроме того, вы можете хранить экземпляр psql каждой основной версии и использовать версию, соответствующую соответствующему серверу. Однако на практике данное дополнительное усложнение не должно потребоваться.

  • Ранее Digital Q.DataBase 9.6, параметром -c параметр подразумевал -X (--no-psqlrc); более это не так.

  • Ранее Digital Q.DataBase 8.4, psql допускалось начало первого аргумента однобуквенной команды с обратной косой чертой непосредственно после команды, без разделяющего пробела. Теперь наличие пробела является обязательным.

Примечания для пользователей Windows

psql собрано как «консольное приложение». Поскольку в окнах консоли Windows используется кодировка, отличная от кодировки остальной части системы, необходимо соблюдать особую осторожность при использовании 8-битных символов в psql. Если psql обнаруживает проблемную кодовую страницу консоли, при запуске выдается предупреждение. Для изменения кодовой страницы консоли необходимо выполнение двух условий:

  • Установите кодовую страницу, введя cmd.exe /c chcp 1252. (1252 — это кодовая страница, подходящая для немецкого языка; замените ее своим значением.) Если вы используете Cygwin, вы можете поместить эту команду в /etc/profile.

  • Установите шрифт консоли Lucida Console, так как растровый шрифт не работает с кодовой страницей ANSI.

Примеры

В первом примере показано, как распределить команду на несколько строк ввода. Обратите внимание на изменение вида приглашения:

testdb=> CREATE TABLE my_table (
testdb(>  first integer not null default 0,
testdb(>  second text)
testdb-> ;
CREATE TABLE

Теперь снова рассмотрим определение таблицы:

testdb=> \d my_table
              Таблица "public.my_table"
 Столбец |  Тип   | Сопоставление | Допустимость NULL | По умолчанию
--------+---------+-----------+----------+---------
 first  | integer |           | not null | 0
 second | text    |           |          |

Теперь изменим приглашение на более информативное:

testdb=> \set PROMPT1 '%n@%m %~%R%# '
peter@localhost testdb=>

Предположим, что таблица заполнена данными и их необходимо просмотреть:

peter@localhost testdb=> SELECT * FROM my_table;
 first | second
-------+--------
     1 | one
     2 | two
     3 | three
     4 | four
(4 строки)

Выводить таблицы можно различными способами, используя \pset команду:

peter@localhost testdb=> \pset border 2
Стиль границ: 2.
peter@localhost testdb=> SELECT * FROM my_table;
+-------+--------+
| first | second |
+-------+--------+
|     1 | one    |
|     2 | two    |
|     3 | three  |
|     4 | four   |
+-------+--------+
(4 строки)

peter@localhost testdb=> \pset border 0
Стиль границ: 0.
peter@localhost testdb=> SELECT * FROM my_table;
first second
----- ------
    1 one
    2 two
    3 three
    4 four
(4 строки)

peter@localhost testdb=> \pset border 1
Стиль границ: 1.
peter@localhost testdb=> \pset format csv
Формат вывода: csv.
peter@localhost testdb=> \pset tuples_only
Вывод только строк включён.
peter@localhost testdb=> SELECT second, first FROM my_table;
one,1
two,2
three,3
four,4
peter@localhost testdb=> \pset format unaligned
Формат вывода — невыровненный.
peter@localhost testdb=> \pset fieldsep '\t'
Разделитель полей — "    ".
peter@localhost testdb=> SELECT second, first FROM my_table;
one     1
two     2
three   3
four    4

Кроме того, можно использовать сокращённые команды:

peter@localhost testdb=> \a \t \x
Формат вывода — выровненный.
Режим вывода только кортежей (tuples only) выключен.
Расширенный режим вывода (expanded display) включён.
peter@localhost testdb=> SELECT * FROM my_table;
-[ RECORD 1 ]-
first  | 1
second | one
-[ RECORD 2 ]-
first  | 2
second | two
-[ RECORD 3 ]-
first  | 3
second | three
-[ RECORD 4 ]-
first  | 4
second | four

Кроме того, эти параметры формата вывода можно установить для одного запроса с помощью \g:

peter@localhost testdb=> SELECT * FROM my_table
peter@localhost testdb-> \g (format=aligned tuples_only=off expanded=on)
-[ RECORD 1 ]-
first  | 1
second | one
-[ RECORD 2 ]-
first  | 2
second | two
-[ RECORD 3 ]-
first  | 3
second | three
-[ RECORD 4 ]-
first  | 4
second | four

Ниже приведен пример использования \df команды для поиска только тех функций, имена которых соответствуют шаблону int*pl и второй аргумент которых имеет тип bigint:

testdb=> \df int*pl * bigint
                          Список функций
   Schema   |  Name   | Result data type | Argument data types | Type
------------+---------+------------------+---------------------+------
 pg_catalog | int28pl | bigint           | smallint, bigint    | func
 pg_catalog | int48pl | bigint           | integer, bigint     | func
 pg_catalog | int8pl  | bigint           | bigint, bigint      | func
(3 строки)

При необходимости результаты запроса могут быть представлены в виде сводной таблицы с помощью команды \crosstabview команду:

testdb=> SELECT first, second, first > 2 AS gt2 FROM my_table;
 first | second | gt2
-------+--------+-----
     1 | one    | f
     2 | two    | f
     3 | three  | t
     4 | four   | t
(4 строки)

testdb=> \crosstabview first second
 first | one | two | three | four
-------+-----+-----+-------+------
     1 | f   |     |       |
     2 |     | f   |       |
     3 |     |     | t     |
     4 |     |     |       | t
(4 строки)

В данном втором примере представлена таблица умножения со строками, отсортированными в обратном числовом порядке, и столбцами, имеющими независимый возрастающий числовой порядок.

testdb=> SELECT t1.first as "A", t2.first+100 AS "B", t1.first*(t2.first+100) as "AxB",
testdb-> row_number() over(order by t2.first) AS ord
testdb-> FROM my_table t1 CROSS JOIN my_table t2 ORDER BY 1 DESC
testdb-> \crosstabview "A" "B" "AxB" ord
 A | 101 | 102 | 103 | 104
---+-----+-----+-----+-----
 4 | 404 | 408 | 412 | 416
 3 | 303 | 306 | 309 | 312
 2 | 202 | 204 | 206 | 208
 1 | 101 | 102 | 103 | 104
(4 строки)
Наверх
свяжитесь
с нами
контакты
Для прямой связи с нами вы можете использовать контакты ниже, либо оставить заявку через форму обратной связи, и мы обязательно свяжемся с вами

*поля обязательные к заполнению