数据库连接
共 184 篇文章
PostgreSQL 已授权表的 INSERT,插入仍报 permission denied for sequence
PostgreSQL 表已有 INSERT 权限,新增记录仍报 permission denied for sequence,可核对应用当前角色与实际取号序列,补充单对象 USAGE,并区分现有授权和未来序列的默认权限。
MongoDB TTL 索引不删除文档:epoch 数字不是 BSON Date
MongoDB TTL 不删除文档时,先核对索引字段与 BSON 类型。转换数字日期前确认秒或毫秒、备份过期数据,并检查后台删除与节点角色。
BullMQ CPU 密集任务 stalled:事件循环阻塞了锁续期
确认同步CPU阻塞后,将计算放入外部processor,保留锁恢复和幂等。异步等待偶发stalled仍需另查连接与进程,不用无限续锁掩盖故障。
PostgreSQL upsert 前几次成功,随后报 no unique or exclusion constraint
同一预编译upsert先成功后失败:核对部分唯一索引的参数化条件、通用计划与定制计划,把固定业务范围写在冲突目标中。
PostgreSQL CHECK NOT VALID 创建成功,VALIDATE CONSTRAINT 却失败
NOT VALID跳过旧行验证,后续VALIDATE仍会检查历史数据。按真实CHECK表达式找条件为假的行,保留NULL语义和新写入保护。
MongoDB 复合唯一索引报 E11000,冲突的却是两个 null
复合唯一索引的缺失字段也会形成 null 键。按完整组合区分重复,核对 sparse 与 partial 的纳入范围,并在受控写入窗口替换索引、预先准备约束回退。
redis-py 读取 pickle 数据时报 UnicodeDecodeError
二进制值不能保证UTF-8。配置明确的binary客户端或按字段解码,保留pool和调用方类型契约,不用hiredis或忽略字节隐藏错误。
PostgreSQL 临时表刚创建成功,下一条查询却报不存在
ON COMMIT DROP 在当前事务提交时删除临时表。核对自动提交和实际连接,将创建与使用放进同一受控事务,并区分保留行与删除行的生命周期。
SQL Server STRING_AGG 超过 8000 bytes:在聚合前转换为 max 类型
SQL Server 拼接大组文本超过 8000 bytes 时,检查输入表达式决定的返回类型,在 STRING_AGG 内转换为 max,并区分显示截断。
PostgreSQL 布尔列改成 false,CASE 统计结果仍不变
CASE 判断了 true、false 常量却没有引用列,导致条件计数不随数据变化。按列使用 FILTER 或 CASE,并核对空值、空集合及关联后的统计口径。
PostgreSQL 备份报 server version mismatch:检查运行 pg_dump 的容器
数据库升级后 pg_dump 仍来自旧备份容器,导致 server version mismatch。核对两端主版本、调用匹配客户端,并让失败退出码、归档检查和隔离恢复成为验收条件。
MongoDB 查询报 Projection cannot have a mix of inclusion and exclusion
MongoDB find 投影不能混用普通字段的包含和排除。按输出字段约定选择投影模式,核对 _id 例外,避免修复报错时扩大接口返回范围。
SQLAlchemy 捕获 IntegrityError 后仍报会话已回滚:把 flush 和 rollback 放对位置
SQLAlchemy 捕获 IntegrityError 后继续查询仍失败时,先确认错误是否发生在 flush,并对同一 Session 显式 rollback,再开始后续事务。
PostgreSQL 引用复合主键的部分列,报 no unique constraint matching given keys
PostgreSQL 复合外键必须引用匹配的唯一键。根据业务选择引用完整主键,或为父表添加两列唯一约束,并核对重复数据、空值和迁移锁的影响。
Python sqlite3 查询不存在的双引号列名却返回 0
SQLite 启用双引号字符串兼容时,不存在的双引号列名可能变成字面值。核对表结构,在支持的 Python 连接接口中禁用 DQS_DML,并修正列引用和值参数。
PostgreSQL 输入密码后仍报 Peer authentication failed
psql 输入密码后仍报 Peer authentication failed,可能是本机 socket 连接先匹配了 peer 规则。核对连接方式、目标实例和 pg_hba.conf 顺序,保留管理员通道,再按需调整指定角色的 SCRAM 认证。
psql 导入 SQL 时连续报 current transaction is aborted
psql 导入 SQL 时,一条语句失败可能让后续命令连续报 current transaction is aborted。定位首条错误,用 ON_ERROR_STOP 停止脚本,并按事务边界决定完整回滚或保存点恢复。
MySQL 写入特殊字符报 Incorrect string value:列与连接都要支持 utf8mb4
MySQL 四字节字符写入失败,检查 utf8mb3 列与连接编码,保留 utf8mb4 迁移、排序规则、历史乱码和恢复边界。
PostgreSQL 已给 public 授权仍无法建表:核对授权连接的数据库
同名 public 属于各自的数据库;比较管理员和应用的实际连接,在目标库给迁移角色授予需要的 schema 权限。


