明らかに、これは非常に難しい質問です。なぜなら、簡単なことですが、誰も答えていないように見えるからです。
ubuntu 12.10 サーバー (GUI なし) で PostgreSQL を実行しています。
私の目標 - 私の質問 - 「mydb」という名前のデータベースとユーザー「admin」を作成して、シェルから通常のユーザーとしてこのコマンドを実行し、データベースに接続できるようにすることです。
$ psql -U admin -d mydb
しかし、これに対する答えはどこにも見つかりません。
psqlコマンドを su して実行することで、ユーザーpostgresとしてログインできます。
$ sudo su -m postgres
postgres@baseubu1210dev:~$ psql
psql (9.1.7)
Type "help" for help.
postgres=#
「mydb」という名前のデータベースとユーザー「admin」を次のように作成する方法を見つけました。
postgres=# \du
Role name | List of roles Attributes | Member of
-----------+------------------------------------------------
admin | Superuser, Create role, Create DB | {}
postgres | Superuser, Create role, Create DB, Replication | {}
ユーザー「admin」が「mydb」データベースに接続できることを確認する方法がわかりません。おそらく、そのような権限を持つ人は必要ないのでしょうか? [私が書いているように、おそらく管理者からスーパーユーザー権限を取り消す必要があることに気付きました.]
そして、私が本当に知りたいのは、通常のユーザーのシェルから接続する方法です:
$ psql -U postgres
psql: FATAL: Peer authentication failed for user "postgres"
私が誤解しているpostgreSQLの実行に関する書かれていない仮定は確かにありますが、数時間検索したり、チュートリアルを見たりしても、問題は解決しませんでした. 誰かがこれがすでに答えられていると言ったら、特にそうであれば、私は完全に幸せです. 答えが簡単であることを願っています。あなたの助けに感謝します。
ありがとう、ゲ