他の答えは私には完全に満足のいくものではありませんでした。 Xubuntu12.04.1LTSのpostgresql-9.1で機能したものは次のとおりです。
-
ユーザーpostgresを使用してデフォルトのデータベースに接続します:
sudo -u postgres psql template1
-
ユーザーpostgresのパスワードを設定し、psqlを終了します(Ctrl-D):
暗号化されたパスワード「xxxxxxx」を使用したALTERUSERpostgres;
-
pg_hba.conf
を編集します ファイル:sudo vim /etc/postgresql/9.1/main/pg_hba.conf
postgresに関する行の「peer」を「md5」に変更します:
ローカルすべてpostgres
ピアmd5実行しているpostgresqlのバージョンを確認するには、
/etc/postgresql
の下にあるバージョンフォルダーを探します。 。また、VIMの代わりにNanoまたは他のエディターを使用することもできます。 -
データベースを再起動します:
sudo /etc/init.d/postgresql restart
(ここで、
psql -U postgres
で機能したかどうかを確認できます 。 -
あなたと同じ名前のユーザーを作成します(検索するには、
whoami
と入力します。 ):sudo createuser -U postgres -d -e -E -l -P -r -s
<my_name>
オプションはpostgresqlに、ログイン、データベースの作成、新しい役割の作成、スーパーユーザーであり、暗号化されたパスワードを持つことができるユーザーを作成するように指示します。本当に重要なのは、暗号化されるパスワードを入力するように求められる-P -Eと、
createdb
を実行できるようにする-dです。 。パスワードに注意してください :最初に(新しいユーザーの)新しいパスワードを2回要求し、繰り返してから、postgresのパスワード(手順2で指定したもの)を1回要求します。
-
もう一度、
pg_hba.conf
を編集します ファイル(上記の手順3を参照)を作成し、他の「すべての」ユーザーに関する行の「peer」を「md5」に変更します。ローカルすべてすべて
ピアmd5 -
再起動し(手順4と同様)、-U postgresなしでログインできることを確認します:
psql template1
単なる
psql
を実行する場合は注意してください 、同じ名前のデフォルトのデータベース(whoami
)に接続しようとするため、失敗します。 )。 template1は、最初からここにある管理データベースです。 -
次に、
createdb <dbname>
動作するはずです。