标签: postgresql wal
我正在使用Postgresql 9.1将WAL存档和流复制设置到热备用服务器。
Postgresql文档声明:
哈希索引的操作目前不是WAL记录的,因此重放 不会更新这些索引。这意味着任何新的插入 将被索引忽略,更新的行显然会消失 删除的行仍将保留指针。换句话说,如果你 修改一个带有哈希索引的表,然后就会出错 在备用服务器上查询结果。当恢复完成时,它就是 建议你在完成后手动REINDEX每个这样的索引 恢复行动。
如何确定特定数据库是否包含哈希索引?
答案 0 :(得分:2)
检查pg_class和pg_am以使用哈希方法查找索引:
SELECT * FROM pg_class JOIN pg_am ON pg_am.oid = relam WHERE relkind = 'i' AND amname = 'hash';