Postgresql警告日志的配置
文章目录
- 1.postgresql与日志有关的参数
- 2.开启日志
- 3.指定日志目录
- 4.設置文件名format
- 5.設置日志文件產出模式
- 6.設置日志记录格式
- 7.日誌輪換
- 7.1非截斷式輪換
- 7.2 截斷式輪換
- 8.日誌記錄內容
- 8.1 log_statement
- 8.2 log_min_duration_statement
- 9 輸出範本
1.postgresql与日志有关的参数
postgres=#select name,setting,unit,context from pg_settings where name like 'log_%';name | setting | unit | context
-----------------------------+-----------------------------------------------+------+-------------------log_autovacuum_min_duration | 60000 | ms | sighuplog_checkpoints | on | | sighuplog_connections | off | | superuser-backendlog_destination | csvlog | | sighuplog_directory | /data/pg_log | | sighuplog_disconnections | off | | superuser-backendlog_duration | off | | superuserlog_error_verbosity | default | | superuserlog_executor_stats | off | | superuserlog_file_mode | 0600 | | sighuplog_filename | postgresql_log.%a | | sighuplog_hostname | off | | sighuplog_line_prefix | %t [%p] [%l-1] user=%u db=%d app=%a client=%h | | sighuplog_lock_waits | on | | superuserlog_min_duration_statement | 60000 | ms | superuserlog_min_error_statement | error | | superuserlog_min_messages | warning | | superuserlog_parser_stats | off | | superuserlog_planner_stats | off | | superuserlog_replication_commands | off | | superuserlog_rotation_age | 1440 | min | sighuplog_rotation_size | 10240 | kB | sighuplog_statement | none | | superuserlog_statement_stats | off | | superuserlog_temp_files | 0 | kB | superuserlog_timezone | Asia/Jakarta | | sighuplog_truncate_on_rotation | on | | sighuplogging_collector | on | | postmaster
2.开启日志
name | setting | unit | context
-------------------+---------+------+------------logging_collector | on | | postmaster
3.指定日志目录
name | setting | unit | context
---------------+--------------+------+---------log_directory | /data/pg_log | | sighup
4.設置文件名format
name | setting | unit | context
--------------+--------------------------------+------+---------log_filename | postgresql-%Y-%m-%d_%H%M%S.log | | sighup
5.設置日志文件產出模式
可選模式:
1.syslog
2.csvlog
3.sterr
name | setting | unit | context
-----------------+---------+------+---------log_destination | csvlog | | sighup
6.設置日志记录格式
name | setting | unit | context
-----------------+-----------------------------------------------+------+---------log_line_prefix | %t [%p] [%l-1] user=%u db=%d app=%a client=%h | | sighup
參數說明(此部分在postgresql.conf文件中有詳細說明),抄錄如下:
log_line_prefix = ‘%t [%p] [%l-1] user=%u db=%d app=%a client=%h’
# special values:
# %a = application name
# %u = user name
# %d = database name
# %r = remote host and port
# %h = remote host
# %p = process ID
# %t = timestamp without milliseconds
# %m = timestamp with milliseconds
# %n = timestamp with milliseconds (as a Unix epoch)
# %i = command tag
# %e = SQL state
# %c = session ID
# %l = session line number
# %s = session start timestamp
# %v = virtual transaction ID
# %x = transaction ID (0 if none)
# %q = stop here in non-session processes
# %% = ‘%’
# e.g. '<%u%%%d> ’
7.日誌輪換
7.1非截斷式輪換
name | setting | unit | context
--------------------------+---------+------+---------log_rotation_age | 1440 | min | sighuplog_rotation_size | 10240 | kB | sighuplog_truncate_on_rotation | off | | sighup
以上設置,基本策略將是假如log time>=1440分鐘 or log size>=10240kb,當logfile.log_truncate_on_rotation = off 將會按照
步驟4與步驟5中log_filename雨log_destination中設定的format產生新的logfile,不會覆蓋舊的日誌,隨著時間推移,將會有撐滿disk空間的風險,因此需要定時手工或設定排程刪除舊的日誌文件
輸出範本如下:
postgres@PCNIY-PROD01:/data/pg_log$ ls -alh|sort -k 9
-rw------- 1 postgres postgres 11M Jul 31 23:22 postgresql-2023-07-31_204013.csv
-rw------- 1 postgres postgres 11M Aug 1 02:03 postgresql-2023-07-31_232213.csv
-rw------- 1 postgres postgres 11M Aug 1 04:35 postgresql-2023-08-01_020327.csv
-rw------- 1 postgres postgres 11M Aug 1 07:08 postgresql-2023-08-01_043532.csv
-rw------- 1 postgres postgres 10M Aug 1 08:54 postgresql-2023-08-01_070832.csv
-rw------- 1 postgres postgres 11M Aug 1 10:25 postgresql-2023-08-01_085407.csv
-rw------- 1 postgres postgres 2.4M Aug 1 10:47 postgresql-2023-08-01_102541.csv
7.2 截斷式輪換
如果logfile.log_truncate_on_rotation = on,則會覆蓋原來的日誌。
同時也需要注意該參數只是針對時間到期的切換,如果是因為大小或者系統重啟發生切換時,並不會覆蓋已有的檔。
log_truncate_on_rotation = on # If on, an existing log file with the# same name as the new log file will be# truncated rather than appended to.# But such truncation only occurs on# time-driven rotation, not on restarts# or size-driven rotation. Default is# off, meaning append to existing files# in all cases.
設置為ON後,結合log_filename設置,可以實現以周為單位的輪轉
name | setting | unit | context
--------------+-------------------+------+---------log_filename | postgresql_log.%a | | sighup
輸出將是如下:
postgres@pgd-prod01:/data/pg_log$ ls -alh|grep csv
-rw------- 1 postgres postgres 18M Jul 28 23:59 postgresql_log.Fri.csv
-rw------- 1 postgres postgres 12M Jul 31 23:58 postgresql_log.Mon.csv
-rw------- 1 postgres postgres 366K Jul 29 23:57 postgresql_log.Sat.csv
-rw------- 1 postgres postgres 319K Jul 30 23:57 postgresql_log.Sun.csv
-rw------- 1 postgres postgres 19M Jul 27 23:56 postgresql_log.Thu.csv
-rw------- 1 postgres postgres 10M Aug 1 10:56 postgresql_log.Tue.csv
-rw------- 1 postgres postgres 15M Jul 26 23:56 postgresql_log.Wed.csv
8.日誌記錄內容
8.1 log_statement
可選的選項:none, ddl, mod, all
name | setting | unit | context
---------------------+---------+------+-----------log_statement | ddl | | superuser
8.2 log_min_duration_statement
此選項需要注意時間設置,單為為millisecond,設定值太小將會產生過多的log,設置太大又有漏掉低效率的sql的可能
name | setting | unit | context
----------------------------+---------+------+-----------log_min_duration_statement | 60000 | ms | superuser
9 輸出範本
以上步驟產生輸出範本如下:
2023-08-01 11:29:26.505 WIB,"wmspci_app","pccwms502Zdb",73203,"172.19.2.74:35852",
64c88352.11df3,1,"SELECT",2023-08-01 11:00:18 WIB,54/7075354,845858776,LOG,00000,
"duration: 1746278.542 ms execute <unnamed>:
select * from pro_sap_to_bom_part($1,$2,$3) as result",
"parameters: $1 = '30', $2 = '', $3 = ''",,,,,,,,""
相关文章:
Postgresql警告日志的配置
文章目录 1.postgresql与日志有关的参数2.开启日志3.指定日志目录4.設置文件名format5.設置日志文件產出模式6.設置日志记录格式7.日誌輪換7.1非截斷式輪換7.2 截斷式輪換 8.日誌記錄內容8.1 log_statement8.2 log_min_duration_statement 9 輸出範本 1.postgresql与日志有关的…...
Java、JSAPI、 ssm架构 微信支付demo
1.前端 index.html <%page import"com.tenpay.configure.WxPayConfig"%> <% page language"java" contentType"text/html; charsetUTF-8" pageEncoding"UTF-8"%> <html><style>#fukuan{font-size: 50px;marg…...

MongoDB文档--基本安装-linux安装(mongodb环境搭建)-docker安装(挂载数据卷)-以及详细版本对比
阿丹: 前面了解了mongodb的一些基本概念。本节文章对安装mongodb进行讲解以及汇总。 官网教程如下: 安装 MongoDB - MongoDB-CN-Manual 版本特性 下面是各个版本的选择请在安装以及选择版本的时候参考一下: MongoDB 2.x 版本:…...

tomcat限制IP访问
tomcat可以通过增加配置,来对来源ip进行限制,即只允许某些ip访问或禁止某些来源ip访问。 配置路径:server.xml 文件下 标签下。与同级 <Valve className"org.apache.catalina.valves.RemoteAddrValve" allow"192.168.x.x&…...

互联网宠物医院系统开发:数字化时代下宠物医疗的革新之路
随着人们对宠物关爱意识的提高,宠物医疗服务的需求也日益增加。传统的宠物医院存在排队等待、预约难、信息不透明等问题,给宠物主人带来了诸多不便。而互联网宠物医院系统的开发,则可以带来许多便利和好处。下面将介绍互联网宠物医院系统开发…...
docker镜像批量导出导入
docker镜像批量导出导入 image_tar为存储镜像目录 删除所有容器 一、首先需要停止所有运行中的容器 docker stopdocker ps -a -q docker ps -a -q 意思是列出所有容器(包括未运行的),只显示容器编号,其中 -a : 显示所有的容器&…...
宇凡微2.4g遥控船开发方案,采用合封芯片
2.4GHz遥控船的开发方案是一个有趣且具有挑战性的项目。这样的遥控船可以通过无线2.4GHz频率进行远程控制,让用户在池塘或湖泊上畅游。以下是一个简要的2.4GHz遥控船开发方案: 基本构想如下 mcu驱动两个小电机,小电机上安装两个螺旋桨&#…...

RPC框架引入zookeeper服务注册与服务发现
Zookeeper概念及其作用 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是大数据生态中的重要组件。它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理…...

MySQL用通配符过滤数据
简单的不使用通配符过滤数据的方式使用的值都是已知的,但是当搜索产品名中包含ashui的所有产品时,用简单的比较操作符肯定不行,必须使用通配符。利用通配符可以创建比较特定数据的搜索模式。 通配符:用来匹配值的一部分的特殊字符…...

低通、高通、带通、阻通滤波器
目录 低通、高通、带通、阻通滤波器 低通、高通、带通、带阻滤波器的区别 通俗理解: 1、低通滤波器 2、高通滤波器 3、带通滤波器 4、带阻滤波器 5、全通滤波器 低通、高通、带通、阻通滤波器 低通、高通、带通、带阻滤波器的区别 低通滤波器:只…...

IDEA SpringBoot Maven profiles 配置
IDEA SpringBoot Maven profiles 配置 IDEA版本: IntelliJ IDEA 2022.2.3 注意:切换环境之后务必点击一下刷新,推荐点击耗时更短。 application.yaml spring:profiles:active: env多环境文件名: application-dev.yaml、 applicat…...
微信小程序 背景图片如何占满整个屏幕
1. 在页面的wxss文件中,设置背景图片的样式: page{background-image: url(图片路径);background-size: 100% 100%;background-repeat: no-repeat; } 2. 在页面的json文件中,设置背景图片的样式: {"backgroundTextStyle&qu…...

邪恶版ChatGPT来了!
「邪恶版」ChatGPT 出现:每月 60 欧元,毫无道德限制,专为“网络罪犯”而生。 WormGPT 并不是一个人工智能聊天机器人,它的开发目的不是为了有趣地提供无脊椎动物的人工智能帮助,就像专注于猫科动物的CatGPT一样。相反&…...

一、Postfix[安装与配置、smtp认证、Python发送邮件以及防垃圾邮件方法、使用腾讯云邮件服务]
Debian 11 一、安装 apt install postfix 二、配置 1.dns配置 解释:搭建真实的邮件服务器需要在DNS提供商那里配置下面的dns 配置A记录mail.www.com-1.x.x.x配置MX记录www.com-mail.www.com 解释:按照上面的配置通常邮件格式就是adminwww.com其通过…...

React哲学——官方示例
在本篇技术博客中,我们将介绍React官方示例:React哲学。我们将深入探讨这个示例中使用的组件化、状态管理和数据流等核心概念。让我们一起开始吧! 项目概览 React是一个流行的JavaScript库,用于构建用户界面。React的设计理念是…...

设计模式之开闭原则
什么是开闭原则? 开放封闭原则称为OCP原则(Open Closed Principle)是所有面向对象原则的核心。 “开闭原则”是面向对象编程中最基础和最重要的设计原则之一。 软件设计本身所追求的目标就是封装变化、降低耦合,而开放封闭原则正是对这一…...

Linux中的file命令:查看文件类型
2023年8月1日,周二上午 目录 简要说明使用方法MIME类型举例说明 简要说明 在Linux中,file命令用于识别文件类型。 file命令可以识别各种类型的文件,包括普通文件、目录、符号链接、设备文件、压缩文件、二进制可执行文件等。 它是一个非常…...

使用WiFi测量仪进行机器人定位的粒子过滤器研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

【vue】vue 里面使用 v-html 插入的文本带有换行符‘\n‘不换行
最近开发vue2 项目 ,接口返回的是类似于这样的数据:我是第一行的哦\n我是第二行的哦 我是直接这样渲染的, //html <p v-htmltext></p>//渲染值 this.text "我是第一行的哦\n我是第二行的哦"但结果却是不如意&#x…...
Java失效算法与应用(FIFO、LRU、LFU)
文章目录 一、什么是失效算法二、先来先淘汰(FIFO)1、FIFO概述2、Java实现FIFO3、FIFO特点 三、最久未用淘汰(LRU)1、LRU概述2、Java实现LRU 四、最近最少使用(LFU)1、LFU概述2、Java实现LFU 五、应用案例 …...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...

关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...

1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...

Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...
探索Selenium:自动化测试的神奇钥匙
目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...

实战三:开发网页端界面完成黑白视频转为彩色视频
一、需求描述 设计一个简单的视频上色应用,用户可以通过网页界面上传黑白视频,系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观,不需要了解技术细节。 效果图 二、实现思路 总体思路: 用户通过Gradio界面上…...
用鸿蒙HarmonyOS5实现中国象棋小游戏的过程
下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...