Cómo acceder a un servidor de base de datos PostgreSQL mediante el lenguaje de programación Python y el módulo psycopg2. Eliminamos una tabla existente (drop table), creamos una tabla (create table), hacemos una inserción de registros (insert), hacemos una selección (select), eliminamos un registro (delete) y actualizamos un registro (update).

Requisitos de acceso a PostgreSQL mediante Python

Necesitaremos disponer de un equipo con el motor de base de datos PostgreSQL. En el siguiente enlace explicamos cómo desplegar un contenedor docker con PostgreSQL y con acceso remoto:

En este otro tutorial instalamos PostgreSQL en Windows:

Para el desarrollo de la aplicación Python usaremos el IDE Visual Studio Code. En el siguiente enlace explicamos cómo preparar Visual Studio Code para desarrollar en Python:

Necesitaremos instalar el paquete psycopg2, que nos proporcionará acceso nativo a PostgreSQL. Para instalarlo, desde la línea de comandos, ejecutaremos:

Fichero INI con los datos de conexión a PostgreSQL y lectura en Python de este fichero

En este caso, para la conexión con el servidor de PostgreSQL, usaremos un fichero de configuración INI, con el siguiente contenido de ejemplo:

Estableceremos, como se ve en el ejemplo, en la clave «postgresql», las siguientes subclaves y sus valores:

  • servidor: IP o nombre de red del servidor que contiene PostgreSQL.
  • puerto: puerto de conexión con el servidor PostgreSQL. Por defecto 5432.
  • base_datos: nombre de la base de datos a la que nos conectaremos.
  • usuario: usuario de PostgreSQL con el que nos conectaremos.
  • contrasena: contraseña del usuario anterior.

Guardaremos este fichero en la misma carpeta que los ficheros de la aplicación que crearemos a continuación, por ejemplo con el nombre con.conf.

Crearemos un fichero Python con el nombre configuracion.py y el siguiente código Python. Usaremos la función de este fichero leerINI para leer los valores del fichero INI:

Guardaremos el contenido anterior en el fichero configuracion.py y en la misma carpeta que el resto de ficheros de la aplicación.

Fichero Python para acceso a base de datos PostgreSQL (drop, create, insert, select, update, delete)

A continuación, mostramos el código fuente en Python del fichero postgresql.py, con las líneas más importantes comentadas. Este fichero es un ejemplo de acceso a un servidor de base de datos PostgreSQL y de ejecución de las habituales sentencias SQL: crear tabla, insertar registros en una tabla, seleccionar registros, eliminar registros, actualizar registros, etc.:

Como siempre, guardaremos este fichero postgresql.py en la misma carpeta que el resto de ficheros.

La aplicación de ejemplo en Python que accede a un servidor PostgreSQL mediante Python

Una vez que tengamos los tres ficheros de la aplicación en la misma carpeta:

  • con.conf: fichero con los datos de acceso al servidor de PostgreSQL.
  • configuracion.py: fichero Python con la función que lee los valores del fichero INI con.conf.
  • postgresql.py: fichero Python con el código para acceso al servidor PostgreSQL y ejecución de las consultas SQL.

Con el resultado:

Descarga de los ficheros Python de acceso a PostgreSQL usados en este tutorial

La descarga de los ficheros con código fuente completo en: