# 前言在 PostgreSQL 中,对于参数的生效时机有如下几种类型:1. postmaster:需要重启数据库才可以生效。2. superuser-backend:该类型的参数可以由超级用户来改变,可以在 postgresql.conf 中对这些设置进行更改,而无需重新启动 PostgreSQL 实例,只对新连接生效。3. user:不需要重启数据库,通过 set 命令即可设置。4. internal:只读参数,无法通过配置文件进行修改。5. backend :不需要重启数据库,给 postmaster 进程发送 sig...
# 前言PostgreSQL 在 9.0 之前并未支持流式复制,备库总是落后主库一个 WAL log,在 9.0 之后 PostgreSQL 提供了流式复制,备库不断从主库同步相应的数据,并应用每个 WAL record。在 PostgreSQL 9.4 开始,PostgreSQL 提供了逻辑流复制功能,至此,PostgreSQL 拥有了更加完备的数据同步方式,解决了物理流复制无法覆盖的一些场景。本章内容将介绍物理复制与逻辑复制的一些差别。## 参数配置差异我们知道在 PostgreSQL 中如果想要实...
postgres | public | t1 | INSERT postgres | public | t1 | SELECT postgres | public | t1 | UPDATE postgres | public | t1 | DELETE(4 rows)````创建 buser,然后将 auser 具有的权限赋予 buser:````undefinedpostgres=# create user buser password 'RFVrfv@2022';CREATE ROLEpostgres=# grant auser to buser;GRANT ROLE````...
# 前言在 PostgreSQL 中,有如下场景我们需要进行重建索引1. 索引膨胀。2. 当修改了某些参数,为了使之完全生效,需要进行 reindex 操作,如 fillfactor。3. 索引损坏。4. 在线创建索引失败,索引状态为 "invaild"。在 PostgreSQL 12 之前不支持在线重建索引的操作,通常我们的做法是创建一个新的索引,然后删除旧的索引。在 PostgreSQL 12 支持了 在线重建索引的操作,只需要一条命令,简化了运维操作。# 补丁说明参考文档[1]...
postgres | public | t1 | INSERT postgres | public | t1 | SELECT postgres | public | t1 | UPDATE postgres | public | t1 | DELETE(4 rows)````创建 buser,然后将 auser 具有的权限赋予 buser:````undefinedpostgres=# create user buser password 'RFVrfv@2022';CREATE ROLEpostgres=# grant auser to buser;GRANT ROLE````...
# 前言在 PostgreSQL 中,有如下场景我们需要进行重建索引1. 索引膨胀。2. 当修改了某些参数,为了使之完全生效,需要进行 reindex 操作,如 fillfactor。3. 索引损坏。4. 在线创建索引失败,索引状态为 "invaild"。在 PostgreSQL 12 之前不支持在线重建索引的操作,通常我们的做法是创建一个新的索引,然后删除旧的索引。在 PostgreSQL 12 支持了 在线重建索引的操作,只需要一条命令,简化了运维操作。# 补丁说明参考文档[1]...
本文介绍云数据库 PostgreSQL 版的实例规格,帮助您了解 PostgreSQL 实例的规格信息,您可以查看本文了解各个规格的具体配置。 PostgreSQL 实例支持高可用架构(一主一备两节点)及只读节点,支持的节点规格如下表所示: 节点规格 CPU 核数 内存 最大连接数 存储空间 rds.postgres.1c2g 1 核 2 GB 200 20 GB~3000 GB rds.postgres.2c4g 2 核 4 GB 400 rds.postgres.2c8g 2 核 8 GB 600 rds.postgres.2c16g 2 核 16 GB 1600 rds.postgre...
# 前言PostgreSQL 在 9.1 中推出了一种特殊的表:unlogged table,使用 unlogged table 最大的特点是涉及到表的更新,删除等操作不会记录 WAL 日志,这样可以大大的提高性能。不过需要特别注意的是,在数据库异常宕机时,unlogged tables 中的数据可能会丢失。### unlogged table 使用场景1. 可以接受数据丢失的风险,数据可以从其他源进行导入。2. unlogged table 通常用于中间结果,频繁变更的会话数据### unlogged table 特性...
本文介绍云数据库 PostgreSQL 版的各规格实例在 PostgreSQL 13 版本下性能测试的测试结果。 规格代码 最大连接数 表数量 单表数据量 线程数 SysBench 读取次数 SysBench 写入次数 QPS TPS rds.postgres.1c2g 200 64 10,000,000 32 1,415,834 404,523 11,229 561 rds.postgres.2c4g 400 64 10,000,000 32 3,285,996 938,854 26,075 1,303 rds.postgres.4c8g 800 64 10,000,000 32 7,261,814 2,074,804 57,630 2,881 rds.postgres....
# 前言PostgreSQL 在 9.1 中推出了一种特殊的表:unlogged table,使用 unlogged table 最大的特点是涉及到表的更新,删除等操作不会记录 WAL 日志,这样可以大大的提高性能。不过需要特别注意的是,在数据库异常宕机时,unlogged tables 中的数据可能会丢失。### unlogged table 使用场景1. 可以接受数据丢失的风险,数据可以从其他源进行导入。2. unlogged table 通常用于中间结果,频繁变更的会话数据### unlogged table 特性...
# **问题现象**数据量在没有发生变化的情况下,发现存储空间不断增长,我们该如何解决此类问题。# **根因描述**Replication Slot 是 PostgreSQL 数据库中的一种机制,replication Slot 用于提高数据复制的效率和可靠性,避免 WAL 日志丢失或重复消费。在常见的场景中,如果 PostgreSQL 中有处于非 active 的 slot,会导致WAL日志不断堆积,占用大量存储空间,甚至可能写满磁盘导致业务受损。如果有其他的下游消费组件,未能及时提交 ...
4. 数据库日志5. 临时文件6. ……在我们进行排查此问题时,可以从这个方面进行。由于篇幅限制,本章内容仅包含数据文件部分,其他方面请查看后续文章[1]。# 解决方案### 显示数据库的大小```Plain Textpostgres=# select pg_database.datname, pg_size_pretty (pg_database_size(oid)) AS size from pg_database; datname | size -----------+--------- postgres | 8053 kB template1 | 7585 kB template0 | 758...
4. 数据库日志5. 临时文件6. ……在我们进行排查此问题时,可以从这个方面进行。由于篇幅限制,本章内容仅包含数据文件部分,其他方面请查看后续文章[1]。# 解决方案### 显示数据库的大小````undefinedpostgres=# select pg_database.datname, pg_size_pretty (pg_database_size(oid)) AS size from pg_database; datname | size -----------+--------- postgres | 8053 kB template1 | 7585 kB template0 | 758...