PostgreSQL - Connect with Python

Connect to your Public Cloud Databases for PostgreSQL using the Python programming language

Last updated 4th April, 2022

Objective

Public Cloud Databases allow you to focus on building and deploying cloud applications while OVHcloud takes care of the database infrastructure and maintenance in operational conditions.

This guide explains how to connect to a PostgreSQL database instance with one of the world's most famous programming language: Python.

You can find an example on the Github examples repository.

Requirements

Concept

A PostgreSQL instance can be managed through multiple ways. One of the easiest, yet powerful, is to use a Command Line Interface (CLI), as shown in our guide : Connect to PostgreSQL with CLI.

Another way is to interact directly using a programming language, such as Python. Python is one of the major programming languages in the world, especially in the Data ecosystem.

In order to do so, we will need to set up our Python environment with PostgreSQL drivers, then configure our Public Cloud Databases for PostgreSQL instances to accept incoming connections, and finally code in Python to perform a few example actions.

Instructions

Set up your Python environment

To interact with your PostgreSQL instance using Python, your development environment needs to be configured with:

  • A compatible version of Python
  • Psycopg2

Please follow the official Psycopg - PostgreSQL database adapter for Pytho. to get the latest information.

Once your Python environment is set up and you begin executing a python --version in your command line interface (CLI), you should see information about the version as shown below :

laptop$ python3 --version
Python 3.9.7

In the same console, by typing a pip list check if psycopg2 is correctly installed :

laptop$  pip list           
Package                Version
---------------------- -------
cryptography           3.3.2
mysql-connector-python 8.0.27
pip                    20.3.4
protobuf               3.19.3
psycopg2               2.8.6
pyOpenSSL              20.0.1
setuptools             52.0.0
six                    1.16.0
wheel                  0.34.2
(...)

We are now ready to learn how to connect to our PostgreSQL instance!

Connect with Python

Using psycopg2

Psycopg is the most popular PostgreSQL database adapter for the Python programming language.

In your Python environment, let's try a connection.

import psycopg2

connection = psycopg2.connect("postgres://avnadmin:K93xxxxxxxxxxaBp@postgresql-57xxxxfc-o2xxxxb53.database.cloud.ovh.net:20184/defaultdb?sslmode=require")

cursor = connection.cursor()
cursor.execute("select * from pg_stat_ssl")
stat_ssl = cursor.fetchone()
print(stat_ssl)

After executing your Python code, result shown in the CLI should be like this :

(590567, True, 'TLSv1.3', 'TLS_AES_256_GCM_SHA384', 256, None, None, None)

Go further

Visit our dedicated Discord channel: https://discord.gg/ovhcloud. Ask questions, provide feedback and interact directly with the team that builds our databases services.

Join our community of users on https://community.ovh.com/en/.


¿Le ha resultado útil esta guía?

Si lo desea, también puede enviarnos sus sugerencias para ayudarnos a mejorar nuestra documentación.

Imágenes, contenido, estructura...: ayúdenos a mejorar nuestra documentación con sus sugerencias.

No podemos tratar sus solicitudes de asistencia a través de este formulario. Para ello, haga clic en "Crear un tíquet" .

¡Gracias! Tendremos en cuenta su opinión.


Otras guías que podrían interesarle...

OVHcloud Community

¡Acceda al espacio de la OVHcloud Community! Resuelva sus dudas, busque información, publique contenido e interactúe con otros miembros de la comunidad.

Discuss with the OVHcloud community

A partir del 1 de enero de 2015, con arreglo a la Directiva 2006/112/CE modificada, los precios IVA incluido pueden variar según el país de residencia del cliente (por defecto, los precios con IVA incluyen el IVA español vigente).