查找问题与解决方法
Docker build 切换用户后,SSH 挂载报 publickey
切到非 root 用户后 SSH 构建报 publickey,检查 agent 套接字的默认属主和实际 UID。套接字可读、agent 身份与仓库授权分别核对。
COPY --link 写入 /tmp 后,apt 无法写临时文件
COPY 加上 --link 后,/tmp 从带 sticky bit 的模式变为 0755,apt 无法写临时文件。核对独立层的目录模式覆盖,避免只给文件加 chmod。
Compose 添加 build 后仍拉取镜像:检查 pull_policy
开发覆盖文件增加 build 后仍使用仓库镜像,先看合并模型中的 image 和 pull_policy。明确本地构建策略,再核对实际运行产物。
镜像已推送,manifest inspect 却报 no such manifest
Buildx 推送完成,manifest inspect 却提示清单不存在。用 imagetools 核对 OCI 对象与媒体类型,保留客户端版本和 provenance 的兼容边界。
Compose 更新上游后 Nginx 报 502:检查依赖重启设置
后端被 Compose 重建后,Nginx 仍运行却返回 502。检查依赖长写法的 restart 设置,区分显式更新传播与容器运行时自动重启。
Docker tmpfs 删了 noexec,仍报 Permission denied
删除tmpfs参数里的noexec仍可能保留Docker默认限制。核对Engine选项合并与实际挂载,按批准范围显式配置exec。
pg_partman 被未来数据卡住:检查 ignore_default_data
默认分区中的未来记录使 pg_partman 维护尝试挂载异常范围,检查 5.4.3 的 ignore_default_data。恢复当前维护后,仍需处理已有记录与分区缺口。
Zod 可选 constructor 字段没传,为什么报 received function
Zod 4.6.7 会沿原型链读取对象字段,缺省的 constructor 可能被当成继承函数。区分自有字段与可选值,在明确的 JSON 对象边界处理输入。
Rails 8.1.4 把 decimal 大整数截短,显式选择 Decimal 属性类型
Rails 8.1.4 的无小数位 decimal 转换可截掉大整数字符串后半段。显式 decimal 精度是已确认的局部方案,但属性类型和序列化边界须重新检查。
备用库查询报 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 报错,核对实际角色、表所有者和强制策略。区分完整备份、按可见行导出与排除管理对象的迁移范围。
RestClient 自定义 JSON 后没了默认转换器:7.0 显式 registerDefaults
Spring Framework 7.0 使用 configureMessageConverters 后,默认转换器可能不再注册。需要保留默认集合时,在 consumer 中先调用 registerDefaults。
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 归档与关闭复制能力,按备份参数核对连接容量及重启条件。
Valibot 校验通过,转成 JSON Schema 后却被 oneOf 拒绝
共享 discriminator 的 variant 允许多个候选分支匹配,oneOf 却要求恰好一个。限定转换到已确认的 schema,避免全局改写所有联合约束。


