User Tools

Site Tools


pythonpostgresql

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
pythonpostgresql [2021/11/29 14:33] z0hpvkpythonpostgresql [2025/03/08 22:24] (current) – external edit 127.0.0.1
Line 3: Line 3:
 [[https://pypi.org/project/psycopg2/|psycopg2 Installation]]\\ [[https://pypi.org/project/psycopg2/|psycopg2 Installation]]\\
  
 +=== Connecting to PostgreSQL ===
 <code python> <code python>
 import psycopg2 import psycopg2
 +import psycopg2.extras
  
 conn = psycopg2.connect(database="doob", user = "ian", password = "pwd", host = "localhost") conn = psycopg2.connect(database="doob", user = "ian", password = "pwd", host = "localhost")
 print "Connection Successful" print "Connection Successful"
  
-cur = conn.cursor()+#cur = conn.cursor() 
 +cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor) 
 query = "SELECT usename, usesuper FROM pg_user" query = "SELECT usename, usesuper FROM pg_user"
 cur.execute(query) cur.execute(query)
  
-for row in cur:+rows = cur.fetchall() 
 + 
 +for row in rows:
   print(row)   print(row)
 +  print(f"{row['usename']} {row['usesuper']}")
      
 cur.close() cur.close()
 </code> </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.1638196419.txt.gz · Last modified: 2025/03/08 22:23 (external edit)