I have a fresh ubuntu 10.10 install with all updates and postgresql 8.4
In order for postgresql to accept login+password connections i have configured it via:
sudo su postgres
psql
ALTER USER postgres WITH PASSWORD 'password';
CREATE DATABASE myapp;
\q
exit
sudo vi /etc/postgresql/8.4/main/pg_hba.conf
change "local all all indent" to "local all all trust"
But, surprisingly, this is not working! The command
psql -U postgres password
Evaluates with error:
psql: FATAL: Ident authentication failed for user "postgres"
Any hints how i can make the psql -U to work?
It is probably a good idea to leave the “postgres” user with ident authentication. By default I believe Ubuntu uses the “postgres” user to perform upgrades, backups, etc, and that requires that it is able to login without a specified password.
I recommend creating another user (probably with your own username) and giving it admin privileges as well. Then you can use that user with passwords on local connections.
Here is what the relevant parts of my pg_hba.conf look like:
Also note that
psql -U postgres passwordwill not do what you want. The password should never be specified on the commandline. That will try to login as user “postgres” to a database named “password”.You should use
psql -U postgres myappinstead. Postgres will automatically prompt you for a password, if it is configured properly to require one.In case we want the password be filled-in automatically, place it in $HOME/.pgpass file