PostgreSQLをyumでインストールしたときに、初期設定では認証部分はOSに紐付いた設定になっています。
pg_hba.conf
local all all peer host all all 127.0.0.1/32 ident host all all ::1/128 ident
こんな設定です、公式ドキュメントだと
ident
クライアントのオペレーティングシステムにおけるユーザ名をクライアント上のidentサーバに尋ねてユーザ名が要求されたデータベースユーザ名と一致するか検査します。 Ident認証は、TCP/IP接続でのみ使用可能です。ローカル接続が指定されている場合は、peer認証が代わりに使用されます。 詳細は項19.3.6を参照してください。
peer
クライアントのオペレーティングシステムにおけるユーザ名をオペレーティングシステムから取得し、ユーザ名が要求されたデータベースユーザ名と一致するか検査します。 これはローカル接続の時にのみ使用可能です。詳細は項19.3.7を参照してください。
となっています。 identの方は設定ファイルに書き加えればそのまま使えそうですが、 peerの方はpostgresユーザーにsuでユーザーを切り替えないとログインできないです。
ちょっと使いづらいので、普通にログイン名、パスワードでできるようにします。
# su - postgres $ psql -c "alter role postgres with password '{password}'" ;
vim pg_hba.conf --- local all all md5 host all all 127.0.0.1/32 md5 host all all ::1/128 md5 --- service postgresql restart
これで
psql -U postgres
でパスワードを入力してログインできるようになります。 自動バックアップ時に pg_dump コマンドなどでパスワードを省きたいときは
vim ~/.pgpass --- localhost:5432:{dbname}:{dbuser}:{password} ---
としておくと省くことが可能です。
postgresql9.3 pg_hbaドキュメント https://www.postgresql.jp/document/9.3/html/auth-pg-hba-conf.html