Postgresql开启SQL执行语句收集过程

 更新时间:2024年10月14日 10:05:41   作者:小毛驴850  
本文介绍如何修改PostgreSQL的配置文件来启用SQL执行语句的日志记录,包括打开配置文件、修改日志相关设置以及查看日志文件的方法,关键步骤包括删除注释符号、设定日志存储路径和文件名、选择记录的SQL语句类型,此操作有助于数据库管理和问题调试

修改配置文件

1.打开Postgresql配置文件,如:C:\Program Files\PostgreSQL\14\data\postgresql.conf
2.修改如下,如果字段被#注释,则去掉#

log_directory = 'log'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_statement = 'all'

log_directory = 'log'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # log file name pattern,
log_statement = 'all'

log_statement:log_statement参数控制记录哪些SQL语句。有效值是none(off),ddl,mod和all(所有语句)。
ddl记录所有数据定义语句,例如CREATE,ALTER和DROP语句。
mod记录所有ddl语句,以及数据修改语句,如INSERT,UPDATE,DELETE,TRUNCATE和COPY FROM。

查看日志

进入日志存放目录:PostgreSQL安装目录\data\log,如:C:\Program Files\PostgreSQL\14\data\log,打开目录下的日志文件查看即可

--查看配置文件路径

SHOW config_file;
ALTER SYSTEM SET log_statement = 'all';

---查询系统配置变量

SELECT * FROM pg_settings;
SHOW log_statement;
SHOW log_filename;
SHOW log_directory;
SELECT name, setting, unit, short_desc, vartype
FROM pg_settings
WHERE name = 'log_statement';
#是否开启日志收集(包括系统日志、错误日志等)
logging_collector = on
#日志文件目录。相对于$PGDATA的子目录
log_directory = 'log' 
#日志文件名
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
#日志文件权限。默认0600。如果希望服务器上其他用户也能读取则0644(存在泄露信息风险)
log_file_mode = 0600
#按日志文件时长切换日志。默认1d表示24小时。0为不按时长切换
log_rotation_age = 1d
#按日志文件大小切换日志。默认10MB。 0为不按大小切换
log_rotation_size = 0
#日志内容项定义
log_line_prefix = '%m [%p] %a %u %d %r '
#------- 以下与记录SQL语句密切相关 -------
#记录SQL范围,类型可为:none, ddl, mod, all
log_statement = 'mod'
#记录语句执行时长(单位毫秒)。超过本阈值才对语句执行时长进行记录
# -1 is disabled, 
# 0 logs all statements and their durations
# > 0 logs only statements running at least this number of milliseconds
log_min_duration_statement = 0
#是否记录连接创建(例如登录)
log_connections = on
#是否记录连接端口(例如登出)
log_connections = on
#是否记录获取锁超时。当会话获取lock时长大于等于deadlock_timeout配置则记录
log_lock_waits = on

到此这篇关于Postgresql开启SQL执行语句收集的文章就介绍到这了,更多相关Postgresql开启SQL执行语句内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 解决postgresql无法远程访问的情况

    解决postgresql无法远程访问的情况

    这篇文章主要介绍了解决postgresql无法远程访问的情况,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • phpPgAdmin 常见错误和问题的解决办法

    phpPgAdmin 常见错误和问题的解决办法

    这篇文章主要介绍了phpPgAdmin 常见错误和问题的解决办法,如安装错误、登陆错误、转储功能、其它错误和问题等,需要的朋友可以参考下
    2014-03-03
  • PostgreSQL中数据批量导入导出的错误处理

    PostgreSQL中数据批量导入导出的错误处理

    在 PostgreSQL 中进行数据的批量导入导出是常见的操作,但有时可能会遇到各种错误,下面将详细探讨可能出现的错误类型、原因及相应的解决方案,并提供具体的示例来帮助您更好地理解和处理这些问题,需要的朋友可以参考下
    2024-07-07
  • 查看PostgreSQL进程父子关系的两种方法

    查看PostgreSQL进程父子关系的两种方法

    在 PostgreSQL 数据库运维中,理解主进程与各子进程之间的父子关系对于故障排查和性能分析至关重要,下面详细介绍两种常用的方法及其应用场景,需要的朋友可以参考下
    2026-03-03
  • PostgreSQL打印实时查询语句的三种方法

    PostgreSQL打印实时查询语句的三种方法

    这篇文章主要介绍了三种PostgreSQL实时打印查询的方法:1.通过日志配置记录所有SQL;2.利用pg_stat_activity监控活跃查询;3.使用pg_stat_statements分析历史性能,并提醒生产环境应避免全量记录以减少性能损耗,需要的朋友可以参考下
    2025-09-09
  • PostgreSQL修改用户密码的多种方式

    PostgreSQL修改用户密码的多种方式

    在使用PostgreSQL数据库时,忘记数据库密码可能会影响到正常的开发和维护工作,本文将详细给大家介绍了PostgreSQL修改用户密码的多种方式,并有相关的代码示例供大家参考,需要的朋友可以参考下
    2025-05-05
  • PostgreSQL创建自增序列、查询序列及使用序列代码示例

    PostgreSQL创建自增序列、查询序列及使用序列代码示例

    数据库中主键的生成一般是通过序列来生成,下面这篇文章主要给大家介绍了关于PostgreSQL创建自增序列、查询序列及使用序列的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • PostgreSQL 数据误删止损操作指南

    PostgreSQL 数据误删止损操作指南

    本文主要介绍了PostgreSQL数据误删恢复的技术指南,详细阐述了误删恢复的核心原理、紧急止损的黄金三步、三种恢复方案(使用pg_dirtyread插件、底层十六进制解析、基于WAL日志的时间点恢复),并提供了相应的操作步骤和注意事项,感兴趣的朋友一起看看吧
    2026-04-04
  • Postgresql 系统表作用解释

    Postgresql 系统表作用解释

    这篇文章主要介绍了Postgresql 系统表作用解释,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-06-06
  • 实操解决Navicat连接postgresql时出现‘datlastsysoid does not exist‘报错的问题

    实操解决Navicat连接postgresql时出现‘datlastsysoid does not&

    这篇文章主要介绍了实操解决Navicat连接postgresql时出现‘datlastsysoid does not exist‘报错的问题,文中通过代码示例讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-12-12

最新评论