Cómo conectar psycopg2 a una base de datos de dialecto de PostgreSQL

En esta página, se explica cómo conectar el controlador psycopg2 de PostgreSQL a una base de datos con dialecto de PostgreSQL en Spanner. psycopg2 es un controlador de Python para PostgreSQL.

Verifica que PGAdapter se ejecute en la misma máquina que la aplicación que se conecta con el controlador psycopg2 de PostgreSQL.

Para obtener más información, consulta Cómo iniciar PGAdapter.

connection = psycopg2.connect(database="DATABASE_NAME",
                              host="APPLICATION_HOST",
                              port=PORT)

cursor = connection.cursor()
cursor.execute('select \'Hello World\'')
for row in cursor:
  print(row)

cursor.close()
connection.close()

Reemplaza lo siguiente:

  • APPLICATION_HOST: Es el nombre de host o la dirección IP de la máquina en la que se ejecuta PGAdapter. Si la ejecución es local, puedes usar localhost.
  • PORT: Es el número de puerto en el que se ejecuta PGAdapter. Cámbialo en la cadena de conexión si PGAdapter se ejecuta en un puerto personalizado. De lo contrario, usa el puerto predeterminado, 5432.

Sockets de dominio Unix

En esta sección, se explica cómo usar sockets de dominio Unix para conectarse a una base de datos con dialecto de PostgreSQL. Usa conexiones de sockets de dominio Unix cuando necesites tener la latencia más baja posible.

Para usar sockets de dominio Unix, PGAdapter debe ejecutarse en el mismo host que la aplicación cliente.

connection = psycopg2.connect(database="DATABASE_NAME",
                              host="/tmp",
                              port=PORT)

cursor = connection.cursor()
cursor.execute('select \'Hello World\'')
for row in cursor:
  print(row)

cursor.close()
connection.close()

Reemplaza lo siguiente:

  • /tmp: Es el directorio de sockets de dominio predeterminado para PGAdapter. Se puede cambiar con el argumento de línea de comandos -dir.
  • PORT: Es el número de puerto en el que se ejecuta PGAdapter. Cámbialo en la cadena de conexión si PGAdapter se ejecuta en un puerto personalizado. De lo contrario, usa el puerto predeterminado, 5432.

¿Qué sigue?