PostgreSQL的系统视图pg_file_settings

PostgreSQL的系统视图pg_file_settings

pg_file_settings 是 PostgreSQL 中一个非常有用的系统视图,它提供了有关当前服务器配置文件 (postgresql.conf) 中设置的参数的信息。此视图显示了配置文件中每个参数的原始设置,当前有效值,以及是否存在错误或警告。

1. pg_file_settings 视图的结构

该视图包含以下字段:

  • sourcefile: 参数所在的配置文件的路径。
  • sourceline: 参数在配置文件中的行号。
  • seqno: 参数的顺序编号,用于区分 include 配置文件的多个条目。
  • name: 参数的名称。
  • setting: 参数在配置文件中的设置值。
  • applied: 布尔值,表示是否已成功应用该设置。
  • error: 如果有错误消息,表示错误的相关信息。

2. 使用示例

查询所有配置设置

要查看当前配置文件中所有参数的设置,请执行以下查询:

postgres=# SELECT * FROM pg_file_settings;
              sourcefile              | sourceline | seqno |              name              |                               setting                                | applied | error 
--------------------------------------+------------+-------+--------------------------------+----------------------------------------------------------------------+---------+-------
 /home/pg16/data/postgresql.conf      |         60 |     1 | listen_addresses               | *                                                                    | t       | 
 /home/pg16/data/postgresql.conf      |         64 |     2 | port                           | 5777                                                                 | t       | 
 /home/pg16/data/postgresql.conf      |         65 |     3 | max_connections                | 100                                                                  | t       | 
 /home/pg16/data/postgresql.conf      |         67 |     4 | superuser_reserved_connections | 3                                                                    | t       | 
 /home/pg16/data/postgresql.conf      |        130 |     5 | shared_buffers                 | 256MB                                                                | t       | 
 /home/pg16/data/postgresql.conf      |        132 |     6 | huge_pages                     | on                                                                   | t       | 
 /home/pg16/data/postgresql.conf      |        153 |     7 | dynamic_shared_memory_type     | posix                                                                | t       | 
 /home/pg16/data/postgresql.conf      |        211 |     8 | wal_level                      | replica                                                              | t       | 
 /home/pg16/data/postgresql.conf      |        247 |     9 | max_wal_size                   | 1GB                                                                  | t       | 
。。。省略。。。
查询配置文件中未应用的设置

有时,某些参数设置可能会由于语法错误、无效值或其他原因而不能被应用。可以使用以下查询来查找这些未成功应用的设置:

postgres=# SELECT * FROM pg_file_settings WHERE NOT applied;
           sourcefile            | sourceline | seqno |           name           |                    setting                     | applied | error 
---------------------------------+------------+-------+--------------------------+------------------------------------------------+---------+-------
 /home/pg16/data/postgresql.conf |        749 |    37 | shared_preload_libraries | pg_stat_kcache,pg_stat_statements,auto_explain | f       | 
(1 row)

3. 修改和重新加载配置

如果发现某些参数设置有误,可以按照以下步骤进行修改和重新加载配置:

修改配置文件:

例如,编辑 /home/pg16/data/postgresql.conf 文件,修正错误的参数:

vi /home/pg16/data/postgresql.conf
重新加载配置

在修改配置文件之后,可以使用以下命令重新加载配置,使修改生效:

pg_ctl reload 

或者在 PostgreSQL 交互式命令行(psql)中执行以下命令:

SELECT pg_reload_conf();

4. 其他相关视图

  • pg_settings: 提供当前会话所有配置参数的视图,以及它们的当前值、描述和其它信息。与 pg_file_settings 不同的是,pg_settings 显示的是当前会话中生效的参数。
SELECT * FROM pg_settings;

示例输出:

     name      | setting | unit  |               category               |          short_desc          |  context   | vartype | source  | min_val | max_val  | enumvals | boot_val | reset_val | sourcefile | sourceline | pending_restart 
