文档 v2.7.0 版本已不再积极维护,你当前浏览的是一份归档快照。 最新文档请参阅 最新版本。
模块: PGSQL
-
使用 PostgreSQL 作为 Grafana 后端数据库
Grafana 默认使用 SQLite 存储元数据。Pigsty v2.7 可以为 Grafana 置备 PostgreSQL 用户与数据库,随后再手工将 Grafana 指向该数据库。 v2.7 范围 grafana_database 与 grafana_pgurl 参数在 v2.7.0 中已经废弃。该版本的 grafana.ini.j2 不会管理 PostgreSQL 后端连接串,因此重新执行 grafana_config 任务可能 覆盖手工修改;请将此变更纳入您自己的配置管理。 置备数据库 …
Grafana 默认使用 SQLite 存储元数据。Pigsty v2.7 可以为 Grafana 置备 PostgreSQL 用户与数据库,随后再手工将 Grafana 指向该数据库。 v2.7 范围 grafana_database 与 grafana_pgurl 参数在 v2.7.0 中已经废弃。该版本的 grafana.ini.j2 不会管理 PostgreSQL 后端连接串,因此重新执行 grafana_config 任务可能 覆盖手工修改;请将此变更纳入您自己的配置管理。 置备数据库 …
-
访问控制
Pigsty 提供了一套开箱即用的,基于角色系统和权限系统的访问控制模型。 权限控制很重要,但很多用户做不好。因此 Pigsty 提供了一套开箱即用的精简访问控制模型,为您的集群安全性提供一个兜底。 角色系统 Pigsty 默认的角色系统包含四个默认角色和四个默认用户: 角色名称 属性 所属 描述 dbrole_readonly NOLOGIN 角色:全局只读访问 dbrole_readwrite NOLOGIN dbrole_readonly 角色:全局读写访问 dbrole_admin …
Pigsty 提供了一套开箱即用的,基于角色系统和权限系统的访问控制模型。 权限控制很重要,但很多用户做不好。因此 Pigsty 提供了一套开箱即用的精简访问控制模型,为您的集群安全性提供一个兜底。 角色系统 Pigsty 默认的角色系统包含四个默认角色和四个默认用户: 角色名称 属性 所属 描述 dbrole_readonly NOLOGIN 角色:全局只读访问 dbrole_readwrite NOLOGIN dbrole_readonly 角色:全局读写访问 dbrole_admin …
-
常见问题
PGSQL初始化失败:ABORT due to postgres exists 这意味着正在初始化的 PostgreSQL 实例已经存在了, 将 pg_clean 设置为 true,并将 pg_safeguard 设置为 false,就可以在执行 pgsql.yml 期间强制清理现存实例。 如果 pg_clean 为 true (并且 pg_safeguard 也为 false),pgsql.yml 剧本将会移除现有的 pgsql 数据并重新初始化为新的,这使得这个剧本真正幂等。 你可以通过使 …
PGSQL初始化失败:ABORT due to postgres exists 这意味着正在初始化的 PostgreSQL 实例已经存在了, 将 pg_clean 设置为 true,并将 pg_safeguard 设置为 false,就可以在执行 pgsql.yml 期间强制清理现存实例。 如果 pg_clean 为 true (并且 pg_safeguard 也为 false),pgsql.yml 剧本将会移除现有的 pgsql 数据并重新初始化为新的,这使得这个剧本真正幂等。 你可以通过使 …
-
指标列表
PGSQL 模块包含有 638 类可用监控指标。 Metric Name Type Labels Description ALERTS Unknown category, job, level, ins, severity, ip, alertname, alertstate, instance, cls N/A ALERTS_FOR_STATE Unknown category, job, level, ins, severity, ip, alertname, instance, cls …
PGSQL 模块包含有 638 类可用监控指标。 Metric Name Type Labels Description ALERTS Unknown category, job, level, ins, severity, ip, alertname, alertstate, instance, cls N/A ALERTS_FOR_STATE Unknown category, job, level, ins, severity, ip, alertname, instance, cls …
-
监控面板
Pigsty 为 PostgreSQL 提供了诸多开箱即用的 Grafana 监控仪表盘: Demo & Gallery。 在 Pigsty 中共有 26 个与 PostgreSQL 相关的监控面板,按照层次分为 总览,集群,实例,数据库四大类,按照数据来源又分为 PGSQL,PGCAT,PGLOG 三大类。 总览 总览 集群 实例 数据库 PGSQL Overview PGSQL Cluster PGSQL Instance PGSQL Database PGSQL Alert PGRDS …
Pigsty 为 PostgreSQL 提供了诸多开箱即用的 Grafana 监控仪表盘: Demo & Gallery。 在 Pigsty 中共有 26 个与 PostgreSQL 相关的监控面板,按照层次分为 总览,集群,实例,数据库四大类,按照数据来源又分为 PGSQL,PGCAT,PGLOG 三大类。 总览 总览 集群 实例 数据库 PGSQL Overview PGSQL Cluster PGSQL Instance PGSQL Database PGSQL Alert PGRDS …
-
服务接入
单机用户 “服务” 的概念是给生产环境用的,个人用户/单机集群可以不折腾,直接拿实例名/IP地址访问数据库。 例如,Pigsty 默认的单节点 pg-meta.meta 数据库,就可以直接用下面三个不同的用户连接上去。 psql postgres://dbuser_dba:[email protected]/meta # 直接用 DBA 超级用户连上去 psql postgres://dbuser_meta:[email protected]/meta # 用默认的业务管理 …
单机用户 “服务” 的概念是给生产环境用的,个人用户/单机集群可以不折腾,直接拿实例名/IP地址访问数据库。 例如,Pigsty 默认的单节点 pg-meta.meta 数据库,就可以直接用下面三个不同的用户连接上去。 psql postgres://dbuser_dba:[email protected]/meta # 直接用 DBA 超级用户连上去 psql postgres://dbuser_meta:[email protected]/meta # 用默认的业务管理 …
-
时间点恢复
概览 您可以将集群恢复回滚至过去任意时刻,避免软件缺陷与人为失误导致的数据损失。 Pigsty 的 PostgreSQL 集群带有自动配置的时间点恢复(PITR)方案,基于备份组件 pgBackRest 与可选的对象存储仓库 MinIO 提供。 高可用方案 可以解决硬件故障,但却对软件缺陷与人为失误导致的数据删除/覆盖写入/删库等问题却无能为力。 对于这种情况,Pigsty 提供了开箱即用的 时间点恢复(Point in Time Recovery, PITR)能力,无需额外配置即默认启用。 …
概览 您可以将集群恢复回滚至过去任意时刻,避免软件缺陷与人为失误导致的数据损失。 Pigsty 的 PostgreSQL 集群带有自动配置的时间点恢复(PITR)方案,基于备份组件 pgBackRest 与可选的对象存储仓库 MinIO 提供。 高可用方案 可以解决硬件故障,但却对软件缺陷与人为失误导致的数据删除/覆盖写入/删库等问题却无能为力。 对于这种情况,Pigsty 提供了开箱即用的 时间点恢复(Point in Time Recovery, PITR)能力,无需额外配置即默认启用。 …
-
监控接入
本文介绍了 Pigsty 的监控系统架构,包括监控指标,日志,与目标管理的方式。以及如何监控现有PG集群与远程 RDS服务。 监控概览 Pigsty使用现代的可观测技术栈对 PostgreSQL 进行监控: 使用 Grafana 进行指标可视化和 PostgreSQL 数据源。 使用 Prometheus 来采集 PostgreSQL / Pgbouncer / Patroni / HAProxy / Node 的指标 使用 Loki 来记录 PostgreSQL / Pgbouncer / …
本文介绍了 Pigsty 的监控系统架构,包括监控指标,日志,与目标管理的方式。以及如何监控现有PG集群与远程 RDS服务。 监控概览 Pigsty使用现代的可观测技术栈对 PostgreSQL 进行监控: 使用 Grafana 进行指标可视化和 PostgreSQL 数据源。 使用 Prometheus 来采集 PostgreSQL / Pgbouncer / Patroni / HAProxy / Node 的指标 使用 Loki 来记录 PostgreSQL / Pgbouncer / …
-
迁移
Pigsty 内置了一个剧本 pgsql-migration.yml ,基于逻辑复制来实现在线数据库迁移。 通过预生成的自动化脚本,应用停机时间可以缩减到几秒内。但请注意,逻辑复制需要 PostgreSQL 10 以上的版本才能工作。 当然如果您有充足的停机时间预算,那么总是可以使用 pg_dump | psql 的方式进行停机迁移。 定义迁移任务 想要使用Pigsty提供的在线迁移剧本,您需要创建一个定义文件,来描述迁移任务的细节。 请查看任务定义文件示例作为参考: …
Pigsty 内置了一个剧本 pgsql-migration.yml ,基于逻辑复制来实现在线数据库迁移。 通过预生成的自动化脚本,应用停机时间可以缩减到几秒内。但请注意,逻辑复制需要 PostgreSQL 10 以上的版本才能工作。 当然如果您有充足的停机时间预算,那么总是可以使用 pg_dump | psql 的方式进行停机迁移。 定义迁移任务 想要使用Pigsty提供的在线迁移剧本,您需要创建一个定义文件,来描述迁移任务的细节。 请查看任务定义文件示例作为参考: …
-
备份与PITR
Pigsty 使用 pgBackRest 进行 PITR 备份和恢复。 对于硬件故障来说,基于物理复制的高可用故障切换可能会是最佳选择。而对于数据损坏(无论是机器还是人为错误),时间点恢复(PITR)则更为合适:它提供了对最坏情况的兜底。 备份 使用以下命令备份 PostgreSQL 数据库集群: # stanza 是 pgbackrest 在同一个存储库中区别不同的集群的标识,默认 stanza 名称 = {{ pg_cluster }} pgbackrest …
Pigsty 使用 pgBackRest 进行 PITR 备份和恢复。 对于硬件故障来说,基于物理复制的高可用故障切换可能会是最佳选择。而对于数据损坏(无论是机器还是人为错误),时间点恢复(PITR)则更为合适:它提供了对最坏情况的兜底。 备份 使用以下命令备份 PostgreSQL 数据库集群: # stanza 是 pgbackrest 在同一个存储库中区别不同的集群的标识,默认 stanza 名称 = {{ pg_cluster }} pgbackrest …
-
访问控制
Pigsty 提供了一套开箱即用的,基于角色系统和权限系统的访问控制模型。 权限控制很重要,但很多用户做不好。因此 Pigsty 提供了一套开箱即用的精简访问控制模型,为您的集群安全性提供一个兜底。 角色系统 Pigsty 默认的角色系统包含四个默认角色和四个默认用户: 角色名称 属性 所属 描述 dbrole_readonly NOLOGIN 角色:全局只读访问 dbrole_readwrite NOLOGIN dbrole_readonly 角色:全局读写访问 dbrole_admin …
Pigsty 提供了一套开箱即用的,基于角色系统和权限系统的访问控制模型。 权限控制很重要,但很多用户做不好。因此 Pigsty 提供了一套开箱即用的精简访问控制模型,为您的集群安全性提供一个兜底。 角色系统 Pigsty 默认的角色系统包含四个默认角色和四个默认用户: 角色名称 属性 所属 描述 dbrole_readonly NOLOGIN 角色:全局只读访问 dbrole_readwrite NOLOGIN dbrole_readonly 角色:全局读写访问 dbrole_admin …
-
数据库高可用
概览 Pigsty 的 PostgreSQL 集群带有开箱即用的高可用方案,由 Patroni、Etcd 和 HAProxy 强力驱动。 当您的 PostgreSQL 集群含有两个或更多实例时,您无需任何配置即拥有了硬件故障自愈的数据库高可用能力 —— 只要集群中有任意实例存活,集群就可以对外提供完整的服务,而客户端只要连接至集群中的任意节点,即可获得完整的服务,而无需关心主从拓扑变化。 在默认配置下,主库故障恢复时间目标 RTO ≈ 30s,数据恢复点目标 RPO < 1MB;从库故障 …
概览 Pigsty 的 PostgreSQL 集群带有开箱即用的高可用方案,由 Patroni、Etcd 和 HAProxy 强力驱动。 当您的 PostgreSQL 集群含有两个或更多实例时,您无需任何配置即拥有了硬件故障自愈的数据库高可用能力 —— 只要集群中有任意实例存活,集群就可以对外提供完整的服务,而客户端只要连接至集群中的任意节点,即可获得完整的服务,而无需关心主从拓扑变化。 在默认配置下,主库故障恢复时间目标 RTO ≈ 30s,数据恢复点目标 RPO < 1MB;从库故障 …
-
管理预案
本文整理了 Pigsty 中常用的 PostgreSQL 管理预案,用于维护生产环境中的数据库集群。 这里是一些常见 PostgreSQL 管理任务的 SOP 预案: 案例1: 创建集群 案例2: 创建用户 案例3: 创建数据库 案例4: 重载服务 案例5: 重载HBA 案例6: 配置集群 案例7: 添加实例 案例8: 移除实例 案例9: 下线集群 案例10: 主动切换 案例11: 备份集群 案例12: 恢复集群 案例13: 添加软件 案例14: 安装扩展 案例15: 小版本升级 案例16: …
本文整理了 Pigsty 中常用的 PostgreSQL 管理预案,用于维护生产环境中的数据库集群。 这里是一些常见 PostgreSQL 管理任务的 SOP 预案: 案例1: 创建集群 案例2: 创建用户 案例3: 创建数据库 案例4: 重载服务 案例5: 重载HBA 案例6: 配置集群 案例7: 添加实例 案例8: 移除实例 案例9: 下线集群 案例10: 主动切换 案例11: 备份集群 案例12: 恢复集群 案例13: 添加软件 案例14: 安装扩展 案例15: 小版本升级 案例16: …
-
使用 VIP-Manager 为 PostgreSQL 集群配置二层 VIP
您可以在 PostgreSQL 集群上绑定一个可选的 L2 VIP —— 前提条件是:集群中的所有节点都在一个二层网络中。 这个 L2 VIP 强制使用 Master - Backup 模式,Master 始终指向在数据库集群主库实例所在的节点。 这个 VIP 由 VIP-Manager 组件管理,它会从 DCS (etcd) 中直接读取由 Patroni 写入的 Leader Key,从而判断自己是否是 Master。 启用VIP 在 PostgreSQL 集群上定义 …
您可以在 PostgreSQL 集群上绑定一个可选的 L2 VIP —— 前提条件是:集群中的所有节点都在一个二层网络中。 这个 L2 VIP 强制使用 Master - Backup 模式,Master 始终指向在数据库集群主库实例所在的节点。 这个 VIP 由 VIP-Manager 组件管理,它会从 DCS (etcd) 中直接读取由 Patroni 写入的 Leader Key,从而判断自己是否是 Master。 启用VIP 在 PostgreSQL 集群上定义 …
-
模块:PGSQL
世界上最先进的开源关系型数据库! 而 Pigsty 帮它进入全盛状态:开箱即用、可靠、可观测、可维护、可伸缩! 配置 | 管理 | 剧本 | 监控 | 参数 概览 了解关于 PostgreSQL 的重要主题与概念。 系统架构 集群配置 扩展插件 用户/角色 数据库 服务/接入 认证/HBA 访问控制 管理预案 备份恢复 监控接入 集群迁移 仪表盘 配置 描述 你想要的 PostgreSQL 集群 身份参数:定义PostgreSQL集群的身份参数 读写主库:创建由单一主库构成的单实例“集群“ 只 …
世界上最先进的开源关系型数据库! 而 Pigsty 帮它进入全盛状态:开箱即用、可靠、可观测、可维护、可伸缩! 配置 | 管理 | 剧本 | 监控 | 参数 概览 了解关于 PostgreSQL 的重要主题与概念。 系统架构 集群配置 扩展插件 用户/角色 数据库 服务/接入 认证/HBA 访问控制 管理预案 备份恢复 监控接入 集群迁移 仪表盘 配置 描述 你想要的 PostgreSQL 集群 身份参数:定义PostgreSQL集群的身份参数 读写主库:创建由单一主库构成的单实例“集群“ 只 …
-
扩展列表
Pigsty 提供了丰富的 PostgreSQL 扩展插件支持,包括 230 个 RPM扩展 与 189 个 DEB扩展。 Pigsty 总共提供了 255 个可用扩展,其中含 PostgreSQL 自带的 73 个内置扩展)。 Pigsty 仓库的 维护了 34 个 RPM 扩展与 10 个 DEB 扩展。 RPM扩展 Pigsty 在 EL系操作系统 上共有 230 个扩展,其中包括 73 个 PostgreSQL 自带扩展 和 157 个额外的 RPM 扩展,其中由 Pigsty 维护的占 …
Pigsty 提供了丰富的 PostgreSQL 扩展插件支持,包括 230 个 RPM扩展 与 189 个 DEB扩展。 Pigsty 总共提供了 255 个可用扩展,其中含 PostgreSQL 自带的 73 个内置扩展)。 Pigsty 仓库的 维护了 34 个 RPM 扩展与 10 个 DEB 扩展。 RPM扩展 Pigsty 在 EL系操作系统 上共有 230 个扩展,其中包括 73 个 PostgreSQL 自带扩展 和 157 个额外的 RPM 扩展,其中由 Pigsty 维护的占 …
-
剧本
PostgreSQL 剧本 Pigsty提供了一系列剧本,用于集群上下线扩缩容,用户/数据库管理,监控或迁移已有实例。 pgsql.yml :初始化PostgreSQL集群或添加新的从库。 pgsql-rm.yml :移除PostgreSQL集群,或移除某个实例 pgsql-user.yml :在现有的PostgreSQL集群中添加新的业务用户 pgsql-db.yml :在现有的PostgreSQL集群中添加新的业务数据库 pgsql-monitor.yml :将远程postgres实例纳入监 …
PostgreSQL 剧本 Pigsty提供了一系列剧本,用于集群上下线扩缩容,用户/数据库管理,监控或迁移已有实例。 pgsql.yml :初始化PostgreSQL集群或添加新的从库。 pgsql-rm.yml :移除PostgreSQL集群,或移除某个实例 pgsql-user.yml :在现有的PostgreSQL集群中添加新的业务用户 pgsql-db.yml :在现有的PostgreSQL集群中添加新的业务数据库 pgsql-monitor.yml :将远程postgres实例纳入监 …
-
使用 PostgreSQL 作为 Ansible 配置清单 CMDB
Pigsty v2.7 默认从 pigsty.yml 读取 Ansible 配置清单。该版本同时提供了 三个脚本,可以将清单载入 meta 数据库的 pigsty 模式,并让 Ansible 改用动态生成的清单。 本文严格对应 v2.7.0 标签中的 bin/inventory_load、 bin/inventory_cmdb 与 bin/inventory_conf。 前置条件 默认 pg-meta 集群会通过 files/cmdb.sql 创建 CMDB 模式。请先完成 infra.yml …
Pigsty v2.7 默认从 pigsty.yml 读取 Ansible 配置清单。该版本同时提供了 三个脚本,可以将清单载入 meta 数据库的 pigsty 模式,并让 Ansible 改用动态生成的清单。 本文严格对应 v2.7.0 标签中的 bin/inventory_load、 bin/inventory_cmdb 与 bin/inventory_conf。 前置条件 默认 pg-meta 集群会通过 files/cmdb.sql 创建 CMDB 模式。请先完成 infra.yml …
-
集群配置
根据需求场景选择合适的实例与集群类型,配置出满足需求的 PostgreSQL 数据库集群。 您可以定义不同类型的实例和集群,下面是 Pigsty 中常见的几种 PostgreSQL 实例/集群类型: 读写主库:定义单一实例集群。 只读从库:定义具有一个主库和一个副本的基本HA集群。 离线从库:定义专用于OLAP/ETL/交互式查询的实例 同步备库:启用同步提交以确保没有数据丢失。 法定人数提交:使用多数同步提交获得更高的一致性级别。 备份集群:克隆现有集群并跟随它 延迟集群:克隆现有集群用于紧 …
根据需求场景选择合适的实例与集群类型,配置出满足需求的 PostgreSQL 数据库集群。 您可以定义不同类型的实例和集群,下面是 Pigsty 中常见的几种 PostgreSQL 实例/集群类型: 读写主库:定义单一实例集群。 只读从库:定义具有一个主库和一个副本的基本HA集群。 离线从库:定义专用于OLAP/ETL/交互式查询的实例 同步备库:启用同步提交以确保没有数据丢失。 法定人数提交:使用多数同步提交获得更高的一致性级别。 备份集群:克隆现有集群并跟随它 延迟集群:克隆现有集群用于紧 …
-
认证 / HBA
Pigsty 中基于主机的身份认证 HBA(Host-Based Authentication)详解。 认证是 访问控制 与 权限系统 的基石,PostgreSQL拥有多种认证方法。 这里主要介绍 HBA:Host Based Authentication,HBA规则定义了哪些用户能够通过哪些方式从哪些地方访问哪些数据库。 客户端认证 要连接到PostgreSQL数据库,用户必须先经过认证(默认使用密码)。 您可以在连接字符串中提供密码(不安全)或使用PGPASSWORD环境变量或 …
Pigsty 中基于主机的身份认证 HBA(Host-Based Authentication)详解。 认证是 访问控制 与 权限系统 的基石,PostgreSQL拥有多种认证方法。 这里主要介绍 HBA:Host Based Authentication,HBA规则定义了哪些用户能够通过哪些方式从哪些地方访问哪些数据库。 客户端认证 要连接到PostgreSQL数据库,用户必须先经过认证(默认使用密码)。 您可以在连接字符串中提供密码(不安全)或使用PGPASSWORD环境变量或 …
-
扩展插件
扩展是 PostgreSQL 的灵魂所在 Pigsty 收录了255 个预先编译打包、开箱即用的 PostgreSQL 强力扩展插件,其中包括一些强力扩展: PostGIS:提供地理空间数据类型与索引支持,GIS 事实标准 (& pgPointCloud 点云,pgRouting 寻路) TimescaleDB:添加时间序列/持续聚合/分布式/列存储/自动压缩的能力 PGVector:添加 AI 向量/嵌入数据类型支持,以及 ivfflat 与 hnsw 向量索引。(& pg_sparse 稀 …
扩展是 PostgreSQL 的灵魂所在 Pigsty 收录了255 个预先编译打包、开箱即用的 PostgreSQL 强力扩展插件,其中包括一些强力扩展: PostGIS:提供地理空间数据类型与索引支持,GIS 事实标准 (& pgPointCloud 点云,pgRouting 寻路) TimescaleDB:添加时间序列/持续聚合/分布式/列存储/自动压缩的能力 PGVector:添加 AI 向量/嵌入数据类型支持,以及 ivfflat 与 hnsw 向量索引。(& pg_sparse 稀 …
-
服务/接入
分离读写操作,正确路由流量,稳定可靠地交付 PostgreSQL 集群提供的能力。 服务是一种抽象:它是数据库集群对外提供能力的形式,并封装了底层集群的细节。 服务对于生产环境中的稳定接入至关重要,在高可用集群自动故障时方显其价值,单机用户通常不需要操心这个概念。 单机用户 “服务” 的概念是给生产环境用的,个人用户/单机集群可以不折腾,直接拿实例名/IP地址访问数据库。 例如,Pigsty 默认的单节点 pg-meta.meta 数据库,就可以直接用下面三个不同的用户连接上去。 psql …
分离读写操作,正确路由流量,稳定可靠地交付 PostgreSQL 集群提供的能力。 服务是一种抽象:它是数据库集群对外提供能力的形式,并封装了底层集群的细节。 服务对于生产环境中的稳定接入至关重要,在高可用集群自动故障时方显其价值,单机用户通常不需要操心这个概念。 单机用户 “服务” 的概念是给生产环境用的,个人用户/单机集群可以不折腾,直接拿实例名/IP地址访问数据库。 例如,Pigsty 默认的单节点 pg-meta.meta 数据库,就可以直接用下面三个不同的用户连接上去。 psql …
-
数据库
在这里的上下文中,数据库指的是使用 SQL 命令 CREATE DATABASE 创建的,数据库集簇内的逻辑对象。 一组 PostgreSQL 服务器可以同时服务于多个 数据库 (Database)。在 Pigsty 中,你可以在集群配置中定义好所需的数据库。 Pigsty会对默认模板数据库template1进行修改与定制,创建默认模式,安装默认扩展,配置默认权限,新创建的数据库默认会从template1继承这些设置。 默认情况下,所有业务数据库都会被1:1添加到 Pgbouncer 连接池中 …
在这里的上下文中,数据库指的是使用 SQL 命令 CREATE DATABASE 创建的,数据库集簇内的逻辑对象。 一组 PostgreSQL 服务器可以同时服务于多个 数据库 (Database)。在 Pigsty 中,你可以在集群配置中定义好所需的数据库。 Pigsty会对默认模板数据库template1进行修改与定制,创建默认模式,安装默认扩展,配置默认权限,新创建的数据库默认会从template1继承这些设置。 默认情况下,所有业务数据库都会被1:1添加到 Pgbouncer 连接池中 …
-
用户/角色
在这里的上下文中,用户指的是使用 SQL 命令 CREATE USER/ROLE 创建的,数据库集簇内的逻辑对象。 在PostgreSQL中,用户直接隶属于数据库集簇而非某个具体的数据库。因此在创建业务数据库和业务用户时,应当遵循"先用户,后数据库"的原则。 定义用户 Pigsty通过两个配置参数定义数据库集群中的角色与用户: pg_default_roles:定义全局统一使用的角色和用户 pg_users:在数据库集群层面定义业务用户和角色 前者用于定义了整套环境中共用的角色与用户,后者定义 …
在这里的上下文中,用户指的是使用 SQL 命令 CREATE USER/ROLE 创建的,数据库集簇内的逻辑对象。 在PostgreSQL中,用户直接隶属于数据库集簇而非某个具体的数据库。因此在创建业务数据库和业务用户时,应当遵循"先用户,后数据库"的原则。 定义用户 Pigsty通过两个配置参数定义数据库集群中的角色与用户: pg_default_roles:定义全局统一使用的角色和用户 pg_users:在数据库集群层面定义业务用户和角色 前者用于定义了整套环境中共用的角色与用户,后者定义 …
-
架构
组件概览 以下是 PostgreSQL 模块组件及其相互作用的详细描述,从上至下分别为: 集群 DNS 由 infra 节点上的 DNSMASQ 负责解析 集群 VIP 由 vip-manager 组件管理,它负责将 pg_vip_address 绑定到集群主库节点上。 vip-manager 从 etcd 集群获取由 patroni 写入的集群领导者信息 集群服务由节点上的 Haproxy 对外暴露,不同服务通过节点的不同端口(543x)区分。 Haproxy 端口 9101:监控指标 & 统 …
组件概览 以下是 PostgreSQL 模块组件及其相互作用的详细描述,从上至下分别为: 集群 DNS 由 infra 节点上的 DNSMASQ 负责解析 集群 VIP 由 vip-manager 组件管理,它负责将 pg_vip_address 绑定到集群主库节点上。 vip-manager 从 etcd 集群获取由 patroni 写入的集群领导者信息 集群服务由节点上的 Haproxy 对外暴露,不同服务通过节点的不同端口(543x)区分。 Haproxy 端口 9101:监控指标 & 统 …
-
概念
PGSQL 模块总览:关键概念与架构细节 PGSQL模块在生产环境中以集群的形式组织,这些集群是由一组由主-备关联的数据库实例组成的逻辑实体。 每个数据库集群都是一个自治的业务服务单元,由至少一个 数据库(主库)实例 组成。 实体概念图 让我们从ER图开始。在Pigsty的PGSQL模块中,有四种核心实体: 集群(Cluster):自治的PostgreSQL业务单元,用作其他实体的顶级命名空间。 服务(Service):集群能力的命名抽象,路由流量,并使用节点端口暴露postgres服务。 实 …
PGSQL 模块总览:关键概念与架构细节 PGSQL模块在生产环境中以集群的形式组织,这些集群是由一组由主-备关联的数据库实例组成的逻辑实体。 每个数据库集群都是一个自治的业务服务单元,由至少一个 数据库(主库)实例 组成。 实体概念图 让我们从ER图开始。在Pigsty的PGSQL模块中,有四种核心实体: 集群(Cluster):自治的PostgreSQL业务单元,用作其他实体的顶级命名空间。 服务(Service):集群能力的命名抽象,路由流量,并使用节点端口暴露postgres服务。 实 …