Я пытаюсь создать способ протестировать восстановление базы данных в многопроцессорном режиме, но простое соединение не работает. Я перепробовал много руководств и ответов, но пока безуспешно. Вот мой код:
def pyconn():
con: connection = psycopg2.connect(
dbname='XXXX',
user='XXXX',
password='XXXX',
host='XXXX',
port=5432
)
con.set_client_encoding('UTF8')
return con
def read_sql(query):
conn = pyconn()
cur = conn.cursor()
with open('NUL') as dev_null:
cur.copy_expert("COPY (select XXX from XXXX limit 10) to '/dev/null'", dev_null)
cur.close()
conn.close()
Я нахожусь на машине Windows, а база данных находится на Linux сервере.
- Я пробовал тот же сценарий на сервере: та же ошибка
- Я запускаю команду с помощью psql -U XXX -d XXX -h XXX - c " COPY (выберите XXX из XXXX limit 10) в '/ dev / null' ": работает!
Ошибка, которую я получил:
psycopg2.errors.UntranslatableCharacter: character with byte sequence 0xe2 0x80 0xac in encoding "UTF8" has no equivalent in encoding "LATIN1"
Не могли бы вы мне помочь?