Я пытаюсь выяснить, как вставить составные типы данных в postgresql из python3 с помощью psycopg2.В этом я следую примеру из документации psycopg2 :
>>> from psycopg2.extensions import adapt, register_adapter, AsIs
>>> class Point(object):
... def __init__(self, x, y):
... self.x = x
... self.y = y
>>> def adapt_point(point):
... x = adapt(point.x).getquoted()
... y = adapt(point.y).getquoted()
... return AsIs("'(%s, %s)'" % (x, y))
>>> register_adapter(Point, adapt_point)
>>> cur.execute("INSERT INTO atable (apoint) VALUES (%s)",
... (Point(1.23, 4.56),))
Но полученная команда sql неверна:
psycopg2.ProgrammingError: syntax error at or near "1.23"
LINE 1: INSERT INTO atable (apoint) VALUES ('(b'1.23', b'4.56')')
Как мне изменитьпример, чтобы заставить psycopg2 производить правильную команду sql?
INSERT INTO atable (apoint) VALUES ('(1.23, 4.56)');