Postgres psycopg2 создать пользователя - PullRequest
0 голосов
/ 27 октября 2018

Чтобы создать пользователя через psycopg2, я использую следующий код:

        cur=conn.cursor()
    cur.execute("create user %s with password %s",('abcdefgh','0h/9warrAttrgd8EF0gkvQ==',))

Это дает следующую ошибку:

syntax error at or near "'abcdefgh'" LINE 1: create user 'abcdefgh' with password '0h/9warrAttrgd8EF0gkvQ.

Кажется, что% s помещает кавычкиимя пользователя, которое postgres не нравится при создании пользователя.Следующий код работает нормально:

        cur.execute("create user abcdefgh with password %s",('0h/9warrAttrgd8EF0gkvQ==',))

Есть ли обходной путь для этого?

1 Ответ

0 голосов
/ 28 октября 2018

Использование psycopg2.extensions.AsIs(object):

from psycopg2.extensions import AsIs

cur.execute("create user %s with password %s", (AsIs('abcdefgh'), '0h/9warrAttrgd8EF0gkvQ==',))
...