# Connect and Select The shortest `connect`: from psycopg2 import connect psql_conn = connect("dbname=XXX user=XXX password=XXX host=localhost sslmode=require") 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) 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() psql_conn.close() ## Valid `sslmode` values disable, allow, prefer, require, verify-ca, verify-full Source: [PostgreSQL 9.1 - SSL Support](http://www.postgresql.org/docs/9.1/static/libpq-ssl.html) # Dictionary-like cursors from psycopg2.extras import (DictCursor,) dict_cur = conn.cursor(cursor_factory=DictCursor)