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 五、应用案例 …...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...
AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别
【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势…...
LOOI机器人的技术实现解析:从手势识别到边缘检测
LOOI机器人作为一款创新的AI硬件产品,通过将智能手机转变为具有情感交互能力的桌面机器人,展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家,我将全面解析LOOI的技术实现架构,特别是其手势识别、物体识别和环境…...
git: early EOF
macOS报错: Initialized empty Git repository in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/ remote: Enumerating objects: 2691797, done. remote: Counting objects: 100% (1760/1760), done. remote: Compressing objects: 100% (636/636…...
如何在Windows本机安装Python并确保与Python.NET兼容
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...
