web-dev-qa-db-ja.com

PostgreSQLエラー致命的:ロール「ユーザー名」が存在しません

WindowsでPostgreSQL 9.1をセットアップしています。

私はPostgreSQLで何もできません。createdb、createuserはできません。すべての操作がエラーメッセージを返します

致命的:ロールルートが存在しません
rootは私のアカウント名で、Postgresqlのインストール中に作成しました

しかし、私は使用して接続することができます:

 username : postgres  

ロールrootを使用してpostgresに接続するにはどうすればよいですか?
suコマンド here を使用したLinuxプラットフォームの解決策がありますが、windows7の解決策がわかりません

前もって感謝します

12
Abhishek

ユーザー名rootを使用してPostgresにログインする場合は、まずそのようなユーザーを作成する必要があります。

最初に、Postgresスーパーユーザーとしてログインする必要があります。これは通常postgresです(インストール時に指定されます):

psql -U postgres ....

次に、ロールとデータベースを作成できます。

psql (9.4.0)
Type "help" for help.

postgres=# create user root with password 'verysecret';
CREATE ROLE
postgres=# \q

c:\
c:\>psql -U root postgres
psql (9.4.0)
Type "help" for help.

postgres=>

スーパーユーザーとしてログインすると、rootユーザーに必要な特権を付与することもできます。

psqlのすべてのパラメーター マニュアルに記載されています

ユーザーとデータベースの作成もマニュアルに記載されています。

37

場合によっては、postgresをインストールするときに初期DBが作成されません。

initdbを実行 する必要があります。

0
Natacha