PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Wykonaj schemat .sql w psycopg2 w Pythonie

Możesz po prostu użyć execute :

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

chociaż możesz ustawić psycopg2 na autocommit najpierw tryb dzięki czemu możesz korzystać z własnego zarządzania transakcjami skryptu.

Byłoby miło, gdyby psycopg2 oferował inteligentniejszy tryb, w którym odczytuje plik w wyciągu na raz i wysyła go do bazy danych, ale obecnie nie ma takiego trybu, o ile wiem. Potrzebowałby dość solidnego parsera, aby zrobić to poprawnie w obliczu $$ cytowanie (i jego $delimiter$ wariant, w którym deimiter może być dowolnym identyfikatorem), standard_conforming_strings , E'' ciągi, zagnieżdżone ciała funkcji itp.

Pamiętaj, że to nie pracować z:

  • wszystko zawierające psql polecenia odwrotnego ukośnika
  • KOPIUJ .. Z STDIN
  • bardzo długie wejście

... i dlatego nie będzie działać ze zrzutami z 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. Jak wyświetlić informacje o wszystkich plikach Alfresco (Postgres SQL)?

  2. Pobierz wiele wierszy za pomocą zapytania za pomocą AND i OR

  3. Połączenie Pyspark z bazą danych Postgres w notatniku ipython

  4. SELECT w tablicy PostgreSQL nie uwzględnia wielkości liter

  5. Rozliczanie czasu letniego w Postgresie przy wyborze zaplanowanych pozycji