您可以使用
execute:
with self.connection as cursor: cursor.execute(open("schema.sql", "r").read())尽管您可能想先将psycopg2设置为
autocommitmode,以便可以使用脚本自己的事务管理。
如果psycopg2提供了一种更智能的模式,那就是它可以一次以一条语句读取文件并将其发送到DB,那就太好了,但是据我所知,目前还没有这种模式。面对
$$引号(以及
$delimiter$引号可能是任何标识符的变体)
standard_conforming_strings,
E''字符串,嵌套函数体等时,它需要一个相当扎实的解析器才能正确执行。
请注意,这 不适 用于:
- 任何包含
psql
反斜杠命令的内容 - 从STDIN复制..
- 非常 长的输入
…因此不适用于来自
pg_dump



