sql - Postgres中判断约束名称是否为系统生成

标签 sql postgresql database-design constraints postgresql-9.3

我正在尝试查找约束名称是“系统生成的”还是“在创建时手动给出的”。

MS SQL Server 在 sys.key_constraints 中有一列 'is_system_named':

1 = 名称由系统生成。
0 = 名称由用户提供。

我试图在 information_schema.table_constraints 中找到类似的内容。找不到它。

用例基本上是在迁移数据库时,如果存在手动命名的约束,那么将很容易验证。

最佳答案

相关系统目录中没有此类内容pg_constraint .

您可以检查默认的命名模式,如果您看到不同的名称,则可以确定它已明确命名。除此之外,我认为您不能确定。

关于sql - Postgres中判断约束名称是否为系统生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24962967/

相关文章:

sql - 根据另一个表更新表

sql - 将 varchar 值 '71.8' 转换为数据类型 int 时转换失败

SQL Group LEFT JOIN 结果

database - 数据库中的数据集是否始终以一种形式或另一种形式标准化

json - 在 Firebase 数据库中构建好友列表

php - 通过连接从表中选择数据

sql - Postgres - 横向加入两侧的随机值

sql - 获取包含特定表名的所有模式的列表

SQL - 使用 Postgres 中的附加查询扩展 INSERT 查询的结果

mysql - 数据库设计问题(条件必填字段)