execute
を使用するだけです :
with self.connection as cursor:
cursor.execute(open("schema.sql", "r").read())
ただし、psycopg2をautocommit
に設定することもできます。 モードファースト
そのため、スクリプト独自のトランザクション管理を使用できます。
psycopg2が、一度にステートメントでファイルを読み取り、それをDBに送信する、よりスマートなモードを提供するのは良いことですが、現在のところ、私が知る限り、そのようなモードはありません。 $$
に直面したときに正しく実行するには、かなり堅固なパーサーが必要です。 引用(およびその$delimiter$
deimiterが任意の識別子であるバリアント)、standard_conforming_strings
、E''
文字列、入れ子関数本体など。
これはないことに注意してください 連携:
-
psql
を含むもの バックスラッシュコマンド - コピー..STDINから
- 非常に 長い入力
...したがって、pg_dump
からのダンプでは機能しません