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

Làm cách nào để tôi tạm thời vô hiệu hóa các ràng buộc toàn vẹn db trong django - postgresql

Có giải pháp.

Tôi đã phải vô hiệu hóa Trình kích hoạt trên bảng để dừng kiểm tra ràng buộc khóa ngoại.

Tắt trình kích hoạt

def disable_triggers(self):
    with connection.cursor() as cursor:
        cursor.execute('ALTER TABLE "Table Name" DISABLE TRIGGER ALL;')

Bật trình kích hoạt

def enable_triggers(self):
    with connection.cursor() as cursor:
        cursor.execute('ALTER TABLE "Table Name" ENABLE TRIGGER ALL;')

Ghi chú quan trọng :

  • Theo liên kết tài liệu này , bạn có thể chuyển một danh sách làm đối số thứ hai cho execute() (ví dụ:bạn có thể muốn chuyển động tên bảng), nhưng điều này sẽ tự động thoát khỏi các biến và cuối cùng bạn có thể tạo ra một truy vấn PostgreSQL sai cú pháp (tôi đã mất rất nhiều thời gian để sửa nó)

  • Đảm bảo rằng bạn bật lại trình kích hoạt đúng cách

  • Nếu bạn gặp phải lỗi quyền bị từ chối Sau đó, bạn có thể muốn kiểm tra quyền người dùng DB, tôi vừa bật quyền người dùng siêu cấp từ PgAdmin, điều này là ổn đối với tôi. và mọi thứ trở lại hoạt động. Cách thực hiện?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sắp xếp nhân bản hoặc số tự nhiên của các chuỗi từ và số hỗn hợp

  2. Làm cách nào để thêm nguồn dữ liệu PostgreSQL vào WildFly 9.0?

  3. Làm cách nào để truy vấn cập nhật gia tăng postgres kể từ một điểm được chỉ định (dấu thời gian hoặc id giao dịch)?

  4. Lưu trữ WAL:FAILED (vui lòng đảm bảo rằng vận chuyển WAL đã được thiết lập)

  5. Nhóm theo ngày, với 0 khi count () không có dòng nào