おそらくパスワードが正しく設定できていないということなのかと思いますが、思いつく限りの解決方法やりましたがうまく行かなかったです。
どなたかわかる方いますか?よろしくおねがいします。
今回はphpでwebサイトを作りたいと思っています。ローカルの環境はdockerで構築し、データベースはpostgresqlを使います。
前提・実現したいこと
postgresqlで、作成したデータベースに接続したいです。
発生している問題・エラーメッセージ
DBeaverを使用して作成したデータベースに接続しようとしたところ、以下エラーが出て接続できません。
ユーザ"sample"のパスワード認証に失敗しました
該当のソースコード
この作業に先立ち、windowsにDockerのローカル環境を作りました。
その後、docker execコマンドでコンテナに入り、以下の操作をしてsampleユーザーとデータベースを作成しました。
docker exec testvm bash su postgres psql CREATE USER sample WITH PASSWORD 'pass'; CREATE DATABASE sampledb OWNER = sample;
また、コンテナに入った状態で以下コマンドを入力し、sampleユーザーで接続を試みたところ、パスワードの入力無しで接続できました。
本来パスワードを求められるはずなのになぜだろうと思いますが、理由が思いつきません。
su postgres psql -U sample
試したこと
・パスワード、ユーザー名、データベース名が誤っていないか確認
・デフォルトで入っているユーザー「postgres」でデータベースに接続し、以下sqlを実行して改めてパスワードを設定してやり直す。
sql
1ALTER USER "sample" WITH PASSWORD '新しいパスワード';
・以下のsqlを実行し、ユーザーテーブルを確認。ユーザーsampleのパスワードのカラムに暗号化された内容が入っているのが確認した。(パスワードがnullでないことを確認した。
sql
1SELECT * FROM pg_authid
補足情報(FW/ツールのバージョンなど)
windows10
postgresql9.5
Ubuntu 20.04 LTS
docker desktop
dbeaver
回答2件
あなたの回答
tips
プレビュー