使用CSV格式写日志
前提条件
- log_destination的值设置为csvlog。
- logging_collector的值设置为on。
csvlog定义
以“逗号分隔值” 即CSV(Comma Separated Value)的形式发出日志。
以下是简单的用来存储CSV形式日志输出的表定义:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | CREATE 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, PRIMARY KEY ("transaction_id", session_line_num) ); |
详细说明请参见表1。
字段名 |
字段含义 |
字段名 |
字段含义 |
---|---|---|---|
log_time |
毫秒级的时间戳 |
sql_state_code |
SQLSTATE代码 |
user_name |
用户名 |
message |
错误消息 |
database_name |
数据库名 |
detail |
详细错误消息 |
process_id |
进程ID |
hint |
提示 |
connection_from |
客户主机:端口号 |
internal_query |
内部查询(查询那些导致错误的信息,如果有的话) |
session_id |
会话ID |
internal_query_pos |
内部查询指针 |
session_line_num |
每个会话的行数 |
context |
环境 |
command_tag |
命令标签 |
query |
错误发生位置的字符统计 |
session_start_time |
会话开始时间 |
query_pos |
错误发生位置指针 |
virtual_transaction_id |
常规事务 |
location |
在GaussDB 200源代码中错误的位置(如果log_error_verbosity的值设为verbose ) |
transaction_id |
事务ID |
application_name |
应用名称 |
error_state_code |
ERRORSTATE代码 |
- |
- |
使用COPY FROM命令将日志文件导入这个表:
1 | COPY postgres_log FROM '/opt/data/pg_log/logfile.csv' WITH csv; |
说明:
此处的日志名“logfile.csv”要换成实际生成的日志的名称。
简化输入
简化输入到CSV日志文件,可以通过如下操作:
- 设置log_filename和log_rotation_age,为日志文件提供一个一致的、可预测的命名方案。通过日志文件名,预测一个独立的日志文件完成并进入准备导入状态的时间。
- 将log_rotation_size设为0来终止基于尺寸的日志回滚,因为基于尺寸的日志回滚让预测日志文件名变得非常的困难。
- 将log_truncate_on_rotation设为on以便区分在同一日志文件中旧的日志数据和新的日志数据。
- 表1包含了一个特定的主键,对防止意外导致导入两次相同的信息起到保护作用。COPY命令要求所有的数据在同一时间进行导入,所以在COPY过程中出现的所有错误都会导致整个导入失败。多次对同一日志文件进行导入会发生主键冲突,导致导入失败,请等到日志文件写入完成后再执行导入。设置主键也会限制日志没有写完整时部分日志的导入。
查看更多:华为GaussDB 200 错误报告和日志
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。