PostgreSql 参数配置
一、访问控制参数配置
https://xiaosonggong.blog.csdn.net/article/details/124264877
二、数据库参数配置
2.1 概述
PostgreSQL 的参数配置参数是在 postgresql.conf 文件中集中管理的,类似于 Oracle 的 pfile 文件,除此之外,PostgreSQL 还有一个 postgresql.auto.conf 文件,这个文件保存了通过 alter system 命令修改的设置,类似与 Oracle 的 spfile 文件,区别如下:
postgresql.conf | pfile | postgresql.auto.conf | spfile |
---|---|---|---|
ASCII文本文件 | ASCII文本文件 | ASCII文本文件 | 二进制文件 |
手动编辑 | 手动编辑 | 手动编辑、alter system 修改 | alter system 修改 |
重启库或重载配置文件生效 | 用 pfile 重启库生效 | 重启库或重载配置文件生效 | 立即生效或重启库生效 |
2.2 定义规则说明
示例如下:
--postgresql.conf 部分示例
# - Memory -shared_buffers = 128MB # min 128kB# (change requires restart)
#huge_pages = try # on, off, or try# (change requires restart)
#temp_buffers = 8MB # min 800kB
#max_prepared_transactions = 0 # zero disables the feature# (change requires restart)--postgresql.auto.conf 部分示例
listen_addresses = '*'
max_connections = '200'
superuser_reserved_connections = '10'
shared_buffers = '500MB'
log_destination = 'csvlog'
logging_collector = 'on'
log_directory = 'logs'
- 每一行指定一个参数。
- 名称和值之间的等号是可选的,shared_buffers = 128MB 等效于 shared_buffers 128MB。
- 空白是无意义的(除了在一个引号引用的参数值内)并且空行被忽略。
- 井号(#)代表注释。
- 所有配置项的参数名都是大小写不敏感的,shared_buffers = 128MB 等效于 SHARED_BUFFERS = 128MB。
- 如果文件包含相同参数的多个条目,则忽略除最后一个之外的所有条目。
- postgresql.auto.conf 文件会覆盖 postgresql.conf 文件中的同名配置。
- 所有相对路径信息均相对数据库 data 目录而言,如上述日志目录 logs,全路径为 $PGDATA/logs。
- 参数后的注释信息为该参数说明,如上述 # min 128kB,表示 shared_buffers 最小值为 128kB,# (change requires restart),表示 shared_buffers 参数修改需重启数据库生效。注释未注明需重启数据库生效的,一般重载配置文件即可生效。
pg_ctl reload -D 数据目录
等效于连入数据库执行
select pg_reload_conf();
- 参数值有以下5种数据类型:
布尔:布尔值都是大小写无关的,可以是 on、off、true、false、yes、no、1、0。
整数:数值可以指定单位,如一些内存配置的参数可以指定 KB、MB、GB 等单位。
浮点数:可以指定小数的数值,如 “1.0”。
字符串:单引号包起来的字符串,如 ‘csvlog’。
枚举:不需要单引号引起来的字符串。
2.3 配置技巧
1) 支持 include 调用外部文件
管理大批量服务器时,模块化的管理配置往往是高效的。
--调用外部配置文件
include '/home/postgres/conf.d/shared.conf'
include '/home/postgres/conf.d/memory.conf'
include '/home/postgres/conf.d/server.conf'--调用外部目录
include_dir '/home/postgres/conf.d'--目录中配置文件可以按如下方式命令
00shared.conf
01memory.conf
02server.conf
调用外部目录时,存在如下限制:
- 只有.conf 结尾的非目录文件才会被包括。
- 以 . 字符开头的文件名会被忽略。
- 数据库将按照命名方式顺序调用,当存在重复参数时,最后调用的配置会覆盖之前的配置。
2)参数配置相关信息查询
--show 参数名可查看当前生效参数配置
postgres=# show log_statement;log_statement
---------------ddl
--上述效果等同于
postgres=# select setting from pg_settings where name = 'log_statement';setting
---------ddl--枚举类型可选参数值查询
postgres=# select enumvals from pg_settings where name = 'log_statement';enumvals
--------------------{none,ddl,mod,all}--参数描述查询
postgres=# select short_desc,extra_desc from pg_settings where name = 'log_statement';short_desc | extra_desc
-------------------------------------+------------Sets the type of statements logged. |--查询参数默认单位
postgres=# select unit from pg_settings where name = 'autovacuum_vacuum_cost_delay';unit
------ms--查询参数如何生效
postgres=# select context from pg_settings where name = 'log_statement';context
-----------superuser
context 字段值说明:
internal:这类参数是只读参数,其中,有些参数是 postgres 程序写死的,或者是用不同的编辑选项确定的;有些参数是数据库实例初使化时就确定了的,比如创建实例时运行 initdb,可以使用一些命令行参数选项来确定某些参数的值,如可以在 initdb 中使用 -k 把参数 “data_checksums” 初使化为
“on”,之后就不能再改变此参数值了。这类参数值不能在 postgresql.conf 中配置,因为它们是由postgres 程序或在初始化实例时写死的。
postmaster:改变这类参数的值需要重启 PostgreSQL 实例。在 postgresql.onf 文件中可改变这些参数后,需要重启 PostgreSQL 实例修改才能生效。
sighup:在 postgresql.conf 文件中改变这类参数的值不需要重启数据库,只需要向postmaster 进程发送 SIGHUP 信号,让其重启装载配置新的参数值就可以了。当然 postmaster 进程接收到 SIGHUP 信号后,也会向它的子进程发送 SIGHUP 信号,让新的参数值在所有的进程中生效。
backend:在 postgresql.conf 文件中更改这类设置无须重新启动服务器,只需要向 postmaster 发送一个 SIGHUP 信号,让它重新读取 postgresql.conf 文件中新的配置值,但新的配置值只会出现在修改之后的新连接中,已有的连接中该参数的值不会改变。这类参数的值也可以在新建连接时由连接的一些参数改变。例如,通过 libpq 的 PGOPTIONS 环境变量可以改变本连接的配置值。
superuser:这类参数可以由超级用户使用 SET 命令来改变,如检测死锁的超时时间的参数 “deadlock_timeout”。而超级用户改变此参数值时只会影响自身的 sesssion 配置,不会影响其他用户关于此参数的配置。向 Postmaster 进程发送 SIGHUP 信号也只会影响后续创建的连接,不会影响已有的连接。
user:这类参数可以由普通用户使用 SET 命令来改变本连接中的配置值。除了普通用户也可以改变外,这类参数与 superuser 类参数没有区别。
3)postgresql.conf 参数配置
https://xiaosonggong.blog.csdn.net/article/details/121038380
相关文章:
PostgreSql 参数配置
一、访问控制参数配置 https://xiaosonggong.blog.csdn.net/article/details/124264877 二、数据库参数配置 2.1 概述 PostgreSQL 的参数配置参数是在 postgresql.conf 文件中集中管理的,类似于 Oracle 的 pfile 文件,除此之外,PostgreSQL…...

