User Tools

Site Tools


pythonpostgresql

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
pythonpostgresql [2021/11/29 14:15] – created z0hpvkpythonpostgresql [2025/03/08 22:24] (current) – external edit 127.0.0.1
Line 1: Line 1:
-==== psychopg ====+==== psycopg ==== 
 +[[https://www.psycopg.org/|psycopg Homepage]]\\ 
 +[[https://pypi.org/project/psycopg2/|psycopg2 Installation]]\\ 
 + 
 +=== Connecting to PostgreSQL === 
 +<code python> 
 +import psycopg2 
 +import psycopg2.extras 
 + 
 +conn = psycopg2.connect(database="doob", user = "ian", password = "pwd", host = "localhost"
 +print "Connection Successful" 
 + 
 +#cur = conn.cursor() 
 +cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor) 
 + 
 +query = "SELECT usename, usesuper FROM pg_user" 
 +cur.execute(query) 
 + 
 +rows = cur.fetchall() 
 + 
 +for row in rows: 
 +  print(row) 
 +  print(f"{row['usename']} {row['usesuper']}"
 +   
 +cur.close() 
 +</code> 
 + 
 +=== Example Connection Files === 
 +== Using Config Parser == 
 +<code python> 
 +# database.ini 
 +[postgresql] 
 +host=localhost 
 +database=doob 
 +user=ian 
 +password=pwd 
 +</code> 
 +<code python> 
 +#!/usr/bin/python 
 +from configparser import ConfigParser 
 + 
 +def config(filename='database.ini', section='postgresql'): 
 +  parser = ConfigParser() 
 +  parser.read(filename) 
 +  params = parser.items(section) 
 +  for param in params: 
 +    db[param[0]] = param[1] 
 +     
 +  return db 
 +</code> 
 + 
 +<code python> 
 +#!/usr/bin/python 
 +from config import config 
 + 
 +def connect() 
 +  conn = None 
 +  try: 
 +    params = config() 
 +    conn = psycopg2.connect(**params) 
 +    cur = conn.cursor() 
 +    cur.execute('SELECT version()'
 +    db_version = cur.fetchone() 
 +    print(db_version) 
 +    cur.close() 
 +  except (Exception, psycopg2.DatabaseError) as error: 
 +    print(error) 
 +</code> 
 + 
 +== Using Credential File == 
 +<code python> 
 +# conndetails.py 
 +PGHOST="localhost" 
 +PGDATABASE="doob" 
 +PGUSER="ian" 
 +PGPASSWORD="pwd" 
 +</code> 
 + 
 +<code python> 
 +import psycopg2 
 +import conndetails as creds 
 + 
 +conn_string = "host="+ creds.PGHOST +" dbname="+ creds.PGDATABASE +" user="  
 +               + creds.PGUSER +" password="+ creds.PGPASSWORD 
 +conn = psycopg2.connect(conn_string) 
 + 
 +cur = conn.cursor() 
 +query = "select version()" 
 +cur.execute(query) 
 +for row in cur: 
 +  print(row) 
 + 
 +cur.close()  
 +</code> 
 + 
 + 
 +    
  
pythonpostgresql.1638195317.txt.gz · Last modified: 2025/03/08 22:23 (external edit)