PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Изпълнете .sql схема в psycopg2 в Python

Можете просто да използвате execute :

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

въпреки че може да искате да настроите psycopg2 на autocommit първи режим така че можете да използвате собственото управление на транзакциите на скрипта.

Би било хубаво, ако psycopg2 предлагаше по-интелигентен режим, при който четеше файла в израз по-веднъж и го изпращаше в DB, ​​но в момента няма такъв режим, доколкото знам. Ще се нуждае от доста солиден анализатор, за да го направи правилно, когато е изправен пред $$ цитиране (и неговия $delimiter$ вариант, където деимитерът може да бъде всеки идентификатор), standard_conforming_strings , E'' низове, тела на вложени функции и др.

Имайте предвид, че това няма работа с:

  • всичко, съдържащо psql команди с обратна наклонена черта
  • КОПИРАНЕ .. ОТ STDIN
  • много дълъг вход

... и следователно няма да работи с дъмпове от 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. Неуспешно удостоверяване на паролата за postgres контейнера на Docker

  2. Показване на последното съобщение в масив от съобщения

  3. Грешка на съветника за импортиране и експортиране на SQL Server при експортиране към PostgreSQL

  4. Rails has_many :through PG::Error:ERROR:референтният идентификатор на колона е двусмислена грешка

  5. Как да изберете повече от 1 запис на ден?