---------------+---------+-------+---------------------------------------+------------------------------+------------+---------+---------+---------+----------+----------+----------+-----------+------------+-------------+-----------------
 max_connections | 20      |       | Connections and Authentication / Connections | Sets the maximum number of concurrent connections.| postmaste  | integer | config   | 1       | 262.14   |          | 100      | 100     | /etc/postgresql/13/main/postgresql.conf |   57     | f
 shared_buffers | 512     | kB    | Resource Usage / Memory               | Sets the number of shared memory buffers used by the server. | postmaster | integer | config   | 16      | 107374   |          | 128      | 128/group | postgres     |    58    | f

总结

  • pg_file_settings 提供了一个查看 PostgreSQL 配置文件中参数设置及其应用状态的视图。
  • 可以利用该视图检查配置设置是否应用成功,如果有错误信息,可以根据提示进行修改。
  • 修改配置文件后,可以使用 pg_reload_conf() 函数或系统命令重新加载配置,使修改生效。
  • 配合 pg_settings 视图,可以更全面地了解数据库的配置状态。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/769693.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

WAF的新选择,雷池 SafeLine-安装动态防护使用指南

什么是 WAF WAF 是 Web Application Firewall 的缩写,也被称为 Web 应用防火墙。 区别于传统防火墙,WAF 工作在应用层,对基于 HTTP/HTTPS 协议的 Web 系统有着更好的防护效果,使其免于受到黑客的攻击; 通俗来讲&#…

vue3+ts项目中.env配置环境变量与情景配置

一、环境变量配置 官网https://cn.vitejs.dev/guide/env-and-mode.html#intellisense 1. 新建.env开头的文件在根目录 为了防止意外地将一些环境变量泄漏到客户端,只有以 VITE_ 为前缀的变量才会暴露给经过 vite 处理的代码 .env 所有环境默认加载 .env.developm…

C++ 语法

一、头文件与源文件 头文件用于声明函数,类似于java中service层的接口; 源文件用于实现头文件函数,相当于java中serviceImpl层的实现类; 定义接口 实现接口 使用接口 二、指针概述 定义与使用 定义一个指针p用于存a变量的内存地址,即指针就是地址; 解引用可以获取或修改…

并发编程面试题1

一、原子性高频问题: 1.1 Java中如何实现线程安全? 多线程操作共享数据会出现问题。可以使用锁来解决: 悲观锁: 使用 synchronized 和 Lock乐观锁: 使用 CAS(Compare-And-Swap)可以根据业务情况选择 ThreadLocal,让每个线程处理自己的数据。 1.2 CAS底层实现 回答思…

Prometheus 监控服务器

Prometheus概述 组件化设置:nginx ,ceph , Prometheus 部署Prometheus服务器 配置时间 安装Prometheus服务器 访问web页面:http://192.168.88.5:9090/ 添加被监控端 监控方式: 拉取:pull。监控端联系被监控端,采集数…

116-基于5VLX110T FPGA FMC接口功能验证6U CPCI平台

一、板卡概述 本板卡是Xilinx公司芯片V5系列芯片设计信号处理板卡。由一片Xilinx公司的XC5VLX110T-1FF1136 / XC5VSX95T-1FF1136 / XC5VFX70T-1FF1136芯片组成。FPGA接1片DDR2内存条 2GB,32MB Nor flash存储器,用于存储程序。外扩 SATA、PCI、PCI expres…

STM32远程烧录程序

目录 简介 不同的程序下载方式 ICP:In-Circuit Programming ISP:In-System Programing IAP:In-Application Programming BootLoader Bootloader 是什么? STM32的启动方式 存储器组织 存储器映像 嵌入式SRAM 嵌入式FL…

【JVM系列】内存泄漏

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Python数据分析-股票数据分析(GARCH模型)

