web-dev-qa-db-ja.com

WindowsでPostgreSQLにユーザーを追加する方法

Mt Windows 7マシンでPostgreSQLを実行しています。データベースを実行するには、次のように入力します。

C:\psql -Upostgres mydb

これでうまくいきますが、-Uものですが、Postgresは私が「Eric」としてログインしようとしていると考えています。これは、それが私のユーザープロファイルだからです。

そのため、明らかにPostgresにユーザーを追加する必要があります。しかし、どうやって?私が試した場合:

C:\createuser Eric

Postgresは私がユーザーEricを追加しようとしていると考えていますユーザーEricとしてこれは失敗します。 -Uフラグはここでは機能しないようです。

何が欠けていますか?私のコマンドウィンドウは管理者モードであり、Sudoがありません。

25
Eric Wilson

Pgadminでは、新しい「ログインロール」を作成し、それにEricという名前を付けて、グラフィカルにアクセス許可を与えるか、コマンドラインから次のように実行できます。

psql -U postgres -c "CREATE ROLE Eric LOGIN NOSUPERUSER INHERIT CREATEDB CREATEROLE;" mydb

cREATE ROLEオプションの詳細については、 http://developer.postgresql.org/pgdocs/postgres/sql-createrole.html を参照してください。

41
digitaljoel

情報を追加するだけです。 公式ドキュメント から:createuserユーティリティが環境変数を介してpostgresにログインするユーザーを指定できます。

PGUSER

Powershellの1つのライナー:

& { $env:PGUSER="postgres"; .\createuser.exe Eric}
3
Rayz

createuserのドキュメント は、-Uスイッチが受け入れられます:

-U username
--username username

接続するユーザー名(作成するユーザー名ではありません)。

これは私が使用することを期待するものです(WindowsでPostgreSQLを設定しようとしたことはありませんが、unicesでのみです)。

2
Greg Hewgill

これは私のために働きました--username Shweta;

次に、データベースを作成しますcreate database db;

1
valkyrie55