使用できる方法は2つあります。どちらもユーザーを作成する必要がありますと データベース。
デフォルトでは、psqlはユーザーと同じ名前でデータベースに接続します。したがって、「ユーザーのデータベース」を作成するための規則があります。 。また、ユーザーに必要なデータベースが1つだけの場合は、この規則を破る理由はありません。 mydatabase
を使用します データベース名の例として。
-
createuserとcreatedbの使用 、データベース名について明示することができます
$ sudo -u postgres createuser -s $USER $ createdb mydatabase $ psql -d mydatabase
おそらくそれを完全に省略し、代わりにすべてのコマンドをデフォルトでユーザーの名前にする必要があります。
$ sudo -u postgres createuser -s $USER $ createdb $ psql
-
SQL管理コマンドを使用し、TCP経由でパスワードを使用して接続する
$ sudo -u postgres psql postgres
そして、psqlシェルで
CREATE ROLE myuser LOGIN PASSWORD 'mypass'; CREATE DATABASE mydatabase WITH OWNER = myuser;
その後、ログインできます
$ psql -h localhost -d mydatabase -U myuser -p <port>
ポートがわからない場合は、
postgres
として、次のコマンドを実行することでいつでも取得できます。 ユーザー、SHOW port;
または、
$ grep "port =" /etc/postgresql/*/main/postgresql.conf
補足:postgres
ユーザー
しないことをお勧めします postgres
を変更する ユーザー。
- 通常、OSからロックされています。
postgres
としてオペレーティングシステムに「ログイン」することは想定されていません。 。postgres
として認証するためのrootが必要です 。 - 通常、パスワードで保護されておらず、ホストオペレーティングシステムに委任されます。これは良いことです 。これは通常、
postgres
としてログインすることを意味します これは、SQLServerのSA
に相当するPostgreSQLです。 、基になるデータファイルへの書き込みアクセス権が必要です。そして、それはあなたが通常とにかく大混乱を壊すことができることを意味します。 - これを無効にしておくことで、指定されたスーパーユーザーを介したブルートフォース攻撃のリスクを排除できます。スーパーユーザーの名前を隠したり隠したりすることには利点があります。