Conexión de PostgreSQL con SQLAlchemy en Python

En este artículo, discutiremos cómo conectar PostgreSQL con SQLAlchemy en Python.

Para conectarse con cualquier sistema de administración de bases de datos, es esencial crear un objeto de motor que sirva como una fuente central de conexión al proporcionar un conjunto de conexiones que administre las conexiones de la base de datos. Este motor SQLAlchemy es un objeto global que se puede crear y configurar una vez y usar el mismo objeto de motor varias veces para diferentes operaciones.

El primer paso para establecer una conexión con la base de datos PostgreSQL es crear un objeto de motor usando la función create_engine() de SQLAlchemy.

Sintaxis:

desde sqlalchemy import create_engine

motor = crear_motor(dialecto+controlador://nombre de usuario:contraseña@host:puerto/nombre_de_base_de_datos)

Parámetros:

  • dialecto – Nombre del DBMS. El dialecto es el sistema que usa SQLAlchemy para comunicarse con varios tipos de DBAPI y bases de datos como PostgreSQL, MySQL, MS SQL, etc.
  • controlador: nombre de la API de base de datos que mueve información entre SQLAlchemy y la base de datos.
  • Nombre de usuario – Nombre del administrador
  • Contraseña – Contraseña del administrador
  • host : nombre del host en el que se aloja la base de datos
  • puerto : número de puerto a través del cual se puede acceder a la base de datos
  • database_name – Nombre de la base de datos

Nota: es extremadamente inseguro mencionar explícitamente su contraseña en el código. Para evitar esto, podemos codificar nuestra contraseña con la biblioteca urllib como se muestra a continuación

Python3

import urllib.parse
 
urllib.parse.quote_plus("your_password")

Estableciendo una conexión con la base de datos PostgreSQL:

El objeto Engine, devuelto por la función create_engine(), aún no se conectará a la base de datos, la conexión se establecerá la primera vez solo cuando se le solicite realizar una tarea en la base de datos. Este tipo de patrón de diseño de software a menudo se denomina Inicialización diferida. Una vez que se crea el objeto del motor, podemos usarlo para realizar CRUD y otras operaciones en la base de datos.

PostgreSQL admite una lista de controladores de Python como psycopg2, psycopg, py8000, asyncpg y psycopg2cffi, lo que facilita la comunicación entre la base de datos y SQLAlchemy.

Python3

from sqlalchemy import create_engine
 
engine = create_engine('postgresql+psycopg2://user:password\
@hostname/database_name')

Usando psycopg2 para conectarse con la base de datos PostgreSQL.

Python3

import psycopg2
 
# declare the connection string specifying
# the host name database name use name
# and password
conn_string = "host='host_name' dbname='database_name'\
user='user_name' password='your_password'"
 
# use connect function to establish the connection
conn = psycopg2.connect(conn_string)

La string de conexión utilizada en la función create_engine o la función psycopg2 especifica tres hechos importantes como

  • ¿Con qué tipo de base de datos nos estamos comunicando? (PostgreSQL)
  • ¿Qué controlador Python DBAPI estamos usando? (psicopg2)
  • ¿Cómo localizamos la base de datos? (anfitrión local: 5432)

Una vez que se crea el objeto del motor, podemos comenzar a confirmar y recuperar consultas hacia y desde la base de datos.

Conclusión:

En este artículo, discutimos cómo establecer una conexión a PostgreSQL usando SQLAlchemy en Python. También discutimos un método adicional sobre cómo usar el controlador psycopg2 (menos preferido) para conectarse a nuestra base de datos PostgreSQL.

Publicación traducida automáticamente

Artículo escrito por jssuriyakumar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *