暂无图片
pg生产中的高可用,用哪种技术的多些
我来答
分享
redgame
2023-07-09
pg生产中的高可用,用哪种技术的多些
1
我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
手机用户9600

在 PostgreSQL 中,有多种高可用技术可供选择。其中一种是 streaming replication,也称为流式复制,它通过传输“redo”日志来确保主备库的一致性。另一种是 pgpool-II,它可以管理多个 PostgreSQL 数据库,并且可以在出现故障时自动切换到备用数据库。此外,还有其他一些高可用技术,例如 keepalived、haproxy 等 。

暂无图片 评论
暂无图片 有用 0
打赏 0
暂无图片

在 PostgreSQL 数据库的生产环境中,常见的高可用技术包括以下几种:

  1. 流复制(Streaming Replication):这是 PostgreSQL 内置的主备复制机制,通过将事务日志(WAL)从主服务器复制到一个或多个备份服务器来实现数据同步。流复制提供了异步和同步两种模式,可以在服务器级别提供容错和故障恢复。

  2. 逻辑复制(Logical Replication):逻辑复制允许将特定的数据库对象或表级别的更改以逻辑格式复制到其他服务器。相较于流复制,逻辑复制提供了更大的灵活性,但也可能存在更大的延迟。

  3. 基于存储的复制(Storage-based Replication):这种方法使用底层存储系统或文件系统来复制数据。通过配置阵列复制、分布式文件系统或共享存储等技术,可以实现数据的复制和故障转移。

  4. 自动故障转移和故障恢复(Automatic Failover and Recovery):这些技术基于监控和检测主服务器是否发生故障,自动触发切换到备份服务器来提供连续的可用性。常见的自动故障转移工具包括 pgpool-II、repmgr 等。

  5. 多主复制(Multi-Master Replication):允许多个数据库实例都可以接受写操作,并确保数据的一致性。这种配置通常需要更复杂的设置和冲突解决策略。

在实际生产环境中,最常用的高可用技术是流复制(Streaming Replication)和自动故障转移工具(如 pgpool-II、repmgr)。这些技术相对简单而且稳定,可以提供高可用性并满足大部分应用场景的需求。其他技术如逻辑复制、基于存储的复制和多主复制则更多地用于特殊需求或复杂的架构配置。选择合适的高可用技术取决于具体的应用需求和可用资源。

暂无图片 评论
暂无图片 有用 1
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
postgreSQL 支持哪些锁的类型?
回答 1
八种:AccessShare, RowShare, RowExclusive,ShareUpdateExclusive,Share,ShareRowExclusive,Exclus
连接池SetMaxOpenConns一般设置为多大?
回答 1
pgmysql不管是什么。用几十个活动的就差不多了。你可以设置几万,但是没什么用。默认也能支持你的业务。主要是SQL质量要控制好。
PG中工具栏怎么锁定?
回答 2
推荐使用sqldeveloper工具
pg ,wal日志
回答 1
已采纳
一些常用的WAL保留策略设置方法:设置archivemode:将其设置为on可以启用WAL文件的归档功能。当一个WAL文件不再需要时,它会被移动到归档目录中。设置archivecommand:这个参数
PostgreSQL数据库的文件存储在哪里?
回答 1
已采纳
initdb的时候会指定一个PGDATA目录,这就是PostgresQL存储数据的地方。典型的位置是在/postgres/dataa。PGDATA下面各项存储的内容大概是:文件或目录名存储内容PGVE
创建一个独立的备份用户,该如何创建?
回答 1
创建用户并设置密码:CREATEROLEbackupuserWITHLOGINPASSWORD'backuppassword';指定数据库访问权限(可选):GRANTCONNECTONDATABASE
postgreSQL 有没有数据脱敏插件?
回答 2
可以参考我的这篇文章:PostgreSQL数据脱敏插件介绍
关于手动回收事务
回答 1
VACUUM  tablename:是懒惰冻结,不会回收XID,会清理死元组。但不会立即冻结XID,XID的冻结会推迟到需要时。VACUUMFREEZEtablename:是急切冻
mysql中的generale_log功能再pg中对应的是啥?
回答 1
是不是可以通过配置参数logstatement来启用查询日志解决这个问题
plsql连接不上Oracle,报错不能初始化
回答 2
已采纳
使用sqldeveloper连接工具连接oracle;https://www.oracle.com/tools/downloads/sqldevdownloads.html