文档 v2.7.0 版本已不再积极维护,你当前浏览的是一份归档快照。 最新文档请参阅 最新版本。
分类: Concept
-
访问控制
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 提供了一套开箱即用的,基于角色系统和权限系统的访问控制模型。 权限控制很重要,但很多用户做不好。因此 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;从库故障 …
-
本地 CA
Pigsty 部署默认启用了一些安全最佳实践:使用 SSL 加密网络流量,使用 HTTPS 加密 Web 界面。 为了实现这一功能,Pigsty 内置了本地自签名的 CA ,用于签发 SSL 证书,加密网络通信流量。 在默认情况下,SSL 与 HTTPS 是启用,但不强制使用的。对于有着较高安全要求的环境,您可以强制使用 SSL 与 HTTPS。 本地CA Pigsty 默认会在初始化时,在 ADMIN节点 本机 Pigsty 源码目录(~/pigsty)中生成一个自签名的 CA,当您需要使用 …
Pigsty 部署默认启用了一些安全最佳实践:使用 SSL 加密网络流量,使用 HTTPS 加密 Web 界面。 为了实现这一功能,Pigsty 内置了本地自签名的 CA ,用于签发 SSL 证书,加密网络通信流量。 在默认情况下,SSL 与 HTTPS 是启用,但不强制使用的。对于有着较高安全要求的环境,您可以强制使用 SSL 与 HTTPS。 本地CA Pigsty 默认会在初始化时,在 ADMIN节点 本机 Pigsty 源码目录(~/pigsty)中生成一个自签名的 CA,当您需要使用 …
-
认证 / 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:在数据库集群层面定义业务用户和角色 前者用于定义了整套环境中共用的角色与用户,后者定义 …
-
系统架构
Pigsty 使用 模块化架构 与 声明式接口。 Pigsty 使用配置清单描述整套部署环境,并通过 ansible 剧本实现。 Pigsty 在可以在任意节点上运行,无论是物理裸机还是虚拟机,只要操作系统兼容即可。 Pigsty 的行为由配置参数控制,具有幂等性的剧本 会将节点调整到配置所描述的状态。 Pigsty 采用模块化设计,可自由组合以适应不同场景。使用剧本将模块安装到配置指定的节点上。 模块 Pigsty 采用模块化设计,有六个主要的默认模块 …
Pigsty 使用 模块化架构 与 声明式接口。 Pigsty 使用配置清单描述整套部署环境,并通过 ansible 剧本实现。 Pigsty 在可以在任意节点上运行,无论是物理裸机还是虚拟机,只要操作系统兼容即可。 Pigsty 的行为由配置参数控制,具有幂等性的剧本 会将节点调整到配置所描述的状态。 Pigsty 采用模块化设计,可自由组合以适应不同场景。使用剧本将模块安装到配置指定的节点上。 模块 Pigsty 采用模块化设计,有六个主要的默认模块 …
-
概念
PGSQL 模块总览:关键概念与架构细节 PGSQL模块在生产环境中以集群的形式组织,这些集群是由一组由主-备关联的数据库实例组成的逻辑实体。 每个数据库集群都是一个自治的业务服务单元,由至少一个 数据库(主库)实例 组成。 实体概念图 让我们从ER图开始。在Pigsty的PGSQL模块中,有四种核心实体: 集群(Cluster):自治的PostgreSQL业务单元,用作其他实体的顶级命名空间。 服务(Service):集群能力的命名抽象,路由流量,并使用节点端口暴露postgres服务。 实 …
PGSQL 模块总览:关键概念与架构细节 PGSQL模块在生产环境中以集群的形式组织,这些集群是由一组由主-备关联的数据库实例组成的逻辑实体。 每个数据库集群都是一个自治的业务服务单元,由至少一个 数据库(主库)实例 组成。 实体概念图 让我们从ER图开始。在Pigsty的PGSQL模块中,有四种核心实体: 集群(Cluster):自治的PostgreSQL业务单元,用作其他实体的顶级命名空间。 服务(Service):集群能力的命名抽象,路由流量,并使用节点端口暴露postgres服务。 实 …