PG15.3.0源码编译安装日志插件pgbadger(上)

news/2024/7/9 22:33:17 标签: postgresql, 数据库

一、开启相关日志

修改后alter一定要重启,才会修改

pg_ctl restart -D /usr/local/pgsql/data -l logfile

按照下面的方法一个个修改。
在这里插入图片描述

log_destination = 'csvlog'      # 可选
logging_collector = on
log_min_duration_statement = 0
log_line_prefix = '%t [%p]: user=%u,db=%d,app=%a,client=%h '
log_checkpoints = on
log_connections = on
log_disconnections = on
log_lock_waits = on
log_temp_files = 0
log_autovacuum_min_duration = 0
log_error_verbosity = default
lc_messages='C'
log_filename = 'postgresql-%Y%m%d_%H%M%S.log'   # 定义日志文件的名称
log_file_mode = 0600

二、源码编译按照pgbadger

  1. 下载源码安装包
    下载地址:https://github.com/darold/pgbadger/releases
    说明文档:https://github.com/darold/pgbadger

  2. 解压,进入pgbadger目录

cd /home/postgres/pgbadger-12.1/
  1. 编译安装
perl Makefile.PL

出现Writing Makefile for pgBadger,成功进入下一步!

make && make install

三、安装httpd、php

  1. 安装httpd
yum install httpd 
chkconfig httpd on     --添加到自动启动 
  1. 启动服务
service httpd start 

这里报错

Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.

解决方法

添加apache用户

 groupadd apache
 #或
 useradd -g apche apache

【知识扩展】
这个错搜的解决方案原因都是端口号冲突,更改80端口号。可是我的端口号并不冲突,未被占用。于是在查找资料过程中,发现通过日志排查错误,于是这里记录一下。

  • 无论什么原因导致某服务启动失败,要学会看日志,日志一般都会有详细提示。

查看日志方式有二

  • journalctl -xe
  • 查看messages(下图截图采用此方法)

方式一[journalctl]

systemctl status httpd.service 或journalctl -xe查看详细

方式二[messages]

messages是系统日志,启动报错这里会有提示,tail -f 指动态查看

cd /var/log
tail -f messages

在这里插入图片描述
重新打开一个新的终端窗口,重启或启动httpd服务,输入

systemctl restart httpd
或者
service httpd start 

回到第一个日志窗口看最新日志,找到报错信息如下,最后解决。
在这里插入图片描述
3. 继续安装php

yum install php 

此时,/var目录下多了www目录
在这里插入图片描述

四、测试使用

pgbadger /usr/local/pgsql/data/log/postgresql-2023-05-22_092738.log -o pgreport.html

在这里插入图片描述
打开html
在这里插入图片描述
具体说明查看官方网站https://pgbadger.darold.net/

注:我忘记我之前是什么操作导致/usr/local/pgsql/data/log/下有log日志了,等我想起来再更新。
在这里插入图片描述

作者有话说

今天就先到这里,目前进度是成功安装好pgbadger,但还存在一些问题没有弄明白,如pgbadger具体使用用法等,如根据csv如何对应打开html?且打开的html没有数据,还得看看什么操作才会触发有数据浮动?

下篇估计是详细探究版:

  1. 需要确认一下具体使用用法,命令操作以及显示的html数据浮动问题
  2. check一下关于pgbadger开源实现这个功能的代码量有多少?
  3. 调研一下perl语言是否好上手?写成c++语言是否好写?
  4. check一下关于perl语言实现的pgbadger是如何与pg适配的?我应如何与opengauss适配呢?
  5. check关于pgbadger组件,在pg内核哪个部分进行的融合?找到接口,og效仿一下
  6. 调研日志分析,评估整体工作量。

大概下次需要check这么多样子 ?
s


http://www.niftyadmin.cn/n/349352.html

相关文章

Maven概念及搭建

1.为什么我们要学习 maven? maven 还未出世的时候,我们有很多痛苦的经历 。 痛点 1: jar 包难以寻找 痛点 2: jar 包依赖的问题 痛点 3: jar 不方便管理 痛点 4:项目编译 2.Maven 简介 Maven 是 Apache 软件基金…

【图床】SpringBoot上传图片

知识目录 一、写在前面✨二、新建开源仓库✨2.1 新建仓库2.2 将仓库设置为开源2.3 生产私人令牌 三、代码实现😄3.1 工具类3.2 上传图片 四、总结撒花😊 一、写在前面✨ 大家好!我是初心,很高兴再次和大家见面。 今天跟大家分享…

Android:配置jni环境,java调用jni模块,在Android上部署libcurl.a

配置jni环境.txt 1 在项目路径中创建JNI文件夹 2 在文件夹中创建一个Android.mk文件 (就是jni所在路径的makefile) 3 在Android.mk中写如下代码 LOCAL_PATH:$(call my-dir) include $(CLEAR_VARS) #libtestjni.so LOCAL_MODULE : testjni LOCAL_SRC_F…

02 Android开机启动之BootLoader及kernel的启动

Android开机启动之BootLoader及kernel的启动 1、booloader的启动流程 第一阶段:硬件初始化,SVC模式,关闭中断,关闭看门狗,初始化栈,进入C代码 第二阶段:cpu/board/中断初始化;初始化内存以及flash,将kernel从flash中拷贝到内存中,执行bootm,启动内核 2、kernel的启…

外包工作6年,聊一下感想.....

我不知道当年怎么想的,能在一个外包公司一干就是6年,后来终于跳出来了,现在的公司虽然不是什么大厂吧,但至少是个正经的互联网企业,待遇也不错。其实很多地方的朋友都有提到外包公司的一些弊端。 我个人的建议是&#…

Lucene(5):索引维护

1 需求 管理人员通过电商系统更改图书信息,这时更新的是关系数据库,如果使用lucene搜索图书信息,需要在数据库表book信息变化时及时更新lucene索引库。 2 添加索引 调用 indexWriter.addDocument(doc)添加索引。 参…

用pip安装cartopy(windows平台),解决GEOS库的问题

对象:cartopy Cartopy官方网站介绍: Cartopy is a Python package designed for geospatial data processing in order to produce maps and other geospatial data analyses. Cartopy是一个Python包,旨在进行地理空间数据处理,以…

页面空白了,怎么去排查定位问题?

作为测试工程师,您可以采取以下步骤来排查页面打开空白的问题: 确认环境:确保您的测试环境与目标环境相匹配。检查浏览器版本、操作系统和其他相关软件的兼容性要求。确保您使用的浏览器和版本与应用程序或网站的支持列表兼容。 复现问题&am…