![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PostgreSQL
文章平均质量分 91
PostgreSQL从入门到精通
DBA之路
啥也不会的DBA
展开
-
【PG基础知识】一 Linux系统部署PostgreSQL单机数据库
当在线备份模式被激活时, 仍然允许新的连接,但是只能是超级用户的连接(这一例外允许超级用户连接来终止在线备份模式)。尤其重要的是对每个用户的进程数目的限制、每个进程打开文件数目的限制以及每个进程可用的内存的限制。只在紧急 时才推荐这种方式。默认的共享内存设置通常已经足够好了,除非您将shared_memory_type设置为sysv,即使这样, 也只适用于低默认值的旧内核版本。该脚本将运行一些测试来决定一些系统相关的变量, 并检测你的操作系统的特殊设置,并且最后将在编译树中创建一些文件以记录它找到了什么。原创 2023-10-07 17:20:44 · 1113 阅读 · 0 评论 -
【PG基础知识】二 PostgreSQL单机部署(简洁命令版)
部署单机PG原创 2023-11-08 11:42:31 · 843 阅读 · 0 评论 -
【PG基础知识】三 PostgreSQL参数格式 配置文件格式
主服务器进程还会把这个信号传播给所有正在运行的服务器进程,这样现有的会话也能采用新 值(要等待它们完成当前正在执行的客户端命令之后才会发生)。很可能配置的元素都会被共享,例如用于日志的参数。当多个服务器把它们的配置全部存储在一个位置(例如在一个版本控制仓库中)时,这可以帮助消除歧义(在版本控制下存储数据库配置文件是另一个值得考虑的好方法)。这是很重要的,因为在服务器读取配置 文件时,对于一个特定的参数只有最后碰到的一个设置才会被使用。被读取时这个文件会被自动读取,并且它的设置会以同样的方式生效。原创 2023-10-08 11:13:48 · 813 阅读 · 0 评论 -
【PG基础知识】四 PostgreSQL客户端认证pg_hba.conf文件
用户在连接到PG数据库之前首先要经过文件的验证,可以理解为建立连接之前的白名单或者客户端认证客户端认证是由一个配置文件(通常名为并被存放在数据库集簇目录中)控制(HBA表示基于主机的认证)。在initdb初始化数据目录时,它会安装一个默认的文件。不过我们也可以把认证配置文件放在其它地方;参阅配置参数。原创 2023-10-26 10:58:15 · 1921 阅读 · 0 评论 -
【PG基础知识】五 PostgreSQL查看与修改参数
PG查看修改参数原创 2023-11-06 15:10:44 · 2547 阅读 · 0 评论 -
【PG基础知识】六 PostgreSQL参数详解(一)
对于磁盘驱动器,这个设置的一个很好的出发点是组成一个被用于该数据库的 RAID 0 条带或 RAID 1 镜像的独立驱动器数量(对 RAID 5 而言,校验驱动器不计入)。为了阻止由于本来对该快照可见的数据被清理导致的不正确结果,当快照比这个阈值更旧并且该快照被用来读取一个该快照建立以来被修改过的页面时,将会产生一个错误。设置数据库服务器将使用的共享内存缓冲区量。当这个特性被启用时,关系末尾的被清出的空间不能被释放给操作系统,因为那可能会移除用于检测“snapshot too old”情况所需的信息。原创 2023-10-08 14:46:07 · 1693 阅读 · 0 评论 -
【PG基础知识】七 postgreSQL参数解释二 WRITE-AHEAD LOG部分
postgreSQL参数解释二 WRITE-AHEAD LOG部分原创 2023-11-06 16:27:25 · 693 阅读 · 0 评论 -
【PG基础知识】八 PostgreSQL字符集
PostgreSQL里面的字符集支持你能够以各种字符集存储文本,包括单字节字符集,比如 ISO 8859 系列,以及多字节字符集,比如EUC(扩展 Unix 编码 Extended Unix Code)、UTF-8 和 Mule 内部编码。所有被支持的字符集都可以被客户端透明地使用,但少数只能在服务器上使用(即作为一种服务器方编码)。默认的字符集是在使用initdb初始化你的PostgreSQL数据库集簇时选择的。原创 2023-10-24 15:02:21 · 2609 阅读 · 0 评论 -
【PG基础知识】九 PostgresSQL角色管理
为了引导数据库系统,一个刚刚被初始化好的系统总是包含一个预定义角色。这个角色总是一个“superuser”,并且默认情况下(除非在运行initdb时修改)它的名字和初始化数据库集簇的操作系统用户相同。习惯上,这个角色将被命名为postgres。为了创建更多角色,你首先必须以初始角色的身份连接。重点:超级用户和初始化数据库的操作系统用户名称相同,一般是postgres。原创 2023-10-23 17:00:48 · 430 阅读 · 0 评论 -
【PG基础知识】十 PostgreSQL 目录结构
PostgreSQL 目录结构原创 2023-11-13 17:52:34 · 2357 阅读 · 1 评论 -
【PG基础知识】十一 PostgreSQL模式(Schema)
一个PostgreSQL数据库集群中包含一个或更多的数据库。角色和一些其他对象类型被整个集群共享,连接到服务器的客户端只能访问单个数据库中的数据,在连接请求中指定的那一个。一个数据库包含一个或多个模式,模式中包含着表。模式还包含其他类型的命名对象,包括数据类型、函数和操作符。相同的对象名称可以被用于不同的模式中而不会出现冲突,例如schema1和myschema都可以包含名为mytable的表。原创 2023-10-24 20:35:51 · 7509 阅读 · 0 评论 -
【PG基础知识】十二 pg_dump与pg_dumpall区别
因为pg_dumpall从所有数据库中读取表,所以你很可能需要以一个数据库超级用户的身份连接以便生成完整的转储。同样,你也需要超级用户特权执行保存下来的脚本,这样才能增加角色和组以及创建数据库。pg_dumpall需要多次连接到PostgreSQL服务器(每个数据库一次)。不保存这些对象),也就是说数据库角色和表空间都会被转储。目前这包括适数据库用户和组、表空间以及适合所有数据库的访问权限等属性。pg_dumpall工具可以一个集簇中所有的PostgreSQL数据库写出到(“转储”)一个脚本文件。原创 2023-11-03 17:02:12 · 286 阅读 · 0 评论 -
【PG基础知识】十三 PostgreSQL 预写日志(WAL)、checkpoint、LSN
PostgreSQL 预写日志(WAL)、checkpoint、LSN原创 2023-11-13 17:17:37 · 1981 阅读 · 0 评论 -
【PG基础知识】十四 PostgreSQL数据库管理
同时,一个很少使用的或者对性能要求不高的存储归档数据的表可以存储在一个便宜但比较慢的磁盘系统上。如果一个数据库被创建时没有指定表空间,它会使用其模板数据库相同的表空间。进行拷贝, 你可以创建一个“原始的”用户数据库(其中不存在用户定义的对象,并且系统对象没有被改变),它不会包含任何。,而又不能在逻辑上扩展或者做别的什么操作,那么表空间可以被创建在一个不同的分区上,直到系统可以被重新配置。要这样做,给数据库普通用户授予表空间上的。表空间一旦被创建,就可以被任何数据库使用,前提是请求的用户具有足够的权限。原创 2023-10-23 19:57:21 · 344 阅读 · 0 评论 -
【PG备份】一 PostgreSQL逻辑备份(pg_dump)
pg_dump是用于备份一种PostgreSQL数据库的工具。即使数据库正在被并发使用,它也能创建一致的备份。pg_dump不阻塞其他用户访问数据库(读取或写入)。pg_dump只转储单个数据库。要备份一个集簇中 对于所有数据库公共的全局对象(例如角色和表空间),应使用pg_dumpall转储可以被输出到脚本或归档文件格式。脚本转储是包含 SQL 命令的纯文本文件,它们可以用来重构数据库到它被转储时的状态。要从这样一个脚本恢复,将它喂给psql。脚本文件甚至可以被用来在其他机器和其他架构上重构数据库。原创 2023-10-24 15:52:30 · 1130 阅读 · 0 评论 -
【PG主从】PostgreSQL13主从流复制部署(详细可用)
PG流式主从复制部署原创 2023-11-08 15:01:41 · 2469 阅读 · 2 评论 -
【PG高可用】一 PostgreSQL高可用方案repmgr部署(非常详细)
repmgr安装部署原创 2023-11-14 16:57:18 · 4239 阅读 · 3 评论 -
【PG高可用】二 PostgreSQL高可用方案repmgr管理之配置文件
是一个纯文本文件,每行包含一个参数/值组合。空格是无关紧要的(除了在带引号的参数值内),并且空行将被忽略。将该行的其余部分指定为注释。不是简单标识符或数字的参数值应该用单引号引起来。要在参数值中嵌入单引号,请写入两个引号(首选)或反斜杠引号。有效文件示例。原创 2023-11-14 19:46:00 · 449 阅读 · 0 评论 -
【PG高可用】三 PostgreSQL高可用之自动故障转移-repmgrd
repmgrd的功能:丰富的配置管理方便自定义脚本见证服务器多数据中心多种探活方式监控统计数据2 repmgrd 设置和配置repmgrd是一个守护进程,在每个 PostgreSQL 节点上运行,当运行在主节点上时可以监视本地节点,当运行在从节点上 可以监控它所连接的上游节点(上游节点可以是:主节点或级联复制的另一个中间节点)。rempgrd可以配置为在主节点或上游节点变得无法访问时提供故障转移功能,向repmgr 元数据库提供监控数据。原创 2023-11-15 18:07:11 · 1297 阅读 · 0 评论 -
【PG高可用】四 PostgreSQL高可用之repmgr管理手册
与其他repmgr 操作的不同之处在于,它还在其他服务器(降级候选服务器,以及可选的任何遵循新主服务器的其他服务器)上执行操作,这意味着从执行的服务器到这些服务器需要无密码 SSH 访问。repmgr standby follow可用于使“孤立”备用服务器成为新的主服务器的从 并追赶上其当前状态。这将执行任何必要的检查并通知成功/失败,并在运行第一个实际命令(关闭当前的主节点)之前停止。如果主服务器发生故障或需要从复制集群中删除,则必须指定新的主服务器,以确保集群继续正常运行。确保可以从升级候选者(原创 2023-11-16 16:33:46 · 733 阅读 · 0 评论 -
【PG高可用】五 PostgreSQL高可用之repmgr命令手册
描述在流复制集群中注册主节点,并将其配置为与repmgr一起使用,包括安装repmgr扩展。此命令需要在。执行执行该--dry-run选项来检查在没有实际注册主服务器的情况下会发生什么。用户权限要求用户repmgr必须是超级用户,repmgr 才能够安装该repmgr扩展。如果不是这种情况,repmgr可以在执行之前手动安装该扩展。未来的repmgr版本将能够 为扩展的安装 提供名称。选项--dry-run检查先决条件但实际上并不注册主要项。-F--force覆盖现有节点记录事件通知。原创 2024-07-16 18:22:09 · 1152 阅读 · 0 评论 -
【PG高可用】六 PostgreSQL高可用之repmgr事件通知
ga原创 2024-07-16 16:22:16 · 278 阅读 · 0 评论 -
【PG高可用】七 Repmgr源码分析之主库监控
repmgr需要在集群中每个节点上以扩展的形式安装插件,运行在每个节点上的repmgrd可以监控复制以及执行故障转移或切换等操作增强 PostgreSQL 的内置复制功能。如何可靠快速的监控主节点故障一般是所有数据库高可用程序中都会有的环节,本篇内容主要介绍不同角色的节点如何监控主节点是否存活。原创 2024-08-05 14:59:22 · 711 阅读 · 0 评论 -
【PG高可用】八 Repmgr源码分析之选主
在监控到主库故障之后,standby节点会进行主库的选举切换流程核心的函数为首先看下如何选出新主。原创 2024-08-05 14:53:05 · 1144 阅读 · 0 评论