PG安装完成后默认不会记录日志,必须修改对应的(${PGDATA}/postgresql.conf)配置才可以,这里只介绍常用的日志配置。

1.logging_collector = on/off ---- 是否将日志重定向至文件中,默认是off(该配置修改后,需要重启DB服务)

ps -ef | grep postgres
postgres 26167 1 1 09:55 ? 00:00:00 /usr/lib/postgresql/9.5/bin/postgres -D /var/lib/postgresql/9.5/main -c config_file=/etc/postgresql/9.5/main/postgresql.conf
postgres 26169 26167 0 09:55 ? 00:00:00 postgres: checkpointer process
postgres 26170 26167 0 09:55 ? 00:00:00 postgres: writer process
postgres 26171 26167 0 09:55 ? 00:00:00 postgres: wal writer process
postgres 26172 26167 0 09:55 ? 00:00:00 postgres: autovacuum launcher process
postgres 26173 26167 0 09:55 ? 00:00:00 postgres: stats collector proces

开启后

ps -ef | grep postgres
postgres 25943 1 0 09:48 ? 00:00:00 /usr/lib/postgresql/9.5/bin/postgres -D /var/lib/postgresql/9.5/main -c config_file=/etc/postgresql/9.5/main/postgresql.conf
postgres 25944 25943 0 09:48 ? 00:00:00 postgres: logger process
postgres 25946 25943 0 09:48 ? 00:00:00 postgres: checkpointer process
postgres 25947 25943 0 09:48 ? 00:00:00 postgres: writer process
postgres 25948 25943 0 09:48 ? 00:00:00 postgres: wal writer process
postgres 25949 25943 0 09:48 ? 00:00:00 postgres: autovacuum launcher process
postgres 25950 25943 0 09:48 ? 00:00:00 postgres: stats collector process

2.log_directory = 'pg_log' ---- 日志文件目录,默认是PGDATA的相对路径,即PGDATA的相对路径,即{PGDATA}/pg_log,也可以改为绝对路径

默认为${PGDATA}/pg_log,即集群目录下,但是日志文件可能会非常多,建议将日志重定向到其他目录或分区。

将此配置修改为/var/log/pg_log下,必须先创建此目录,并修改权限,如

[root@localhost ~]# mkdir -p /var/log/pg_log
[root@localhost ~]# chown postgres:postgres /var/log/pg_log/
[root@localhost ~]# chmod 700 /var/log/pg_log/

重启DB服务后,日志将重定向至/var/log/pg_log下

3.log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' ---- 日志文件命名形式,使用默认即可

4. log_rotation_age = 1d ---- 单个日志文件的生存期,默认1天,在日志文件大小没有达到log_rotation_size时,一天只生成一个日志文件

5. log_rotation_size = 10MB ---- 单个日志文件的大小,如果时间没有超过log_rotation_age,一个日志文件最大只能到10M,否则将新生成一个日志文件。

6.log_truncate_on_rotation = off ---- 当日志文件已存在时,该配置如果为off,新生成的日志将在文件尾部追加,如果为on,则会覆盖原来的日志。

7.log_lock_waits = off ---- 控制当一个会话等待时间超过deadlock_timeout而被锁时是否产生一个日志信息。在判断一个锁等待是否会影响性能时是有用的,缺省是off。

8.log_statement = 'none' # none, ddl, mod, all ---- 控制记录哪些SQL语句。none不记录,ddl记录所有数据定义命令,比如CREATE,ALTER,和DROP 语句。mod记录所有ddl语句,加上数据修改语句INSERT,UPDATE等,all记录所有执行的语句,将此配置设置为all可跟踪整个数据库执行的SQL语句。

9.log_duration = off ---- 记录每条SQL语句执行完成消耗的时间,将此配置设置为on,用于统计哪些SQL语句耗时较长。

10.log_min_duration_statement = -1 # -1 is disabled, 0 logs all statements and their durations, > 0 logs only statements running at least this number of milliseconds

-1表示不可用,0将记录所有SQL语句和它们的耗时,>0只记录那些耗时超过(或等于)这个值(ms)的SQL语句。个人更喜欢使用该配置来跟踪那些耗时较长,可能存在性能问题的SQL语句。虽然使用log_statement和log_duration也能够统计SQL语句及耗时,但是SQL语句和耗时统计结果可能相差很多行,或在不同的文件中,但是log_min_duration_statement会将SQL语句和耗时在同一行记录,更方便阅读。

11.log_connections = off ----是否记录连接日志

12.log_disconnections = off ---- 是否记录连接断开日志

13.log_line_prefix = '%m %p %u %d %r ' ---- 日志输出格式(%m,%p实际意义配置文件中有解释),可根据自己需要设置(能够记录时间,用户名称,数据库名称,客户端IP和端口,方便定位问题)

