数据库连接
共 184 篇文章
asyncpg 并行查询报 another operation is in progress:别共享已借出的连接
asyncpg 并行任务报 another operation is in progress,先查实际连接是否共享。独立任务分别借池连接,同一事务内顺序执行,并区分 GINO 的 reuse 与原生 asyncpg 接口。
psycopg2 写 JSONB 报 can’t adapt type dict:显式选择 JSON 适配
JSONB 列不会替 psycopg2 自动适配 dict。用局部 Json 包装保留参数绑定,区分重复序列化、读写注册、JSON null 与 SQL NULL,并核对全局 hstore 冲突。
PostgreSQL identity 列插入 NULL 报 violates not-null constraint
PostgreSQL identity 列显式插入 NULL 不会触发自动编号。通过省略列或 DEFAULT 修正 SQL,并为 JDBC 自动编号与指定编号分别绑定参数。
SQLite strftime 读取毫秒时间戳返回 NULL
SQLite 日期函数不会从 INTEGER 声明推断毫秒单位。确认原始单位后,在查询中换算成秒并紧跟 unixepoch,核对 UTC 年份、空值与历史数据。
PostgreSQL COPY 导入 CSV 报 Permission denied,文件却能在终端读取
CSV 在终端可读,SQL COPY 仍可能因数据库服务用户无法访问父目录而失败。区分服务端与 psql 客户端读取位置,用客户端导入并在提交前核对数据。
MySQL CREATE TABLE 后 ROLLBACK 没撤销:DDL 已提前提交
MySQL 普通 DDL 会隐式提交此前业务事务,后续 ROLLBACK 无法撤销。区分 InnoDB、atomic DDL 和临时表规则,将结构迁移移出业务事务并核对已提交数据。
PostgreSQL LAST_VALUE 没有返回分组最后一个值
LAST_VALUE默认窗口帧只到当前排序同值组,可能跟随当前行变化。明确完整分区帧,并区分窗口计算、每组一行和最后非空值的不同要求。
psql 连接时报与用户名同名的数据库不存在
裸 psql 默认连接与数据库用户名同名的库,该库不存在时会报 FATAL。明确数据库参数,核对 socket、角色与实际实例,避免为消除错误误建空库。
SQLAlchemy 修改 JSON 字典后 commit 没有保存
普通 JSON 映射不自动检测字典原地修改。为顶层变化配置 MutableDict,或修改独立副本后整体赋回,并用新会话检查实际落库结果。
PostgreSQL 换连接后 currval 报当前会话尚未定义
区分共享序列与会话局部取号状态,用 INSERT RETURNING 取得本次写入的 ID,避免读取全局状态或重置序列。
PostgreSQL 同事能建表,自己报 read-only:检查 HA 写入入口
PostgreSQL HA 中一台客户端能建表、另一台却只读时,对照原连接的恢复状态与地址,核对硬编码 IP 和写入入口,区分备用节点与普通只读事务。
PostgreSQL 容器报 could not resize shared memory segment
PostgreSQL 容器执行查询或维护时报共享内存无法扩展。核对容器内 /dev/shm、POSIX 内存实现和故障时用量,调整 Compose shm_size,保留镜像与数据挂载,并重建容器验证原操作。
SQLite 本地有表,部署后却报 no such table:核对实际数据库路径
SQLite 本地能查、部署后报 no such table 时,在失败连接核对完整数据库路径,区分 Django 配置和独立 sqlite3 连接,防止相对路径隐式创建空库。
SQLAlchemy 更新 JSONB 后未传字段丢失:UPDATE 不会自动深度合并
局部请求被当成整个 JSONB 值保存时,区分整列替换、路径更新与浅层连接,并为应用读改写保留行锁或版本冲突处理。
PostgreSQL UNION 后按表别名排序报 missing FROM-clause entry
UNION 后的排序引用合并输出,分支表别名不在该范围。用输出列名或外层关系排序,并保留去重、分页和返回列的原有含义。
PostgreSQL 已 GRANT ALL,创建分区仍报 must be owner of table
PostgreSQL 给父表 GRANT ALL 后仍不能创建分区,确认父表 owner 与当前角色,采用维护角色或受控成员关系,并检查分区边界和锁影响。
SQLAlchemy count 返回 100,all 却只有一个实体
区分关联后的 SQL 行与 Query 按身份去重的实体,将父主键去重放在分页之前,并保留现代 Result 接口和复合主键边界。


