Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

PostgreSQLWire

Входные данные Выходные данные Псевдоним

Описание

Формат PostgreSQLWire сериализует часть протокола PostgreSQL, отвечающую за передачу результирующего набора. Он записывает сообщение RowDescription с именами и типами столбцов, а затем по одному сообщению DataRow для каждой строки результата. Значения передаются в текстовом представлении, для значений NULL используется кодирование пустого поля, предусмотренное протоколом, а булевы значения записываются как t или f.

Это бинарный формат только для вывода, предназначенный для клиентов, подключённых через интерфейс PostgreSQL. Интерфейс устанавливает PostgreSQLWire в качестве формата по умолчанию для сеанса и использует его, если запрос не содержит явного предложения FORMAT. Явное предложение переопределяет значение по умолчанию; другие форматы вывода не формируют допустимый результирующий набор PostgreSQL. Интерфейс записывает окружающие сообщения протокола, такие как сообщения аутентификации, завершения команды и готовности к приёму запроса. PostgreSQLWire не предназначен для отображения или хранения результатов запроса в виде автономного файла.

Пример использования

После включения интерфейса PostgreSQL выполните запрос с помощью совместимого клиента:

psql -p 9005 -h 127.0.0.1 -U default -d default \
    -c "SELECT number, number % 2 = 0 AS even FROM numbers(3)"

Поскольку в запросе не указано предложение FORMAT, интерфейс передаёт результат через PostgreSQLWire.

Настройки формата

PostgreSQLWire использует стандартные настройки текстовой сериализации отдельных значений. У него нет настроек, специфичных для самого формата; булевы значения всегда сериализуются в представлении PostgreSQL t и f.

Navigation