Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

466
Views
Conexión al servidor Azure PostgreSQL desde el cliente python psycopg2

Tengo problemas para conectarme a la base de datos de Azure postgres desde python. Estoy siguiendo la guía aquí: https://docs.microsoft.com/cs-cz/azure/postgresql/connect-python Tengo básicamente el mismo código para configurar la conexión. Pero psycopg2 y SQLalchemy me arrojan el mismo error:

 OperationalError: server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request.

Puedo conectarme a la instancia mediante otras herramientas de cliente como dbeaver, pero desde python no funciona.

Cuando investigo en los registros de Postgres, puedo ver que el servidor realmente autorizó la conexión, pero la siguiente línea dice

 could not receive data from client: An existing connection was forcibly closed by the remote host.

Python es 3.7 La versión de psycopg es 2.8.5 La región de Azure Postgres está en Europa Occidental

¿Alguien tiene alguna sugerencia sobre qué debo intentar para que funcione?

¡Gracias!

EDITAR: El problema se resolvió solo. Probé la misma configuración unos días después y comenzó a funcionar. Podría haber habido algún problema con Azure West Europe.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Yo también tuve este problema. Creo que leí en alguna parte (no recuerdo dónde) que Azure tiene un problema con el @ que debe para el nombre de usuario (usuario@nombreDeServidor).

Creé variables y una cadena f y luego funcionó bien.

 import sqlalchemy username = 'user@server_name' password = 'PassWord!' host = 'server_name.postgres.database.azure.com' database = 'your_database' conn_str = f'postgresql+psycopg2://{username}:{password}@{host}/{database}'

Después:

 engine = sqlalchemy.create_engine(conn_str, pool_pre_ping=True) conn = engine.connect()

Pruébelo con una declaración SQL simple.

 sql = 'SELECT * FROM public.some_table;' results = conn.engine.execute(sql)

Esta fue una conexión en el sur del Reino Unido. Antes sí se quejaba de que el formato del nombre de usuario tenía que usar @, aunque el nombre de usuario era correcto, como se probó desde la línea de comandos con PSQL y otro cliente SQL.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!