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

PostgreSQL配置文件--日志和错误的更多相关文章

  1. postgresql 配置文件优化

    postgresql 配置文件优化 配置文件 默认的配置配置文件是保存在/etc/postgresql/VERSION/main目录下的postgresql.conf文件 如果想查看参数修改是否生效, ...

  2. PHP的日志记录-错误与异常记录

    PHP的日志记录-错误与异常记录 提到 Nginx + PHP 服务的错误日志,我们通常能想到的有 Nginx 的 access 日志.error 日志以及 PHP 的 error 日志.虽然看起来是 ...

  3. Ubuntu下postgresql安装及常见错误处理

    依赖工具库 注意: 默认用户名是postgres 以下命令是Ubuntu操作系统中的命令 make GCC Zlib 安装命令:sudo apt-get install zlib1g-dev 注意有些 ...

  4. PostgreSQL的日志文件介绍

    PostgreSQL的日志文件 pg_log:数据库活动日志(也就是数据库的操作日志): pg_xlog:事务日志: pg_clog:事务状态日志(pg_clog是pg_xlog的辅助日志). 现在主 ...

  5. mysql基础之日志管理(查询日志、慢查询日志、错误日志、二进制日志、中继日志、事务日志)

    日志文件记录了MySQL数据库的各种类型的活动,MySQL数据库中常见的日志文件有 查询日志,慢查询日志,错误日志,二进制日志,中继日志 ,事务日志. 修改配置或者想要使配置永久生效需将内容写入配置文 ...

  6. Ibatis XML 配置文件注释引起错误及解决方案

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp35 Ibatis XML 配置文件注释引起错误及解决方案 最近在使用Iba ...

  7. LINUX日志的错误等级

    LINUX日志的错误等级 - CSDN博客 https://blog.csdn.net/solmyr_biti/article/details/50634533讯息等级 系统将讯息分为七个主要的等级, ...

  8. Asp.net Core 系列之--4.事务、日志及错误处理

    ChuanGoing 2019-11-17 这篇原本时想把事务处理.日志处理.错误处理.授权于鉴权一并介绍完的,授权和鉴权我想结合自定义权限来介绍,全部放到这里篇幅可能太长,因此权限部分将会在下篇来介 ...

  9. 过滤PostgreSQL配置文件中被注释的部分

    以下正则可以过滤掉PostgreSQL配置文件被注释的部分,包括'#'前带空格的部分,但参数前带空格的部分不会过滤掉 postgres@linux-ij7j:/opt/pg8122/data> ...

随机推荐

  1. opencv python实用操作

    画多边形 fillConvexPloy与fillConvexPloy的区别 fillConvexPloy 用来画单个凸多边形: 如果点集的连线不是凹多边形,则会找一个最小的凸多边形把该凹多边形包住画出 ...

  2. SGU 289. Challenging Tic-Tac-Toe

    注意一个问题就是不合法状态的判定.一个是点数不对,一个是X赢了,但是0接着下了一个子,一个是0赢了,但X也接着下了子,判断一下就行了. 做法是直接搜索,然后调参数...比较难懂的说. #include ...

  3. LoadRunner 执行单句SQL语句

    LoadRunner 执行单句SQL语句 Action() { int NumRows=0; int i=1; //建立数据库连接 lr_db_connect("StepName=Datab ...

  4. Centos7下安装破解confluence6.3

    confluence是一个专业的企业知识管理与协同软件,可以用于构建企业wiki.通过它可以实现团队成员之间的协作和知识共享.现在大多数公司都会部署一套confluence与jira的结合,用作内部w ...

  5. Maven 管理的WEB项目发布到Tomcat上

    1.需要Tomcat服务器 这里可以使用已下载好的Tomcat也可以使用Maven来自动引入Tomcat插件. 通过Maven引入Tomcat服务器 在项目的pom.xml文件中project 标签中 ...

  6. shopnc 店铺二级分类添加商品

    $class_2 = $goods_class[$gc_id]['gc_parent_id']; $class_1 = $goods_class[$class_2]['gc_parent_id']; ...

  7. React Native 0.56.1初始化项目运行出现错误(Module `AccessibilityInfo` does not exist in the Haste module map)

    当使用react-native init myApp初始化项目时,出现以下错误 出现以上错误的原因是因为0.56.1版本初始化项目就有问题,请见 https://github.com/facebook ...

  8. PAT L3-002. 堆栈

    树状数组,二分. 一堆数字,可以删除栈顶,压入数字,求中位数,可以线段树,也可以树状数组上二分. #include<map> #include<set> #include< ...

  9. 从Linux下载文件到Windows没有换行问题

    这是一个小问题,一般用txt打开文件才会遇到,word打开也是正常(估计其他编程软件打开也正常). 顺便提一下pscp从Linux上下载文件到Windows. C:\Users\xuefei>p ...

  10. Visual Studio 2017创建XAML文件

    Visual Studio 2017创建XAML文件   在Visual Stuido 2015中,在已经创建好的项目中添加XAML文件,只要右击项目,单击“添加”|“新建项”命令,然后从“添加新项” ...