6 错误操作和日志 ERROR REPORTING AND LOGGING
6.1 日志写到哪里 Where to Log
6.1.1 log_destination
字符串
默认: log_destination = 'stderr' , stderr, csvlog, syslog, and eventlog四选一
6.1.2 log_directory
字符串
默认: log_directory = 'log'
决定存放数据库运行日志文件的目录。可以是绝对路径,也可是相对路径(相对于数据库文件所在的路径)。
6.1.3 log_filename
字符串
默认: log_filename = 'postgresql-%a.log'
数据库运行日志文件的名称。
%Y、%m、%d、%H、%M和%S,分别表示年、月、日、小时、分和秒。
没有指定时间信息,系统会自动在log_filename值的末尾加上文件创建时间戳作为文件名。
6.1.4 log_truncate_on_rotation
布尔值
默认: log_truncate_on_rotation = on
系统在创建一个新的数据库运行日志文件时,如果发现存在一个同名的文件,当log_truncate_on_rotation的值是on时,系统覆盖这个同名文件。
当log_truncate_on_rotation的值是off时,系统将重用这个同名文件,在它的末尾添加新的日志信息。
要注意的是,只有在log_rotation_age非零时,系统才创建新的日志文件的情况下,才会覆盖同名的日志文件。
因为数据库重新启动或者因为参数log_rotation_size起作用而创建新的日志文件,不会覆盖同名的日志文件,而是在同名的日志文件末尾添加新的日志信息。
6.1.5 log_rotation_age
数字型
默认: log_rotation_age = 1d ,单位是分钟。
日志轮询时间
为0不是禁用该功能。
6.1.6 log_rotation_size
数字型
默认: log_rotation_size = 0 , 单位是KB。
日志轮询大小,当文件大小超过该值时进行切换。
如果一个日志文件写入的数据量超过log_rotation_size的值,数据库将创建一个新的日志文件。
为0表示禁用该功能。
6.1.7 logging_collector
布尔值
默认: logging_collector = on
是否将使捕获的stderr和csvlog写入日志文件
重启数据库生效
6.1.8 logfilemode
布尔值
默认: log_file_mode = 0600
创建日志文件是的权限
# These are relevant when logging to syslog:
syslog_facility = 'LOCAL0'
syslog_ident = 'postgres'
syslog_sequence_numbers = on
syslog_split_messages = on
# This is only relevant when logging to eventlog (win32):
# (change requires restart)
event_source = 'PostgreSQL'
6.2 何时写日志 When to Log
6.2.1 client_min_messages
字符型
默认: client_min_messages = notice
控制发送给客户端的消息级别。
合法的取值是debug5、debug4、debug3、debug2、debug1、log、notice、warning、error、fatal和panic,每个级别都包含排在它后面的所有级别中的信息。级别越低,发送给客户端的消息就越少。
6.2.2 log_min_messages
字符型
默认: log_min_messages = warning
控制写到数据库日志文件中的消息的级别。
合法的取值同client_min_messages
6.2.3 log_min_error_statement
字符型
默认: log_min_error_statement = error
控制日志中是否记录导致数据库出现错误的SQL语句。
6.2.4 log_min_duration_statement
字符型
默认: log_min_duration_statement = -1
只log执行时间大于设定值的语句,类似与慢查询
0表示log所有语句;-1表示不log任何语句。
6.3 What to Log
6.3.1 log_error_verbosity
字符型
默认: log_error_verbosity = default , terse、default、verbose三选一
控制每条日志信息的详细程度。
6.3.2 log_duration
布尔值
默认: log_duration = off
控制是否记录每个完成的SQL语句的执行时间。
对于使用扩展协议与数据库通信的客户端,会记载Parse、Bind和Execute的执行时间。
6.3.3 log_hostname
布尔值
默认: log_hostname = off
控制是否及记录客户端的主机名。
如果设为on,可能会影响数据库的性能,因为解析主机名可能需要一定的时间。
6.3.4 log_checkpoints
布尔值
默认: log_checkpoints = off
控制是否及记录检查点操作信息。
必须重启数据库才能生效。
6.3.5 log_connections
布尔值
默认: log_connections = off
控制是否及记录客户端连接请求信息。
必须重启数据库才能生效。
6.3.6 log_disconnections
布尔值
默认: log_disconnections = off
控制是否记录客户端结束连接信息。
6.3.7 log_line_prefix
字符型
默认: log_line_prefix = '%m [%p] '
控制每条日志信息的前缀格式。它的格式类似c语言中printf函数的format字符串。
转义序列
%a = APP敏
%u = 用户名
%d = 数据库名
%r = 客户端机器名或IP地址,还有客户端端口
%h = 客户端机器名或IP地址
%p = 进程ID
%t = 带微秒的时间
%m = 不带微秒的时间
%i = 命令标签: 会话当前执行的命令类型
%e = SQL state
%c = 会话ID
%l = 每个会话的日志编号,从1开始
%s = 进程启动时间
%v = 虚拟事务ID (backendID/localXID)
%x = 事务ID (0表示没有分配事务ID)
%q = 不产生任何输出。如果当前进程是backend进程,忽略这个转义序列,继续处理后面的转义序列。如果当前进程不是backend进程,忽略这个转义序列和它后面的所有转义序列。
%% '%' 字符%
6.3.8 log_lock_waits
布尔值
默认: log_lock_waits = off
如果一个会话等待某个类型的锁的时间超过deadlock_timeout的值,该参数决定是否在数据库日志中记录这个信息。
6.3.9 log_statement
字符型
默认: log_statement = 'none' 有效的取值是none、ddl、mod和all
控制记录哪种SQL语句的执行信息。
ddl包括所有数据定义语句,如CREATE、ALTER和DROP语句。
mod包括所有ddl语句和更新数据的语句,例如INSERT、UPDATE、DELETE、TRUNCATE、 COPY FROM、PREPARE和 EXECUTE。
All包括所有的语句。
6.3.10 log_temp_files
数字型
默认: log_temp_files = -1 单位是KB。
控制是否记录临时文件的删除信息。
0表示记录所有临时文件的删除信息。
正整数表示只记录大小比log_temp_files的值大的临时文件的删除信息。
-1表示不记录任何临时文件删除信息。
6.3.11 log_timezone
字符串
默认: log_timezone = 'PRC' ,使用操作系统的时区。
设置数据库日志文件在写日志文件时使用的时区。
debug_print_parse = off
debug_print_rewritten = off
debug_print_plan = off
debug_pretty_print = on
log_replication_commands = off
6.4 Process Title
cluster_name = '' added to process titles if nonempty。 (change requires restart)
update_process_title = on
分享到:
相关推荐
如果以上步骤无法解决问题,可以参考`install_readme.txt`文件,该文件通常包含了安装说明和可能的解决策略。如果问题依然存在,建议查阅PostgreSQL社区论坛或官方文档寻求帮助。 总之,安装`postgresql-13.2-1-...
13. **监控与日志**:定期检查PostgreSQL的日志文件,了解系统性能和错误信息,使用工具如pg_stat_activity监控数据库活动。 14. **扩展功能**:PostgreSQL 9.2.4支持多种扩展,如全文搜索、GIS支持等,可以根据...
在正则表达式的应用场景中,可能用于从DB2的日志、查询结果或配置文件中提取特定信息。 2. **Greenplum**:Greenplum是Pivotal的一款大规模并行处理(MPP)数据库,专为数据分析设计。它基于PostgreSQL,但扩展了...
通过分析后台 log 日志文件,可以快速定位错误和解决问题。 Postgresql-XL 是一个功能强大且可靠的开源数据库集群。通过了解 Postgresql-XL 的使用总结,可以更好地使用和管理数据库集群,提高数据库集群的性能和可...
- 配置文件位于`/etc/postgresql/{version}/main/postgresql.conf`,其中{version}是你的PostgreSQL版本号。 - 默认情况下,PostgreSQL服务会自动启动,但也可以手动通过`systemctl start postgresql`启动。 4. *...
9. **错误处理和日志记录**:PostgreSQL 12 提供了更丰富的错误信息和改进的日志系统,有助于开发者快速定位和解决问题。 在安装过程中,"postgresql-12.1-1-windows-x64.exe" 文件是主要的安装程序,它会引导用户...
1. **服务器日志**:这是最基础的调试手段,通过调整`log_min_messages`配置参数,可以控制服务器记录的日志级别,包括错误、警告、信息等。此外,`log_line_prefix`可以定制每条日志前的标识信息,帮助追踪问题来源...
PostgreSQL是一种开源的关系型数据库管理系统,以其强大的事务处理能力和丰富的SQL支持而闻名,因此,`pg-sink`为需要将日志或流式数据持久化存储在PostgreSQL的企业提供了理想的解决方案。 `flume-pg-sink`基于...
1. 数据源配置:SpringBoot可以通过配置文件(如application.properties或application.yml)设定连接PostgreSQL的参数,如URL、用户名、密码等。 2. JPA(Java Persistence API):SpringBoot支持JPA,可以与ORM框架...
- 设置恢复配置文件(`recovery.conf`),指定起始恢复的时间戳或XLOG位置。 - 监控和管理备份及WAL日志的生命周期,确保有足够的空间和历史记录。 3. **PITR的实现**: - 使用`pg_start_backup`和`pg_stop_...
同时,使用版本控制系统(如Git)管理配置文件,便于跟踪变化和回滚错误配置。在read.docx文档中,可能会包含测试计划、测试用例、预期结果等详细信息,帮助团队执行和评估集群测试的效果。 总的来说,集群测试打包...
PostgreSQL 是一款强大的开源关系型数据库管理系统,广泛应用于各种规模的企业和项目中。在安装和部署 PostgreSQL 时,会遇到一些...在遇到问题时,及时检查配置文件和日志,以及查阅官方文档,通常都能找到解决方案。
2. **配置文件**:这些文件定义了监控的参数和阈值,以及如何报告异常。 3. **图形界面**:如果包含的话,可能会有一个Web界面用于可视化数据,便于快速查看和分析。 4. **文档**:解释如何安装、配置和使用监控...
配置文件 `postgresql.conf` 可以调整性能参数,如缓存大小、并行进程数等。此外,`pg_hba.conf` 文件用于设置访问控制,确保只有授权的用户可以连接到数据库。 三、SQL 语言与查询 SQL 是 PostgreSQL 的主要操作...
- 配置文件:讲解`postgresql.conf`中主要参数的意义及其调整方法。 - 数据库初始化:如何创建并设置数据库集群。 - 服务管理:启动、停止、监控PostgreSQL服务的方法。 2. **SQL基础** - SQL语句:学习SELECT...
3. **conf目录**:包含配置文件,如`application.properties`,用户可以在这里修改Nacos地址、数据库连接信息等配置。 4. **lib目录**:存放项目依赖的JAR包,确保服务正常运行。 五、运行与部署 1. **解压部署**:...
Syslogd 的行为可以通过/etc/syslog.conf 配置文件进行配置。 三、Syslog-ng Syslog-ng 是传统 syslog daemon 的增强移植实现,它提供了很多与标准 syslog daemon 相同的特性,同时还包括一些附加特性,如基于内容...
- 当遇到启动失败时,应检查日志文件以获取更多细节,并确保所有依赖服务正常运行。 以上是对 PostgreSQL 7.2 管理员指南的关键知识点的总结。通过深入学习这些内容,可以更好地管理和维护 PostgreSQL 数据库系统...