Mt Windows 7マシンでPostgreSQLを実行しています。データベースを実行するには、次のように入力します。
C:\psql -Upostgres mydb
これでうまくいきますが、-U
ものですが、Postgresは私が「Eric」としてログインしようとしていると考えています。これは、それが私のユーザープロファイルだからです。
そのため、明らかにPostgresにユーザーを追加する必要があります。しかし、どうやって?私が試した場合:
C:\createuser Eric
Postgresは私がユーザーEricを追加しようとしていると考えていますユーザーEricとしてこれは失敗します。 -U
フラグはここでは機能しないようです。
何が欠けていますか?私のコマンドウィンドウは管理者モードであり、Sudo
がありません。
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 を参照してください。
情報を追加するだけです。 公式ドキュメント から:createuserユーティリティが環境変数を介してpostgresにログインするユーザーを指定できます。
PGUSER
Powershellの1つのライナー:
& { $env:PGUSER="postgres"; .\createuser.exe Eric}
createuser
のドキュメント は、-U
スイッチが受け入れられます:
-U username
--username username
接続するユーザー名(作成するユーザー名ではありません)。
これは私が使用することを期待するものです(WindowsでPostgreSQLを設定しようとしたことはありませんが、unicesでのみです)。
これは私のために働きました--username Shweta;
次に、データベースを作成しますcreate database db;