SuperAPI AI 工具集

postgres-core-api-surface

数据与分析

查看项目

更新于 10-16 06:17

技能介绍

用途:帮助在 PostgreSQL 的 SQL 命令面中导航,选择正确的系统目录,并了解 psql 元命令。

主要能力:把命令面分为四层——DDL(CREATE/ALTER/DROP/TRUNCATE)、DML(SELECT/INSERT/UPDATE/DELETE/MERGE v15+/COPY)、DCL(GRANT/REVOKE/ALTER DEFAULT PRIVILEGES)、TCL(BEGIN/COMMIT/ROLLBACK/SAVEPOINT/SET TRANSACTION),外加 psql 反斜杠元命令通道。

目录选择:需要 PostgreSQL 专有信息(reltuples、attnotnull、pg_index.indnatts、pg_authid.rolcanlogin)、扩展元数据或统计与活动视图时用 pg_catalog;只有跨引擎可移植性为硬性要求时才用 information_schema。

用法要点:单行或小批量 upsert 用 INSERT ... ON CONFLICT(必须指定冲突目标);需要按连接形态原子地插入、更新或删除时用 MERGE(v15+,v16+ 支持 WHEN NOT MATCHED BY SOURCE,v17+ 支持 RETURNING merge_action())。事务内子步骤失败可用 SAVEPOINT 回滚到检查点,之后仍需 COMMIT 或 ROLLBACK。交互式检查用 \dt、\df、\du、\dx 等元命令,应用代码中应改用 pg_catalog 的普通 SQL。授权时先 GRANT USAGE ON SCHEMA,再授对象权限,并用 ALTER DEFAULT PRIVILEGES 覆盖未来新建表。

限制:不涉及性能调优、索引访问方法、角色与权限设计、pl/pgSQL 编程。MERGE 不支持物化视图、外部表和带规则的表;ON CONFLICT 需要 NOT DEFERRABLE 唯一约束。元命令仅 psql 可用,不跨驱动。\copy 为客户端、COPY 为服务端。relfilenode 会随 VACUUM FULL/REINDEX 变化,不宜作稳定标识。

适用场景:模式内省、权限查询、索引检查、upsert 选型、事务边界与隔离级别选择、psql 运维操作。