数据库连接
共 184 篇文章
MongoDB change stream 重连失败:resume point may no longer be in the oplog
核对出错时历史窗口与业务检查点,明确缺口重新同步和未来保留策略,不承诺找回已删除事件。
SQLite WAL 报 SQLITE_BUSY_SNAPSHOT,增加 busy_timeout 为什么没用
核对517过期快照、完整事务重启与重新计算,评估读取前IMMEDIATE的占锁代价,保留游标边界。
PostgreSQL ALTER TABLE 一直等锁,别只按 query_start 找阻塞事务
结合事务开始时间与实际阻塞PID查锁等待,分别处理取锁超时和空闲事务终止,避免误杀会话。
asyncpg 0.28 关闭缓存后仍报 unnamed prepared statement does not exist
核对0.28匿名预备语句路径、0.29正式修复与池化版本,区分缓存设置和扩展查询协议。
pg_partman 被未来数据卡住:检查 ignore_default_data
默认分区中的未来记录使 pg_partman 维护尝试挂载异常范围,检查 5.4.3 的 ignore_default_data。恢复当前维护后,仍需处理已有记录与分区缺口。
备用库查询报 shared buffer pin,hot_standby_feedback 为什么没挡住
物理备用库开启反馈后,长查询仍可能因 buffer pin 恢复冲突被取消。结合日志、冲突计数和 WAL 等待预算调整报表任务与复制延迟。
pg_restore 只恢复指定表时报 type hstore does not exist
整库恢复正常,pg_restore -t 选表却缺少 hstore 类型?检查恢复目标的扩展与 schema,并核对选表恢复没有自动包含的依赖和附属对象。
pg_dump 报 row-level security policy:检查完整导出权限
pg_dump 在 COPY 阶段遭遇 RLS 报错,核对实际角色、表所有者和强制策略。区分完整备份、按可见行导出与排除管理对象的迁移范围。
REPLICA IDENTITY NOTHING 后仍无法 DELETE,逻辑复制需要什么行标识
无主键表发布 DELETE 时,REPLICA IDENTITY NOTHING 不会绕过行标识检查。核对主键、可用唯一索引或 FULL,并评估订阅端应用与回退影响。
逻辑复制订阅停在 i 状态:检查表同步 worker 是否有名额
逻辑复制订阅停在 i 状态且日志报 worker slots 不足,核对订阅端 apply 与表同步 worker 预算、总 worker 容量和重启生效条件。
pg_upgrade 后没有 analyze_new_cluster.sh,还需要收集统计吗
升级到 PostgreSQL 14 至 17 后,不再生成 analyze_new_cluster.sh,但仍需按输出收集统计。PostgreSQL 18 的默认统计迁移与后续维护另有区别。
pg_restore 给扩展写注释时报 must be owner of extension
pg_restore 在 COMMENT ON EXTENSION pg_trgm 时报所有者错误,先核对扩展身份和失败 SQL,再决定保留或跳过注释,并检查整轮恢复结果。
pg_restore 报 transaction_timeout:检查恢复工具的实际版本
恢复时报 transaction_timeout 未识别,先查实际 pg_restore 版本与目标服务器。归档格式、客户端兼容和日志中的继续执行需分别判断。
pg_basebackup 报 max_wal_senders,单机备份为何也需要复制连接
单机 PostgreSQL 用 pg_basebackup 也需要 WAL sender。区分关闭 WAL 归档与关闭复制能力,按备份参数核对连接容量及重启条件。