一、研究背景 随着金融市场的不断发展和全球经济的日益复杂,市场波动性和风险管理成为投资者和金融机构关注的焦点。波动率是衡量市场风险的重要指标,准确预测和评估波动率对于资产定价、风险控制和投资决策具有重要意义。在金融时间序列分析中&#xf…

唐山养老院哪家好---老了怎么过?到这里,享受生活的每一刻!

随着时间的流逝,我们每个人都将迎来老年时光,而"老了,怎么过?"这个问题,虽然简单,却深深触动了无数人的心。 面对老年生活,每个人都有不同的选择和追求。有的人选择顺其自然&#xf…

单目相机减速带检测以及测距

单目相机减速带检测以及测距项目是一个计算机视觉领域的应用,旨在使用一个摄像头(单目相机)来识别道路上的减速带,并进一步估计车辆与减速带之间的距离。这样的系统对于智能驾驶辅助系统(ADAS)特别有用&…

新章节:全设备通用调度算法-通讯重构

新章节:全设备通用调度算法-通讯重构 文章目录 新章节:全设备通用调度算法-通讯重构前言一、重构了TCP和UDP通讯二、优化了OPC和OPCUA三、升级了监控客户端四、升级了通讯的图形化其他升级 前言 现在真的很懒也很少写代码了,写代码和更新进度…

Android 15 应用适配默认全屏的行为变更(Android V的新特性)

简介 Android V 上默认会使用全面屏兼容方式,影响应用显示,导致应用内跟导航标题重合,无法点击上移的内容。 默认情况下,如果应用以 Android 15(API 级别 35)为目标平台,在搭载 Android 15 的设…

【网络安全的神秘世界】SQL注入(下)

🌝博客主页:泥菩萨 💖专栏:Linux探索之旅 | 网络安全的神秘世界 | 专接本 | 每天学会一个渗透测试工具 3.7 二次注入 不好挖这个漏洞,需要搞懂业务逻辑关系 二次注入通常是指在存入数据库时做了过滤,但是取…

vue中自定义设置多语言,并且运行js脚本自动生成多语言文件

在项目中需要进行多个国家语言的切换时,可以用到下面方法其中一个 一、自定义设置多语言 方法一: 可以自己编写一个设置多语言文件 在项目新建js文件,命名为:language.js,代码如下 // language.js 文档 let languagePage {CN…

Rocky Linux yum/dnf repo/mirrors 国内镜像列表及更换方法

Rocky Linux yum/dnf repo/mirrors 国内镜像列表及更换方法 Rocky Linux Mirrors 请访问原文链接:https://sysin.org/blog/rocky-linux-mirrors/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 高校镜像推荐 mirr…

聚观早报 | 微信升级视频功能;一加Ace 3 Pro开启销售

聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。 整理丨Cutie 7月4日消息 微信升级视频功能 一加Ace 3 Pro开启销售 享界S9将亮相门店 澎湃OS出行助手将陆续升级 特斯拉公布二…

DDOS攻击不懂?看完让你秒懂!

什么是DDOS攻击? DDoS攻击,全称分布式拒绝服务攻击(Distributed Denial of Service attack),是一种常见的网络安全攻击方式。以下是对DDoS攻击的详细解释: DDoS攻击是指攻击者利用大量被控制的计算机或设备&#xff…

如何查看JDK使用的垃圾收集器

在Java开发中,垃圾收集器(Garbage Collector, GC)是管理内存的关键组件,不同的垃圾收集器对应用性能有着显著影响。了解当前JDK使用的垃圾收集器对于性能调优至关重要。本文将介绍如何查看JDK使用的垃圾收集器。 JDK中的垃圾收集…

提升Android Studio开发体验:使用Kelp插件实现颜色和图标预览

提升Android Studio开发体验:使用Kelp插件实现颜色和图标预览 在Android开发中,自动补全功能对于提高开发效率至关重要。然而,默认的Android Studio并不能预览颜色和图标,这使得开发者在选择资源时常常感到困惑。本文将介绍如何使…