14.log_timezone = 'Asia/Shanghai' ---- 日志时区,最好和服务器设置同一个时区,方便问题定位

服务器时区设置

[root@localhost ~]# cp -rf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

转载于:https://www.cnblogs.com/zhangeamon/p/7590622.html

Postgresql 日志收集相关推荐

  1. postgresql 日志配置

    Postgresql日志收集 PG安装完成后默认不会记录日志,必须修改对应的(${PGDATA}/postgresql.conf)配置才可以,这里只介绍常用的日志配置. 1.logging_colle ...

  2. Kubernetes 日志收集的原理,看这一篇就够了

    准备 关于容器日志 Docker 的日志分为两类,一类是 Docker 引擎日志:另一类是容器日志.引擎日志一般都交给了系统日志,不同的操作系统会放在不同的位置. 本文主要介绍容器日志,容器日志可以理 ...

  3. log_pipe日志收集分析系统介绍

    一.简要介绍 log_pipe是一个高性能的日志收集分析系统,从13年11月第一版上线以来,已经在阿里内部有了广泛的使用,目前在日志最为繁忙的CDN节点内部已经部署超过20个节点,用于对CDN的访问日 ...

  4. 看不到日志_Kubernetes中常用的日志收集方案

    在kubernetes中对日志的处理方式叫做cluster-level-logging,即这个日志处理系统跟容器,Pod,Node的生命周期无关,也就是无论是容器挂了,Pod被删除了还是Node宕机了 ...

  5. asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程...

    最近在学习张善友老师的NanoFabric 框架的时了解到Exceptionless : https://exceptionless.com/ !因此学习了一下这个开源框架!下面对Exceptionl ...

  6. Nginx容器日志收集方案fluentd+elasticsearch+kilbana

    容器技术在发展到今天已经是相当的成熟,但容器不同于虚拟机,我们在使用容器的同时也有很多相关的技术问题需要解决,比如:容器性能监控,数据持久化,日志监控与分析等.我们不能像平时使用虚拟机一样来管理容器, ...

  7. 系统调用日志收集系统

    1,系统调用日志收集系统的意义. 系统调用是用户获取系统服务的唯一入口,因此对系统调用的安全调用直接关系到系统 的安全,假如有用户恶意不断地调用系统调用,将会导致系统负载增加,所以如果能收集到时谁 调 ...

  8. 基于Flume的美团日志收集系统(二)改进和优化

    在<基于Flume的美团日志收集系统(一)架构和设计>中,我们详述了基于Flume的美团日志收集系统的架构设计,以及为什么做这样的设计.在本节中,我们将会讲述在实际部署和使用过程中遇到的问 ...

  9. 借鉴开源框架自研日志收集系统

    踏浪无痕 岂安科技高级架构师 十余年数据研发经验,擅长数据处理领域工作,如爬虫.搜索引擎.大数据应用高并发等.担任过架构师,研发经理等岗位.曾主导开发过大型爬虫,搜索引擎及大数据广告DMP系统目前负责 ...

最新文章

  1. Windows自动启动程序的十大藏身之所(转载)
  2. Neural Tensor Network详细介绍
  3. 微服务架构实践之缓存
  4. python语言入门p-MicropPython的学习,如何从0到1?
  5. php 循环向select添加选项
  6. java 文件比较_java 四种写文件比较
  7. asp:DropDownList用法
  8. 5位随机数重复的概率 php_PHP产生不重复随机数的5个方法总结
  9. C#在dataGridView中遍历,寻找相同的数据并定位
  10. Java 并发框架Disruptor(七)
  11. javascript实用代码大全
  12. python项目描述怎么写_个人项目(python)
  13. makefile编写---:= ?= += =的区别
  14. mysql用 fifo 记录日志_Python学习第四十七天记录打call:mysqlclient操作MySQL关系型数据库...
  15. 顺序结构程序设计总结
  16. 统计机器学习导论第四章答案
  17. python的pyaudio教程入门_Python音频操作工具PyAudio上手教程详解
  18. STM32编程软件分享——MDK5安装包以及调试工具
  19. 5814:无根树(技巧:树的直径BFS)
  20. Excel中使用名称定义常数

热门文章

  1. python性能分析之line_profiler模块-耗时,效率 时间
  2. java中调用python
  3. Pytorch | BERT模型实现,提供转换脚本【横扫NLP】
  4. 计图(Jittor) 1.1版本:新增骨干网络、JIT功能升级、支持多卡训练
  5. MindSpore接口mindspore::api
  6. 单目和多目视觉统一标定
  7. H.265视频编码与技术全析(下)
  8. Laravel7中Redis队列的使用
  9. VS Code配置PHP XDebug
  10. 经纬度绘图_【知识科普】地形图图例汇总,测绘人识图绘图必备(含dwg版下载)...