怎么在PostgreSQL中打印日志信息的源文件

  介绍

今天就跟大家聊聊有关怎么在PostgreSQL中打印日志信息的源文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

postgres。会议中,日志信息冗余级别为“默认(默认)“,简洁:表示更加简单的日志信息,详细:表示更加冗余的日志信息(即:附带“文件名和行数)

# log_error_verbosity =, default  #,简洁,,默认情况下,,趁机verbose 消息

修改为下面的“verbose"即可。

 log_error_verbosity =, verbose  #,简洁,,默认情况下,,趁机verbose 消息

修改后,重启实例后生效,结果如下,可以看到日志信息附带了“文件名“和“行数“信息。

 2020 - 03 - 02, 09:34:41.800  CST [9019],日志:,00000:,listening 提醒IPv6  address “:: 1“, port  7433
  2020 - 03 - 02,09:34:41.800  CST [9019],地点:,StreamServerPort, pqcomm.c: 593
  2020 - 03 - 02,09:34:41.800  CST [9019],日志:,00000:,listening 提醒IPv4  address “127.0.0.1", port  7433
  2020 - 03 - 02,09:34:41.800  CST [9019],地点:,StreamServerPort, pqcomm.c: 593
  2020 - 03 - 02,09:34:41.801  CST [9019],日志:,00000:,listening 提醒Unix  socket “/tmp/.s.PGSQL.7433"
  2020 - 03 - 02,09:34:41.801  CST [9019],地点:,StreamServerPort, pqcomm.c: 587
  2020 - 03 - 02,09:34:41.814  CST [9020],日志:,00000:,database  system  was  shut  down  at  2020 - 03 - 02, 09:34:24 春秋国旅
  2020 - 03 - 02,09:34:41.814  CST [9020],地点:,StartupXLOG, xlog.c: 6291
  2020 - 03 - 02,09:34:41.819  CST [9019],日志:,00000:,database  system  is  ready 用accept 连接
  2020 - 03 - 02,09:34:41.819  CST [9019],地点:,“收割者”,邮政局长。c: 2938 

备注:以上详细的方法应该只能在调试模式下生效,因为释放下根本就没有文件名和行数相关的信息。

<>强补充:PostgreSQL数据库之运行日志

PostgreSQL有三种日志:

1, pg_wal(细胞膜日志,即重做日志)内容一般不具有可读性强制开启

2, pg_log(数据库运行日志)内容可读默认关闭的,需要设置参数启动

3, pg_clog(事务提交日志,记录的是事务的元数据)内容一般不具有可读性强制开启

PostgreSQL运行日志可以实现日志输出记录,默认是没有启动记录。这个日志一般是记录服务器与DB的状态,比如各种错误信息,定位慢查询SQL,数据库的启动关闭信息,发生过检查站于频繁等的告警信息,诸如此类。

PostgreSQL常用日志参数

项目默认值设定值说明logging_collectoroffon日志收集功能是否启动log_destinationstderrcsvlog日志收集存储方式log_directorylogpg_log日志收集存储路径log_filenamepostgresql - Y % - % - % d.logpostgresql - Y % - % m - H % d_ % % m % S.log日志文件命名格式log_timezoneRPCRPC日志时区log_rotation_age14407d单个日志文件生存周期,默认1天log_rotation_size10240100MB单个日志文件大小log_truncate_on_retationoffofflog_rotation_age触发切换下一个日志,存在则附加,否则将覆盖log_min_messageswarningwarning日志输出级别log_min_duration_statement - 13000 - 1表示不可用,0将记录所有SQL语句和它们的耗时,在0只记录那些耗时超过(或等于)这个值(ms)的SQL语句.log_checkpointsoffon记录检查点信息log_connectionsoffon是否记录连接日志log_disconnectionsoffon是否记录连接断开日志log_durationoffoff记录每条SQL语句执行完成消耗的时间log_line_prefix % m e [% p] %: % t [% p]: [% l - 1]用户=% u, DB=% d,远程=% r程序=%日志输出格式;log_lock_waitsoffon控制当一个会话等待时间超过deadlock_timeout而被锁时是否产生一个日志信息。可判断是否存在锁等待问题log_statementnoneddl控制记录哪些SQL语句。可选值:没有=祝辞;不记录,ddl=在创建表之类的,mod=祝辞DML语句,所有=祝辞记录所有

log_line_prefix参数说明:

% a =, application  name 应用名称=% u  user  name 用户名称=% d  database  name 数据库名称=% r  remote  host 以及port 远程主机与端口=% h  remote  host 远程主机=% p  process  ID 进程号=% t  timestamp  without  milliseconds 时间戳格式=% m  timestamp  with  millisecond 时间戳格式=% n  timestamp  with  milliseconds  (as  a  Unix 时代),时间戳格式   %小姐:=,command  tag 命令标签=% e  SQL  state  SQL语句状态

怎么在PostgreSQL中打印日志信息的源文件