Простой пример работы с PostgreSQL на Python

Мне нравится Python, а также мне нравится PostgreSQL. И вот я подумал — ей, а почему бы не использовать их вместе? 🙂 Для работы с PostgreSQL в мире Python большой популярностью пользуется пакет psycopg2. Но он, по всей видимости, до сих пор не поддерживает prepared statements. Поэтому для своих задач я пока что остановился на чуть менее популярном пакете py-postgresql. Этот пакет, как я понимаю, поддерживает все, что нужно.

Ставится он, как обычно, через pip. Например (но лучше пользоваться virtualenv):

При изучении новой библиотеки сначала я пытаюсь поделать с ней что-нибудь в REPL. Далее я опускаю приглашение REPL’а, которое >>>.

Создание новой сессии:

В реальных скриптах, конечно же, не забываем использовать конструкцию with.

Создание схемы, выполнение простых запросов:

Создание prepared statement и выполнение INSERT-запроса:

Выполнение SELECT-запроса (делаем trim, так как varchar дополняется пробелами):

К полям можно обращаться как по номерам, так и по именам:

Выполнение UPDATE- и DELETE-запросов:

Пример выполнения транзакции:

Вызов хранимых процедур:

Работа с курсорами:

Можно ограничить количество считываемых элементов:

Попробуйте заполнить таблицу таким образом и повторить эксперимент:

И напоследок рассмотрим наброски типа более гибкой альтернативы pgbench:

Ссылки по теме: