Pgadmin
PGAdmin 4 - 伺服器狀態/查看日誌文件
我最近升級到 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;