Pgadmin

PGAdmin 4 - 伺服器狀態/查看日誌文件

  • November 1, 2016

我最近升級到 Postgresql 9.6 和 PgAdmin 4。

現在,PgAdmin 3 的一個方便的功能是“伺服器狀態”視窗,我曾經用它來查看日誌文件。

我在 PgAdmin 4 中找不到。如何在 PgAdmin 4 中查看伺服器日誌?還是有一個不錯的選擇?

我已按照此處的指南使用外部數據包裝器,因此我可以通過 SQL 訪問日誌文件。

首先,創建擴展:

create extension file_fdw;

接下來,設置 postgres.conf 以支持csv 日誌記錄。本質上,這些設置:

log_destination=‘csvlog’

logging_collector=‘on’

log_filename=‘postgresql.log’

還有以下內容,來自文件:

設置 log_filename 和 log_rotation_age 為您的日誌文件提供一致的、可預測的命名方案。這使您可以預測文件名,並知道單個日誌文件何時完成並準備好導入。

將 log_rotation_size 設置為 0 以禁用基於大小的日誌輪換,因為它使日誌文件名難以預測。

將 log_truncate_on_rotation 設置為 on,以便舊日誌數據不會與同一文件中的新日誌數據混合。

創建,伺服器和表,可以查詢日誌!

create server logserver FOREIGN DATA WRAPPER file_fdw;

CREATE FOREIGN TABLE postgres_log
(
 log_time timestamp(3) with time zone,
 user_name text,
 database_name text,
 process_id integer,
 connection_from text,
 session_id text,
 session_line_num bigint,
 command_tag text,
 session_start_time timestamp with time zone,
 virtual_transaction_id text,
 transaction_id bigint,
 error_severity text,
 sql_state_code text,
 message text,
 detail text,
 hint text,
 internal_query text,
 internal_query_pos integer,
 context text,
 query text,
 query_pos integer,
 location text,
 application_name text)
SERVER logserver OPTIONS (filename 'pg_log/postgresql.csv', format 'csv');

select message from postgres_log;

引用自:https://dba.stackexchange.com/questions/153904