PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Thả ràng buộc theo tên trong Postgresql

Bạn cần truy xuất tên bảng bằng cách chạy truy vấn sau:

SELECT *
FROM information_schema.constraint_table_usage
WHERE table_name = 'your_table'

Ngoài ra, bạn có thể sử dụng pg_constraint để lấy thông tin này

select n.nspname as schema_name,
       t.relname as table_name,
       c.conname as constraint_name
from pg_constraint c
  join pg_class t on c.conrelid = t.oid
  join pg_namespace n on t.relnamespace = n.oid
where t.relname = 'your_table_name';

Sau đó, bạn có thể chạy câu lệnh ALTER TABLE được yêu cầu:

ALTER TABLE your_table DROP CONSTRAINT constraint_name;

Tất nhiên, bạn có thể thực hiện truy vấn trả về câu lệnh thay thế hoàn chỉnh:

SELECT 'ALTER TABLE '||table_name||' DROP CONSTRAINT '||constraint_name||';'
FROM information_schema.constraint_table_usage
WHERE table_name in ('your_table', 'other_table')

Đừng quên bao gồm table_schema trong mệnh đề WHERE (và câu lệnh ALTER) nếu có nhiều lược đồ với các bảng giống nhau.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Điền nhiều bảng từ một đối tượng JSON duy nhất với json_populate_recordset

  2. Postgres - Chuyển đổi danh sách kề thành đối tượng JSON lồng nhau

  3. PostgreSQL - tạo một DB mới thông qua giao diện người dùng pgAdmin

  4. Cách triển khai một LMS canvas khả dụng cao với Cụm cơ sở dữ liệu PostgreSQL

  5. Một số trường hợp khi có đầu ra trên cùng một hàng