Conectar o psycopg2 a um banco de dados do dialeto PostgreSQL

Nesta página, explicamos como conectar o driver psycopg2 do PostgreSQL a um banco de dados com dialeto PostgreSQL no Spanner. psycopg2 é um driver Python para PostgreSQL.

Verifique se o PGAdapter está em execução na mesma máquina que o aplicativo que está se conectando usando o driver psycopg2 do PostgreSQL.

Para mais informações, consulte Iniciar o 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()

Substitua:

  • APPLICATION_HOST: o nome do host ou endereço IP da máquina em que o PGAdapter está sendo executado. Se você estiver executando localmente, use localhost.
  • PORT: o número da porta em que o PGAdapter está em execução. Mude isso na string de conexão se o PGAdapter estiver sendo executado em uma porta personalizada. Caso contrário, use a porta padrão, 5432.

Soquetes de domínio Unix

Nesta seção, explicamos como usar soquetes de domínio Unix para se conectar a um banco de dados PostgreSQL. Use conexões de soquete de domínio Unix quando precisar da menor latência possível.

Para usar soquetes de domínio Unix, o PGAdapter precisa estar em execução no mesmo host que o aplicativo 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()

Substitua:

  • /tmp: o diretório de soquete de domínio padrão para PGAdapter. Isso pode ser mudado usando o argumento de linha de comando -dir.
  • PORT: o número da porta em que o PGAdapter está em execução. Mude isso na string de conexão se o PGAdapter estiver sendo executado em uma porta personalizada. Caso contrário, use a porta padrão, 5432.

A seguir