Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

525
Vistas
Flask & Alchemy - (psycopg2.OperationalError) FATAL: error en la autenticación de la contraseña

Soy nuevo en Python. Tengo que desarrollar una aplicación Flask simple (en mi Ubuntu 16.4 local) con PostgreSQL como base de datos.

Instalo pgadmin, Flask, SQLAlchemy y postgres y también este es el código de mi aplicación:

 from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://dbUserName:userNamePassword@localhost/dbName' db = SQLAlchemy(app) class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(80), unique=True) email = db.Column(db.String(120), unique=True) def __init__(self, username, email): self.username = username self.email = email def __repr__(self): return '<User %r>' % self.username @app.route('/') def index(): return "Hello Flask" if __name__ == "__main__": app.run()

También creo una base de datos y un nuevo usuario en pgAdmin (y los reemplazo con una variable relacionada en mi código), pero cuando intento probar este código en Python Shell, encontré un error.

mi código pitón:

 from app import db

resultado:

 /home/user/point2map2/venv/lib/python3.5/site-packages/flask_sqlalchemy/__init__.py:839: FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future. Set it to True or False to suppress this warning. 'SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and '

Entonces:

 db.create_all()

resultado:

 (psycopg2.OperationalError) FATAL: password authentication failed for user "dbUserName" FATAL: password authentication failed for user "dbUserName"

Después de mucho buscar en el foro encontré esta guía:

en su pg_hba.conf

 # IPv4 local connections: # TYPE DATABASE USER CIDR-ADDRESS METHOD host all all 127.0.0.1/32 trust

Pero no me funciona.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Estaba atascado con este mismo error. El problema para mí fue que no había configurado la contraseña para el usuario de psql. Ver pregunta similar con respuesta aquí: https://askubuntu.com/questions/413585/postgres-password-authentication-fails

se resolvió cuando lo hice

 ALTER USER db_username PASSWORD 'new_password'
over 4 years ago · Santiago Trujillo Denunciar

0

es una vieja pregunta y supongo que no es importante para usted, pero para las personas con el mismo problema en el futuro:

yo también estaba atascado. Encontré que el comportamiento predeterminado de Postgres convierte todo a minúsculas. [1] mi problema se resolvió cuando convertí mi usuario a minúsculas.

perdon por el mal ingles :(

over 4 years ago · Santiago Trujillo Denunciar

0

Después de depurar un poco mi código sqlalchemy, vi que la url que sqlalchemy usaba era una cadena de url decodificada (al menos para postgres). Esto significa que si tiene subcadenas en su cadena de conexión como %34 , la cadena de conexión de sqlalchemy será 4 , ya que esa es la cadena decodificada de URL. La solución para este problema es simple: simplemente reemplace todas las apariciones de % en la cadena de conexión con %25 , ya que esa es la codificación de URL para % . El código para esto es simplemente:

 from sqlalchemy import create_engine connection_string_orig = "postgres://user_with_%34_in_the_string:pw@host:port/db" connection_string = connection_string_orig.replace("%", "%25") engine = create_engine(connection_string) print(engine.url) # should be identical to connection_string_orig engine.connect()

Probablemente esto no resuelva el problema de todos, pero es bueno estar al tanto.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda