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

Jalankan skema .sql di psycopg2 dengan Python

Anda cukup menggunakan execute :

with self.connection as cursor:
    cursor.execute(open("schema.sql", "r").read())

meskipun Anda mungkin ingin menyetel psycopg2 ke autocommit modus dulu sehingga Anda dapat menggunakan manajemen transaksi skrip sendiri.

Akan lebih baik jika psycopg2 menawarkan mode yang lebih cerdas di mana ia membaca file dalam pernyataan sekaligus dan mengirimkannya ke DB, tetapi saat ini tidak ada mode seperti itu sejauh yang saya tahu. Diperlukan parser yang cukup solid untuk melakukannya dengan benar ketika berhadapan dengan $$ mengutip (dan $delimiter$ varian di mana deimiter dapat berupa pengenal apa pun), standard_conforming_strings , E'' string, badan fungsi bersarang, dll.

Perhatikan bahwa ini tidak bekerja dengan:

  • apa pun yang mengandung psql perintah garis miring terbalik
  • SALIN .. DARI STDIN
  • sangat masukan panjang

... dan karenanya tidak akan berfungsi dengan dump dari pg_dump



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Melewati banyak nilai dalam parameter tunggal

  2. Docker- Django melempar kesalahan saat menghubungkan ke postgres:psycopg2.OperationalError:tidak dapat terhubung ke server:Koneksi ditolak

  3. Instal icu4c versi 63 dengan Homebrew

  4. Repositori - pesan dengan kueri asli tidak berfungsi

  5. Cara Menyebarkan Canvas LMS yang Sangat Tersedia dengan Cluster Database PostgreSQL