【BMC】OpenBMC开发基础2:修改原有程序
修改原有程序 通常情况下我们会需要修改OpenBMC原有的程序来适配我们的项目,本节将介绍一般的流程。 为此首先我们需要了解devtool这个工具,注意它不是前端开发用的那个devtool,而是由OE(或者Yocto?)提供…...
2012年数学建模竞赛脑卒中发病环境因素分析及干预日期数据处理代码
因四个表格日期数据处理有些复杂,故作此代码一次性处理四组数据: import datetime import pandas as pddef check(string, df, i, num, error_list):if is_valid(pd.to_datetime(string, errorscoerce, format%Y/%m/%d), error_list, i):df.iloc[i, nu…...

Merge和Rebase的区别
Merge 和 Rebase 是 Git 中常用的两种分支整合方式,它们具有不同的工作原理和效果: Merge(合并) 合并是将两个或多个分支的提交历史合并为一个新的提交。在合并时,Git 会创建一个新的合并提交,将两个分支…...
[RTKLIB]模糊度固定相关问题(二)
文章目录 一、固定模糊度的前置工作1. 做好固定模糊度的准备2. 建立双差模糊度3. 问题与总结 版权声明:本文为原创文章,版权归 Winston Qu 所有,转载请注明出处。 在上一篇文章中,介绍了RTKLIB中manage_amb_LAMBDA()函数ÿ…...

QtAV for ubuntu16.04
下载ubuntu https://releases.ubuntu.com/16.04/ubuntu-16.04.7-desktop-amd64.iso 下载ffmpeg https://ffmpeg.org/download.html 下载QtAV https://github.com/wang-bin/QtAV/releases 更新 sudo apt update 安装库 sudo apt-get install libglu1-mesa-dev freeglut3-dev…...
MFC 文件读写包括字符串的结构体
试过CString char* 写入的都是地址 struct Param{int ID;int index;char val[128]; };vector<Param>ans; UINT count 17; ans.resize(count); FILE* fp; fopen_s(&fp,_T("my.txt"),_T("rb")); if(count ! fread(&ans[0],sizeof(Param),cou…...

在家构建您的迷你聊天Chat gpt
推荐:使用 NSDT场景编辑器 助你快速搭建可编辑的3D应用场景 什么是指令遵循模型? 语言模型是机器学习模型,可以根据句子的前一个单词预测单词概率。如果我们向模型请求下一个单词,并将其递减地反馈给模型以请求更多单词ÿ…...

pytest自动化测试框架之断言
前言 断言是完整的测试用例中不可或缺的因素,用例只有加入断言,将实际结果与预期结果进行比对,才能判断它的通过与否。 unittest 框架提供了其特有的断言方式,如:assertEqual、assertTrue、assertIn等,py…...
C++模板的用法
目录 模板的概念 函数模板(Function Templates) 基本用法 函数模板的实例化 匹配原则 类模板(Class Templates) 模板的概念 C中的模板(Templates)实际上是一种泛型编程(Generic Programm…...

ESP 32 蓝牙虚拟键盘链接笔记本电脑的键值问题
由于打算利用esp32 通过蓝牙链接电脑后实现一些特俗的键盘功能,所以就折腾了一下,折腾最耗费时间的却是键值问题,让一个20多年的老司机重新补充了知识 过程曲折就不说了,直接说结果。 我们通过网络搜索获取的键值和蓝牙模拟键盘传…...

128.【Maven】
Maven仓库 (一)、Maven 简介1.传统项目管理的缺点2.Maven是什么3.Maven的作用 (二)、Maven 的下载与安装1.下载与认识目录2.配置Maven的全局环境 (三)、Maven 的基础概念1.Maven 仓库(1).仓库分类 2. Maven 坐标3.Maven 本地仓库配置(1).改变默认的仓库地址(2).改变远程仓库地址…...

嵌入式虚拟仿真实验教学平台之串口发送数据
嵌入式虚拟仿真实验教学平台课程系列 串口发送数据实验 课程内容 本实验使用 STM32 的串口发送数据。开始仿真后,打开串口监视器,串口监视器会打印出要发送的数据。 课程目标 学习配置使用GPIO功能学习配置使用复用功能学习配置使用UART功能 硬件设计 本课程…...

Android Studio 屏幕适配
Android开发屏幕适配流程 首先studio中没有ScreenMatch这个插件的,下去现在这个插件 点击File->settings->Plugins->(搜索ScreenMatch插件),点击下载,应用重启Studio即可,如下图 在values下 创建dimens.xml,…...

【C++】C++11--- 线程库及详解lock_guard与unique_lock
目录 一、thread类的介绍二、线程函数参数三、 原子性操作库四、lock_guard与unique_lock4.1、mutex的种类4.2 lock_guard4.3 unique_lock 一、thread类的介绍 在C11之前,涉及到多线程问题,都是和平台相关的,比如**windows和linux下各有自己…...

第二篇|研究数据哪里来——建筑业
数据是研究和产业发展的重要基石,然而无论是学者、企业还是研究机构往往都面临着“找数据难”的局面。本期将分享一些查找建筑相关的数据及资料的渠道。希望可以帮大家解决这一难题,有用求收藏求收藏求收藏~ 1.政府机构 可以查找国家、地方政府的建筑行…...
numpy ascontiguousarra 学习笔记
目录 numpy ascontiguousarra函数 转换命令: ascontiguousarray等价效果: ascontiguousarray学习笔记 ascontiguousarray函数将一个内存不连续存储的数组转换为内存连续存储的数组,使得运行速度更快。 在昇腾开发版上使用时,…...

【算法|双指针系列No.1】leetcode283. 移动零
个人主页:平行线也会相交 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希望…...

PHP8定义字符串的方法-PHP8知识详解
字符串,顾名思义,就是将一堆字符串联在一起。字符串简单的定义方法是使用英文单引号( )或英文双引号(" ")包含字符。另外,还可以使用定界符定义字符串。本文还介绍了字符串的连接符。…...

分享21年电赛F题-智能送药小车-做题记录以及经验分享
这里写目录标题 前言一、赛题分析1、车型选择2、巡线1、OpenMv循迹2、灰度循迹 3、装载药品4、识别数字5、LED指示6、双车通信7、转向方案1、开环转向2、位置环速度环闭环串级转向3、MPU6050转向 二、调试经验分享1、循迹2、识别数字3、转向4、双车通信5、逻辑处理6、心态问题 …...

19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...

JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...
Caliper 配置文件解析:fisco-bcos.json
config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...