psycopg2 или pygresql для python 3.5 на windows

Python лучше всего себя чувствует в Linux-среде. В Windows приходится поискать обходные пути для решения тривиальных задач. Рассмотрена установка двух адаптеров для работы с PostgreSQL из Python 3.5. Наиболее распространенный, популярный и рекомендуемый PostgreSQL — psycopg2. PyGreSQL является альтернативой. Оба удовлетворяют DB-API 2.0.

Установка на Linux-системах

psycopg2:
pip install psycopg2

PyGreSQL:
pip install PyGreSQL

Установка на Windows

Как и со многими пакетами включающими код на C, требует дополнительных усилий. Идем сюда и скачиваем бинарные пакеты для нужной версии. Затем устанавливаем командой:
pip install {скаченный файл}

Пример использования psycopg2

import psycopg2
import psycopg2.extras

try:
    conn = psycopg2.connect("dbname='test_database' user='developer'" \
                            " host='localhost' password='123456'")
except psycopg2.Error as err:
    print("Connection error: {}".format(err))
  
sql = "SELECT * FROM gainers LIMIT 3"

try:
    cur = conn.cursor()
    # cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor) # by column name
    cur.execute(sql)
    data = cur.fetchall()
except psycopg2.Error as err:
    print("Query error: {}".format(err))
    
print(data)

Больше примеров psycopg2.

Пример использования PyGreSQL (DB-API 2.0)

import pgdb

try:
    conn = pgdb.connect(database='test_database', host='localhost', 
                        user='developer', password='123456')
except pgdb.Error as err:
    print("Connection error: {}".format(err))

sql = "SELECT * FROM users"
    
try:
    cur = conn.cursor()
    cur.execute(sql)
    data = cur.fetchall()
except pgdb.Error as err:
    print("Query error: {}".format(err))
    
print(data)

Документация PyGreSQL.