PG的日志系统比较完善,除去系统启动时指定的日志,wal日志等外,下面主要介绍另一个详细的输出日志:csv log. 涉及到的参数文件:$PGDATA/postgresql.conf
涉及的主要参数:

  1. log_destination = 'csvlog'
  2. logging_collector = on
  3. log_directory = '/home/postgres/pg_log'
  4. log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'

1.说明
要开启csv日志,需要设置logging_collector=on,否则输不出来。设置完了后需要 重启DB。
log_destination的默认参数是stderr,不修改的话只输出标准错误信息
log_directory是输出日志的路径
log_filename是输出日志的名称,采用默认.
还有其他参数具体可参考postgresql.conf中的where to log 部分。

2.查看:

  1. [postgres@localhost pg_log]$ ll /home/postgres/pg_log/
  2. total 4
  3. -rw-------. 1 postgres postgres 2476 Jun 15 15:40 postgresql-2012-06-15_152431.csv
  4. -rw-------. 1 postgres postgres 0 Jun 15 15:24 postgresql-2012-06-15_152431.log
  5. [postgres@localhost pg_log]$ more postgresql-2012-06-15_152431.csv
  6. 2012-06-15 15:24:31.258 CST,,,1882,,4fdae32f.75a,1,,2012-06-15 15:24:31 CST,,0,LOG,00000,"database system was shut down at 2012-06-1
  7. 5 15:24:19 CST",,,,,,,,,""
  8. 2012-06-15 15:24:31.259 CST,,,1882,,4fdae32f.75a,2,,2012-06-15 15:24:31 CST,,0,LOG,00000,"could not remove cache file ""base/16384/p
  9. g_internal.init"": Not a directory",,,,,,,,,""
  10. 2012-06-15 15:24:31.282 CST,,,1885,,4fdae32f.75d,1,,2012-06-15 15:24:31 CST,,0,LOG,00000,"autovacuum launcher started",,,,,,,,,""
  11. 2012-06-15 15:24:31.306 CST,,,1880,,4fdae32e.758,1,,2012-06-15 15:24:30 CST,,0,LOG,00000,"database system is ready to accept connect
  12. ions",,,,,,,,,""
  13. .....

3.日志入库
也就是将文本文件导入到数据库中,采用copy方式比较简单。建表:

  1. CREATE TABLE pg_log
  2. (
  3. log_time timestamp(3) with time zone,
  4. user_name text,
  5. database_name text,
  6. process_id integer,
  7. connection_from text,
  8. session_id text,
  9. session_line_num bigint,
  10. command_tag text,
  11. session_start_time timestamp with time zone,
  12. virtual_transaction_id text,
  13. transaction_id bigint,
  14. error_severity text,
  15. sql_state_code text,
  16. message text,
  17. detail text,
  18. hint text,
  19. internal_query text,
  20. internal_query_pos integer,
  21. context text,
  22. query text,
  23. query_pos integer,
  24. location text,
  25. application_name text,
  26. PRIMARY KEY (session_id, session_line_num)
  27. );
  28. NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "pg_log_pkey" for table "pg_log"
  29. CREATE TABLE;

copy

  1. copy pg_log from '/home/postgres/pg_log/postgresql-2012-06-15_152431.csv' with csv;
  2. COPY 4

4.日志的关闭
把开启日志的过程做反向操作,设置相关值off即可

5.其他
该日志信息可以结合启动时的输出日志来查看系统的一个历史运行情况,是排查系统err有极方便的工具

