I tried to generate password for postgres
using hashlib
from Python.
>>> import hashlib
>>> hashlib.md5("psql123").hexdigest()
2636d1ddc54901f98d011ffe050c0eb7
But postgresql requires md5
prefix, so then
sudo -u postgres psql
ALTER USER postgres PASSWORD 'md52636d1ddc54901f98d011ffe050c0eb7';
However, authentication would fail if I use psql123
as password.
If I use passlib
, I am fine. See http://pythonhosted.org/passlib/lib/passlib.hash.postgres_md5.html
Doing the following using psql123
as password is okay.
ALTER USER postgres PASSWORD 'md556074e7318bd4cee558faab0678a2fad';
I don't understand what the warning in passlib
want to say. Is it okay to use this hash for postgres
user? Also, where in the doc does it say username
has to be part of the input?
I assume this is why postgres
can't understand the result from hashlib
. As a LDAP user, I can generate a password in the shell. Does postgres has a built-in command to do that? Does psycopg2
has that? It looks like it doesn't.