pg_aios
Представление pg_aios перечисляет все дескрипторы асинхронного ввода-вывода, которые в настоящее время используются. Дескриптор ввода-вывода используется для ссылки на операцию ввода-вывода, которая готовится, выполняется или находится в процессе завершения. pg_aios содержит одну строку для каждого дескриптора ввода-вывода.
Это представление в основном полезно для разработчиков PostgreSQL, но также может пригодиться при настройке PostgreSQL.
Столбцы pg_aios:
| Столбец | Тип | Описание |
|---|---|---|
pid | int4 | Идентификатор процесса сервера, выполняющего этот ввод-вывод. |
io_id | int4 | Идентификатор дескриптора ввода-вывода. Дескрипторы переиспользуются после завершения ввода-вывода (или если дескриптор освобожден до начала операции). При переиспользовании поле io_generation инкрементируется. |
io_generation | int8 | Поколение дескриптора ввода-вывода. |
state | text | Состояние дескриптора ввода-вывода: • HANDED_OUT — ссылается код, но еще не используется;• DEFINED — информация, необходимая для выполнения, известна;• STAGED — готов к выполнению;• SUBMITTED — отправлен на выполнение;• COMPLETED_IO — завершен, но результат еще не обработан;• COMPLETED_SHARED — завершена общая обработка завершения;• COMPLETED_LOCAL — завершена локальная обработка завершения бэкендом. |
operation | text | Операция, выполняемая с использованием дескриптора: • invalid — еще не определена;• readv — векторизованное чтение;• writev — векторизованная запись. |
off | int8 | Смещение операции ввода-вывода. |
length | int8 | Длина операции ввода-вывода. |
target | text | Тип объекта, на который направлен ввод-вывод: • smgr — ввод-вывод для отношений. |
handle_data_len | int2 | Длина данных, связанных с операцией ввода-вывода. Для ввода-вывода в/из shared_buffers и temp_buffers указывает количество буферов, с которыми работает операция. |
raw_result | int4 | Низкоуровневый результат операции ввода-вывода, или NULL, если операция еще не завершена. |
result | text | Высокоуровневый результат операции ввода-вывода: • UNKNOWN — результат еще не известен;• OK — ввод-вывод успешно завершен;• PARTIAL — ввод-вывод завершен без ошибок, но не все данные обработаны. Обычно вызывающая сторона должна повторить операцию и обработать остаток в отдельном вводе-выводе;• WARNING — ввод-вывод завершен без ошибок, но при выполнении возникло предупреждение. Например, при обнаружении поврежденного буфера с включенным параметром zero_damaged_pages;• ERROR — ввод-вывод завершился с ошибкой. |
target_desc | text | Описание объекта, на который направлен ввод-вывод. |
f_sync | bool | Флаг, указывающий, выполняется ли ввод-вывод синхронно. |
f_localmem | bool | Флаг, указывающий, ссылается ли ввод-вывод на локальную память процесса. |
f_buffered | bool | Флаг, указывающий, является ли ввод-вывод буферизованным. |
Представление pg_aios доступно только для чтения.
По умолчанию представление pg_aios могут читать только суперпользователи или роли с привилегиями роли pg_read_all_stats.