Postgresql的csv日志设置的更多相关文章

  1. [转帖]Postgresql的csv日志设置

    Postgresql的csv日志设置 2012年06月16日 09:27:00 weixin_34406796 阅读数 24   原文链接:https://my.oschina.net/Kenyon/ ...

  2. PostgreSQL Replication之第二章 理解PostgreSQL的事务日志(5)

    2.5 XLOG的内部结构 我们将使用事务贯穿本书,并让您在技术层面上更深地洞察事情是如果工作的,我们已经增加了这部分专门处理XLOG的内部工作机制.我们会尽量避免前往下降到C级,因为这将超出本书的范 ...

  3. PostgreSQL Replication之第二章 理解PostgreSQL的事务日志(1)

    在前面的章节中,我们已经理解了各种复制概念.这不仅仅是一个为了接下来将要介绍的东西而增强您的意识的理论概述,还将为您介绍大体的主题. 在本章,我们将更加接近实际的解决方案,并了解PostgreSQL内 ...

  4. [转帖]postgres csv日志和查看用户权限

    postgres csv日志和查看用户权限 最近在使用postgres 时遇到的2个问题,顺便记录一下查到的比较好的资料. 怀疑postgres在执行SQL时报错,程序日志中有无明确异常信息.通过查看 ...

  5. postgres csv日志和查看用户权限

    最近在使用postgres 时遇到的2个问题,顺便记录一下查到的比较好的资料. 怀疑postgres在执行SQL时报错,程序日志中有无明确异常信息.通过查看csv日志来确定是否SQL真的是执行时报错. ...

  6. tomcat7 日志设置为log4j

    tomcat的日志设置用log4j的官方文档:http://tomcat.apache.org/tomcat-7.0-doc/logging.html 1. 下载tomcat-juli.jar, to ...

  7. LR中日志设置和日志函数

    LR中日志参数的设置与使用 1.Run-Time Setting日志参数的设置 在loadrunner的vuser菜单下的Run-Time Setting的General的LOG选项中可以对在执行脚本 ...

  8. Jmeter 日志设置---如何设置java协议中被测jar的日志?

    先转载一下Jmeter的日志设置: Jmeter运行出现问题可以通过调整jmeter的日志级别定位问题,但运行测试时建议关闭jmeter日志,jmeter打印日志耗费系统性能. Jmeter日志默认存 ...

  9. 【kafka学习之五】kafka运维:kafka操作日志设置和主题删除

    一.操作日志 首先附上kafka 操作日志配置文件:log4j.properties 根据相应的需要设置日志. #日志级别覆盖规则 优先级:ALL < DEBUG < INFO <W ...

  10. 系统运维|IIS的日志设置

    摘要: 1.服务器告警,磁盘资源不足 2.检查发现是IIS日志没有清理并且设置有误.在E盘占用了200G的空间 3.原则上IIS日志不能放在C盘,避免C盘写满了导致操作系统异常 4.附上IIS日志按天 ...

随机推荐

  1. 一文理解什么是DevOps,通俗易懂白话文

    一文理解什么是DevOps,通俗易懂白话文 devops是什么❝DevOps维基百科定义 DevOps(Development和Operations的组合词)是一种重视"软件开发人员(Dev ...

  2. 过debugger的几种方法+案例

    受益匪浅 https://mp.weixin.qq.com/s/559so0RheeiQdA670J23yghttps://blog.csdn.net/weixin_43834227/article/ ...

  3. element-ui中table组件的表格嵌套Select,table中使用select

    在table组件中,有一个<template slot-scope="scope"></template>,这个模板有一个slot-scope属性,这个属性 ...

  4. HMS Core 3D流体仿真技术,打造移动端PC级流体动效

    移动设备硬件的高速发展,让游戏行业发生翻天覆地的变化,许多酷炫的游戏效果不再局限于电脑端,玩家在移动端就能享受到场景更逼真.画质更清晰.体验更流畅的游戏服务.但由于移动设备算力不足,为了实现真实感的水 ...

  5. 12、synchronized和Lock的使用

    转载自 1.多并发案例: 一个车站有三个窗口同时卖30张票,每个窗口都有40个人在排队买票,在多线程情况下,不加锁,线程不安全,导致卖票不准确 package com.example.Lock; /* ...

  6. [深度学习] Contractive Autoencoder

    ​  转载于DeepLearning: Contractive Autoencoder - dupuleng - 博客园 一.雅克比矩阵 雅克比矩阵是一阶偏导,假设(x1,x2,....,xn)到(y ...

  7. Creator 2.x 升级 3.x 基础 API 差异总结

    上一篇我们介绍了 Cocos Creator 2.x 项目升级 3.x 的大流程. 但最后一步,还需要手动将之前 2.x 写的函数注释一处处的放开. 并将 2.x 的代码写法改成 3.x 的,下面我们 ...

  8. 一文详解 Linux Crontab 调度任务

    最近接到这样一个任务: 定期(每天.每月)向"特定服务器"传输"软件服务"的运营数据,因此这里涉及到一个定时任务,计划使用Python语言添加Crontab依赖 ...

  9. Mac上安装brew的那些坑

    macOS11.1 入坑! 网上看了一下午的帖子,包括官网,重装command line tool,修改brew_install文件,报错443,Faild during:git getch错误 脱坑 ...

  10. 02-Tcl输出、赋值与替换

    2 Tcl输出.赋值与替换 2.1 puts Tcl的输出命令是puts,将字符串标准输出channelled.语法中两个问号之间的参数为可选参数. # 例1 puts hello # 输出 hell ...