物理与逻辑复制与认证与 WAL

共 20 题
#

1. PostgreSQL 物理复制(Physical Replication),WAL 流复制?

A 物理复制可以跨大版本自由复制
B 物理复制只复制表结构,不复制数据
C 物理复制通过传输并重放 WAL 在备库重建与主库一致的数据库 ✓ 正确答案
D 物理复制不支持只读查询
#

2. PostgreSQL 逻辑复制(Logical Replication),publication/subscription?

A 逻辑复制不需要 wal_level 配置
B 逻辑复制与物理复制完全一致,无区别
C 逻辑复制会自动复制 DDL 变更
D 逻辑复制基于 WAL 逻辑解码,可按表复制并可跨版本 ✓ 正确答案
#

3. 流复制(Streaming Replication)的搭建,primary/standby?

A 备库初始化需用 pg_basebackup 拷贝主库数据,并配置 primary_conninfo ✓ 正确答案
B 备库无需任何参数,直接启动即可
C 主库不需要配置 wal_level 和复制账号
D 复制槽会导致备库无法启动
#

4. 逻辑复制的 DDL 限制与解决,pgoutput、wal2json?

A 逻辑复制会自动同步所有 DDL 变更
B 逻辑复制默认不复制 DDL,表结构变更需手动同步到订阅端 ✓ 正确答案
C pgoutput 主要用于把变更输出为 JSON
D wal2json 是 PostgreSQL 内置的默认输出插件
#

5. PostgreSQL 复制与一致性?

A synchronous_commit 与复制无关
B 异步复制在 failover 时一定不丢数据
C 同步复制等待备库确认 WAL 后才提交,可保证提交事务不丢 ✓ 正确答案
D 同步复制不会增加写入延迟
#

6. PostgreSQL 认证方式,trust、md5、scram-sha-256、cert、ldap?

A scram-sha-256 是强密码认证,比 md5 更安全,是推荐方式 ✓ 正确答案
B trust 认证会验证密码,确保安全
C cert 认证基于用户名密码,不使用证书
D md5 认证的密码存储方式最安全
#

7. 逻辑复制为什么要求表有主键或设置 replica identity?没有复制标识时 UPDATE 与 DELETE 如何传输和应用?

A REPLICA IDENTITY FULL 会减少网络传输量
B 逻辑复制不需要复制标识即可应用 UPDATE/DELETE
C 默认使用主键作为复制标识,无主键时需用唯一索引或 FULL ✓ 正确答案
D 复制标识只有主键一种选项
#

8. WAL 记录与 LSN 如何协同 checkpoint 与崩溃恢复?group commit 如何合并多个事务的 fsync 提升写入吞吐?

A group commit 会增加 fsync 次数
B WAL 是修改数据后才写入的日志
C checkpoint 与崩溃恢复无关
D checkpoint 记录崩溃恢复起点,group commit 合并多个事务的 fsync 提升吞吐 ✓ 正确答案
#

9. WAL 归档(archive_mode、archive_command)的应用?

A archive_mode 只需设置 on 即可,无需配置命令
B 归档失败不影响主库工作
C archive_command 把完成的 WAL 段复制到归档存储,是 PITR 的基础 ✓ 正确答案
D WAL 归档与备份无关
#

10. WAL(Write-Ahead Log)的作用与配置,wal_level、max_wal_size?

A max_wal_size 与 checkpoint 频率无关
B wal_level=minimal 支持逻辑复制
C wal_level=logical 支持逻辑解码,可用于逻辑复制 ✓ 正确答案
D WAL 只在崩溃时写入,正常事务不写
#

11. WAL 接收与回放,pg_receivewal、pg_basebackup?

A pg_basebackup 创建基础备份,pg_receivewal 持续接收 WAL 流 ✓ 正确答案
B 两者功能完全相同,任选其一
C pg_receivewal 用于创建基础备份
D pg_basebackup 用于接收 WAL 流
#

12. pg_hba.conf 的配置规则,host、database、user、address、auth-method?

A replication 连接不在此文件配置
B 规则匹配顺序无关紧要
C host 类型只用于本地 socket 连接
D 规则按从上到下顺序匹配,第一条匹配生效 ✓ 正确答案
#

13. 物理 vs 逻辑复制的取舍?

A 逻辑复制支持跨版本且字节级一致
B 物理复制可以按表过滤复制
C 物理复制适合高可用,逻辑复制适合按表/跨库的数据同步 ✓ 正确答案
D 物理复制比逻辑复制更灵活
#

14. pgoutput 在逻辑复制协议中的角色,作为输出插件如何解码 WAL 并推送给订阅端,与 wal2json 的格式差异及对 CDC 工具的适配?

A 两者都输出 JSON 格式
B pgoutput 是内置二进制协议插件,wal2json 输出 JSON 供外部系统消费 ✓ 正确答案
C pgoutput 只能用于外部 CDC 工具
D wal2json 是 PG 内置的默认插件
#

15. wal2json 在 CDC 管道中的应用,将逻辑复制输出为 JSON 变更流的事务边界与性能开销如何权衡,生产上为何常被 pgoutput 取代?

A wal2json 比 pgoutput 性能更高
B wal2json 是内置插件,无需安装
C pgoutput 输出 JSON 格式,适合外部消费
D pgoutput 是内置高效插件,常因稳定与维护成本低取代 wal2json ✓ 正确答案
#

16. WAL 与复制槽(replication slot)的配合,复制槽如何保证 standby 与逻辑订阅端不丢 WAL,槽位堆积导致的磁盘风险如何监控与清理?

A 复制槽只用于逻辑复制,不影响物理复制
B 复制槽不会影响 WAL 保留
C 复制槽堆积会自动清理,无需监控
D 复制槽保证下游不丢 WAL,但下游不消费会导致 pg_wal 膨胀 ✓ 正确答案
#

17. publication 支持的表级、行级(WHERE)与列级过滤对逻辑复制的数据量与性能有何影响?DDL 变更后过滤条件如何生效?

A 过滤条件在 DDL 变更后自动生效,无需处理
B 行级(WHERE)与列级过滤可减少逻辑复制传输的数据量 ✓ 正确答案
C publication 只能发布整张表,无法过滤
D 过滤会增加订阅端的数据量
#

18. scram-sha-256 认证的密码如何存储?password_encryption 参数与旧 md5 哈希的平滑迁移升级如何做?

A md5 密码比 SCRAM 更安全
B SCRAM 密码就是明文密码
C password_encryption 只影响已存储的密码,不能改
D SCRAM 密码以含盐与派生态的格式存储,不保存明文 ✓ 正确答案
#

19. PostgreSQL 逻辑复制的冲突处理,主键冲突、表结构不一致时的行为与 subscription 的 disable/enable 恢复?

A 主键冲突或表结构不一致会导致复制停止,需修正后 DISABLE/ENABLE 恢复 ✓ 正确答案
B 逻辑复制冲突会自动跳过,无需处理
C 表结构不一致不影响逻辑复制
D 冲突只能通过重建数据库解决
#

20. 复制账号为何应使用最小权限而非超级用户?REPLICATION 属性与 pg_hba.conf 中 replication 条目如何配置?

A 复制账号应使用最小权限并具备 REPLICATION 属性,避免超级用户 ✓ 正确答案
B 复制账号必须是超级用户
C REPLICATION 属性与复制无关
D pg_hba.conf 无需为复制账号配置条目