Перейти к основному содержимому

pg_aios

Представление pg_aios перечисляет все дескрипторы асинхронного ввода-вывода, которые в настоящее время используются. Дескриптор ввода-вывода используется для ссылки на операцию ввода-вывода, которая готовится, выполняется или находится в процессе завершения. pg_aios содержит одну строку для каждого дескриптора ввода-вывода.

Это представление в основном полезно для разработчиков PostgreSQL, но также может пригодиться при настройке PostgreSQL.

Столбцы pg_aios:

СтолбецТипОписание
pidint4Идентификатор процесса сервера, выполняющего этот ввод-вывод.
io_idint4Идентификатор дескриптора ввода-вывода. Дескрипторы переиспользуются после завершения ввода-вывода (или если дескриптор освобожден до начала операции). При переиспользовании поле io_generation инкрементируется.
io_generationint8Поколение дескриптора ввода-вывода.
statetextСостояние дескриптора ввода-вывода:
HANDED_OUT — ссылается код, но еще не используется;
DEFINED — информация, необходимая для выполнения, известна;
STAGED — готов к выполнению;
SUBMITTED — отправлен на выполнение;
COMPLETED_IO — завершен, но результат еще не обработан;
COMPLETED_SHARED — завершена общая обработка завершения;
COMPLETED_LOCAL — завершена локальная обработка завершения бэкендом.
operationtextОперация, выполняемая с использованием дескриптора:
invalid — еще не определена;
readv — векторизованное чтение;
writev — векторизованная запись.
offint8Смещение операции ввода-вывода.
lengthint8Длина операции ввода-вывода.
targettextТип объекта, на который направлен ввод-вывод:
smgr — ввод-вывод для отношений.
handle_data_lenint2Длина данных, связанных с операцией ввода-вывода. Для ввода-вывода в/из shared_buffers и temp_buffers указывает количество буферов, с которыми работает операция.
raw_resultint4Низкоуровневый результат операции ввода-вывода, или NULL, если операция еще не завершена.
resulttextВысокоуровневый результат операции ввода-вывода:
UNKNOWN — результат еще не известен;
OK — ввод-вывод успешно завершен;
PARTIAL — ввод-вывод завершен без ошибок, но не все данные обработаны. Обычно вызывающая сторона должна повторить операцию и обработать остаток в отдельном вводе-выводе;
WARNING — ввод-вывод завершен без ошибок, но при выполнении возникло предупреждение. Например, при обнаружении поврежденного буфера с включенным параметром zero_damaged_pages;
ERROR — ввод-вывод завершился с ошибкой.
target_desctextОписание объекта, на который направлен ввод-вывод.
f_syncboolФлаг, указывающий, выполняется ли ввод-вывод синхронно.
f_localmemboolФлаг, указывающий, ссылается ли ввод-вывод на локальную память процесса.
f_bufferedboolФлаг, указывающий, является ли ввод-вывод буферизованным.

Представление pg_aios доступно только для чтения.

По умолчанию представление pg_aios могут читать только суперпользователи или роли с привилегиями роли pg_read_all_stats.