Skip to content

Instantly share code, notes, and snippets.

@evu
Forked from pfigue/psycopg2_cheatsheet.md
Created January 30, 2020 18:33
Show Gist options
  • Save evu/dd3d3c9b884856ae439074bbee91bae5 to your computer and use it in GitHub Desktop.
Save evu/dd3d3c9b884856ae439074bbee91bae5 to your computer and use it in GitHub Desktop.
psycopg2 Cheatsheet

Connect and Select

connect()

The shortest connect:

from psycopg2 import connect
psql_conn = connect("dbname=XXX user=XXX password=XXX host=localhost sslmode=require")
psql_conn.close()

A little bit longer:

from psycopg2 import connect
# Establish psql connection
psql_creds = {
    'dbname': 'XXX',
    'user': 'XXX',
    'password': 'XXX',
    'host': 'localhost',
    'sslmode': 'require',
}
psql_conn = connect(**psql_creds)
psql_conn.close()

Valid sslmode values

disable, allow, prefer, require, verify-ca, verify-full

Source: PostgreSQL 9.1 - SSL Support

select

curs = psql_conn.cursor()
params = {
    'ID': the_id,
}
curs.execute('SELECT * FROM users WHERE id=%(ID)s;', params)
is_there_a_match = False if curs.fetchone() is None else True
curs.close()

Dictionary-like cursors

from psycopg2.extras import (DictCursor,)
dict_cur = conn.cursor(cursor_factory=DictCursor)

Reference

  1. Python DB API cheatsheet
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment