PostgreSQL 日志参数解释 常用环境日志参数配置

1.常用日志参数

logging_collector = on/off
 是否将日志重定向至文件中,默认是off(该配置修改后,需要重启DB服务),启动之后查看进程ps -ef|grep postgres,会多一个logger进程。
 
log_directory = 'pg_log'
日志文件目录,默认是PGDATA的相对路径,即PGDATA的相对路径,即{PGDATA}/pg_log,也可以改为绝对路径,可以定义在其他目录或者分区,但是必须先创建此目录,并修改权限。
 
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
日志文件命名形式,使用默认即可
 
log_rotation_age = 1d 
单个日志文件的生存期,默认1天,在日志文件大小没有达到log_rotation_size时,一天只生成一个日志文件
 
log_rotation_size = 10MB 
单个日志文件的大小,如果时间没有超过log_rotation_age,一个日志文件最大只能到10M,否则将新生成一个日志文件。
 
log_truncate_on_rotation = off
当日志文件已存在时,该配置如果为off,新生成的日志将在文件尾部追加,如果为on,则会覆盖原来的日志。
 
log_ lock_waits = off 
控制当一个会话等待时间超过deadlock_timeout而被锁时是否产生一个日志信息。在判断一个锁等待是否会影响性能时是有用的,缺省是off。
 
log_statement = 'none' 
# none, ddl, mod, all ---- 控制记录哪些SQL语句。none不记录,ddl记录所有数据定义命令,比如CREATE,ALTER,和DROP 语句。mod记录所有ddl语句,加上数据修改语句INSERT,UPDATE等,all记录所有执行的语句,将此配置设置为all可跟踪整个数据库执行的SQL语句。
 
log_duration = off 
记录每条SQL语句执行完成消耗的时间,将此配置设置为on,用于统计哪些SQL语句耗时较长。
 
log_min_duration_statement = -1
 # -1示不可用,0将记录所有SQL语句和它们的耗时,>0只记录那些耗时超过(或等于)这个值(ms)的SQL语句。个人更喜欢使用该配置来跟踪那些耗时较长,可能存在性能问题的SQL语句。虽然使用 log_statement和log_duration也能够统计SQL语句及耗时,但是SQL语句和耗时统计结果可能相差很多行,或在不同的文件中,但是log_min_duration_statement会将SQL语句和耗时在同一行记录,更方便阅读。
 
log_connections = off
是否记录连接日志
 
log_disconnections = off
是否记录连接断开日志
 
log_line_prefix = '%m %p %u %d %r ' 
日志输出格式(%m,%p实际意义配置文件中有解释),可根据自己需要设置(能够记录时间,用户名称,数据库名称,客户端IP和端口,方便定位问题)
 
log_timezone = 'Asia/Shanghai' 
日志时区,最好和服务器设置同一个时区,方便问题定位
 
log_filename
设置日志文件名,需结合log_truncate_on_rotation = on使用.可根据自己的需要调整, 例如:
 
#最多保存12小时的日志,每小时一个文件
log_filename = 'postgresql-%I.log'

#最多保存24小时的日志,每小时一个文件
log_filename = 'postgresql-%H.log'

#最多保存一周的日志,每天一个文件
log_filename = 'postgresql-%w.log'

#最多保存一个月的日志,每天一个文件
log_filename = 'postgresql-%d.log'

#最多保存一年的日志,每天一个文件
log_filename = 'postgresql-%j.log'
 
 

2.常用配置

logging_collector = 'on'
log_destination = 'csvlog'
log_directory = 'pg_log'
log_min_duration_statement = '800'
log_filename = 'postgresql-%d_%H%M%S.log'
log_rotation_size = '1024MB'
log_truncate_on_rotation = 'on'
 
alter system修改日志参数
alter system set logging_collector = 'on';
alter system set log_destination = 'csvlog';
alter system set log_directory = 'pg_log';
alter system set log_min_duration_statement = '800';
alter system set log_filename = 'viid_log_%a.log';
alter system set log_rotation_size = '1024MB';
alter system set log_truncate_on_rotation = 'on';
 
#必须加上引号
log_filename = 'viid_log_%a.log'
 
 
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PostgreSQL的主从复制是一种常见的高可用性和数据备份解决方案。它可以确保在主节点故障时,从节点可以接管并继续提供服务。 要配置PostgreSQL的主从复制,需要进行以下步骤: 1. 确保主节点和从节点上都已安装了PostgreSQL。 2. 在主节点上修改postgresql.conf文件,启用WAL(Write-Ahead Logging)并配置适当的参数。找到并修改以下参数: ``` wal_level = replica max_wal_senders = 10 wal_keep_segments = 10 ``` 这些参数将确保主节点生成WAL日志,并允许从节点连接并接收这些日志。 3. 在主节点上修改pg_hba.conf文件,允许从节点连接。找到并添加以下行: ``` host replication <从节点用户名> <从节点IP地址>/32 md5 ``` `<从节点用户名>`是从节点连接时使用的用户名,`<从节点IP地址>`是从节点的IP地址。 4. 在主节点上重启PostgreSQL服务以使更改生效。 5. 在从节点上创建一个空的数据目录。 6. 在从节点上创建一个recovery.conf文件,指定主节点的连接信息和复制模式。将以下内容添加到recovery.conf文件中: ``` standby_mode = 'on' primary_conninfo = 'host=<主节点IP地址> port=5432 user=<从节点用户名> password=<从节点密码>' trigger_file = '/path/to/trigger/file' ``` `<主节点IP地址>`是主节点的IP地址,`<从节点用户名>`和`<从节点密码>`是用于连接主节点的凭据。 7. 启动从节点上的PostgreSQL服务。 完成上述步骤后,主节点和从节点之间的复制将开始运行。你可以通过在主节点上执行一些写操作,然后在从节点上查看数据是否同步来验证复制是否成功。 请注意,以上步骤仅适用于基本的主从复制配置。在实际部署中,你可能还需要考虑故障转移、监控、自动故障恢复等方面的配置

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值