我正在使用 PostgreSQL 9.1。
在 psql 中,我使用此查询来发现我在某个数据库中的约束...
SELECT
*
FROM
information_schema.constraint_table_usage
WHERE
constraint_table_usage.table_catalog = 'journal_app_development'
AND
constraint_table_usage.constraint_name NOT LIKE '%_pkey';
输出...
table_catalog | table_schema | table_name | constraint_catalog | constraint_schema | constraint_name
-------------------------+--------------+------------+-------------------------+-------------------+-----------------
journal_app_development | public | users | journal_app_development | public | fk_entry_user
journal_app_development | public | users | journal_app_development | public | fk_user_task
(2 rows)
但是当我尝试放弃约束时,我得到一个错误......
# ALTER TABLE users DROP CONSTRAINT "fk_entry_user";
ERROR: constraint "fk_entry_user" of relation "users" does not exist
知道我做错了什么吗?
背景信息/动机
我这样做的原因是我想编写一个脚本(特别是一个 Rake 任务),它将删除数据库中不是主键的约束。