PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Bagaimana cara menonaktifkan sementara batasan integritas db di Django - postgresql

Punya solusinya.

Saya harus menonaktifkan Pemicu di atas meja untuk menghentikan pemeriksaan batasan kunci asing.

Nonaktifkan Pemicu

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

Aktifkan Pemicu

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

Catatan Penting :

  • Menurut tautan dokumen ini , Anda dapat meneruskan daftar sebagai argumen kedua ke execute() metode (misalnya:Anda mungkin ingin meneruskan nama tabel secara dinamis), tetapi ini akan secara otomatis keluar dari variabel dan Anda mungkin akhirnya membentuk kueri PostgreSQL yang salah secara sintaksis (yang menghabiskan banyak waktu saya untuk memperbaikinya)

  • Pastikan Anda mengaktifkan kembali pemicu dengan benar

  • Jika Anda mendapatkan kesalahan Izin ditolak Maka Anda mungkin ingin memeriksa izin pengguna DB, saya baru saja mengaktifkan izin pengguna super dari PgAdmin, yang tidak masalah bagi saya. dan semuanya kembali bekerja. Bagaimana cara melakukannya?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. relasi sudah ada setelah menambahkan bidang Many2many di odoo

  2. Permintaan lambat pada tampilan UNION ALL

  3. Postgresql json menyukai kueri

  4. Kueri PostgreSQL dengan 'APAPUN' tidak berfungsi

  5. Django:pilih nilai dengan cap waktu maksimal atau gabung ke tabel yang sama