尝试修改PostgreSQL中的约束

Postgres最近变得非常烦人。

我已经检查了Oracle提供的文档,并找到了一种方法,而不会丢弃表。问题是,它在修改时出错,因为它不能识别关键字。
使用EMS sql Manager for Postgresql

Alter table public.public_insurer_credit MODIFY CONSTRAINT public_insurer_credit_fk1
    deferrable,initially deferred;

我可以通过删除约束来解决它:

ALTER TABLE "public"."public_insurer_credit"
  DROP CONSTRAINT "public_insurer_credit_fk1" RESTRICT;

ALTER TABLE "public"."public_insurer_credit"
  ADD CONSTRAINT "public_insurer_credit_fk1" FOREIGN KEY ("branch_id","order_id","public_insurer_id")
    REFERENCES "public"."order_public_insurer"("branch_id","public_insurer_id")
    ON UPDATE CASCADE
    ON DELETE NO ACTION
    DEFERRABLE 
    INITIALLY DEFERRED;
根据正确的手册(由Postgresql提供,不是由Oracle提供),ALTER TABLE语句中没有可用的修改约束:

以下是正确手册的链接

http://www.postgresql.org/docs/current/static/sql-altertable.html

相关文章

来源:http://www.postgres.cn/docs/11/ 4.1.1. 标识符和关键词 SQL标识符和关键词必须以一个...
来源:http://www.postgres.cn/docs/11/ 8.1. 数字类型 数字类型由2、4或8字节的整数以及4或8...
来源:http://www.postgres.cn/docs/11/ 5.1. 表基础 SQL并不保证表中行的顺序。当一个表被读...
来源:http://www.postgres.cn/docs/11/ 6.4. 从修改的行中返回数据 有时在修改行的操作过程中...
来源:http://www.postgres.cn/docs/11/ 13.2.1. 读已提交隔离级别 读已提交是PostgreSQL中的...
来源:http://www.postgres.cn/docs/11/ 9.7. 模式匹配 PostgreSQL提供了三种独立的实现模式匹...