La API de PostgreSQL para Python permite al usuario interactuar con la base de datos de PostgreSQL utilizando el módulo psycopg2. En este artículo, veremos el proceso de conexión a una base de datos PostgreSQL usando Python.
requisitos previos:
Primero necesitaremos instalar el módulo psycopg2 con el siguiente comando en el símbolo del sistema:
pip install psycopg2
Creación de una base de datos:
A modo de ejemplo, necesitaremos una base de datos de muestra. Para crearlo, siga los pasos a continuación:
- Primero abra una herramienta de cliente de PostgreSQL como pgadmin4 o psql.
- Segundo inicio de sesión en la base de datos con sus credenciales.
- Finalmente, use el siguiente comando para crear una base de datos (por ejemplo, Escuela)
CREATE DATABASE school;
Conexión a la base de datos:
Para conectarse a la base de datos creada anteriormente (es decir, la escuela), usamos la función conectar(). La función connect() se usa para crear una nueva sesión de base de datos y devuelve una nueva instancia de clase de conexión.
Para hacerlo, use la siguiente sintaxis:
Syntax: conn = psycopg2.connect("dbname=suppliers user=postgres password=postgres")
Para que sea conveniente de usar, puede usar el siguiente método:
1. Primero cree un archivo database.ini con las credenciales como se muestra a continuación:
[postgresql] host=localhost database=school user=postgres password=5555
Ahora, la siguiente función config() lee el archivo database.ini y devuelve los parámetros de conexión. La misma función config() se agrega en el archivo config.py:
Python3
#!/usr/bin/python from configparser import ConfigParser def config(filename='database.ini', section='postgresql'): # create a parser parser = ConfigParser() # read config file parser.read(filename) # get section, default to postgresql db = {} if parser.has_section(section): params = parser.items(section) for param in params: db[param[0]] = param[1] else: raise Exception('Section {0} not found in the {1} file'.format(section, filename)) return db
Ejemplo:
La siguiente función connect() se conecta a la base de datos de la escuela que creamos anteriormente y devuelve la versión de la base de datos de PostgreSQL.
Python3
#!/usr/bin/python import psycopg2 from config import config def connect(): """ Connect to the PostgreSQL database server """ conn = None try: # read connection parameters params = config() # connect to the PostgreSQL server print('Connecting to the PostgreSQL database...') conn = psycopg2.connect(**params) # create a cursor cur = conn.cursor() # execute a statement print('PostgreSQL database version:') cur.execute('SELECT version()') # display the PostgreSQL database server version db_version = cur.fetchone() print(db_version) # close the communication with the PostgreSQL cur.close() except (Exception, psycopg2.DatabaseError) as error: print(error) finally: if conn is not None: conn.close() print('Database connection closed.') if __name__ == '__main__': connect()
Producción:
Publicación traducida automáticamente
Artículo escrito por ddeevviissaavviittaa y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA