sql >> データベース >  >> RDS >> PostgreSQL

PostgreSQLでデフォルトのユーザーパスワードを設定する方法

    まず、ほとんどのUnixディストリビューションでは、デフォルトのPostgresユーザーは認証にパスワードを要求も使用もしないことを理解することが重要です。代わりに、Postgresが最初にインストールされた方法と使用しているバージョンに応じて、デフォルトの認証方法はidentになります。 またはpeer

    ident 認証では、TCPポート113で実行されているオペレーティングシステムの識別サーバーを使用して、ユーザーの資格情報を確認します。

    peer 一方、認証はローカル接続に使用され、オペレーティングシステムのログインしたユーザー名がPostgresデータベースのユーザー名と一致することを確認します。

    デフォルトユーザーとしてログインして接続

    ほとんどのシステムでは、デフォルトのPostgresユーザーはpostgresです。 また、認証にパスワードは必要ありません。したがって、パスワードを追加するには、最初にログインしてpostgresとして接続する必要があります ユーザー。

    $ sudo -u postgres psql
    

    接続に成功し、psqlを表示している場合 プロンプトが表示されたら、パスワードの変更にジャンプします セクション。

    データベース「postgres」が存在しないというエラーを受け取った場合は、template1に接続してみてください 代わりにデータベースを使用し、成功した場合は、パスワードの変更に進みます。 。

    $ sudo -u postgres psql template1
    
    認証エラー

    psqlに接続しようとしたときに認証エラーが発生した場合 クライアントの場合、Postgres認証構成ファイル(pg_hfa.conf)を変更する必要がある場合があります。

    通常は/etc/postgresql/#.#/main/pg_hba.confにある構成ファイルを開きます 、ここで#.# 使用しているPostgresのバージョンは次のとおりです:

    $ sudo nano /etc/postgresql/9.3/main/pg_hba.conf
    

    auth configファイルは、認証ルールのリストです。 postgresを表示している最初の行が見つかるまでファイルを下にスクロールします 3番目の列のユーザー(そのような行が存在する場合)。必要に応じて行のコメントを解除します(セミコロンを削除します)。そうでない場合は、行が完全に欠落している場合は、ファイルの先頭に次の行を追加して変更を保存します。

    local all postgres peer
    

    この認証ルールは、ユーザーpostgresのすべてのデータベースに対して確立されたローカル接続についてPostgresに通知するだけです。 、peerを使用して認証します プロトコル。

    注:Postgresの一部の古いバージョンは、デフォルトの認証方法であるidentを優先しますが、最近のほとんどのインストールでは、代わりに上記のピアを利用します。結果が異なる場合は、両方をテストする必要があるかもしれません。

    構成ファイルが更新されたら、デフォルトユーザーとしてログインして接続の手順を繰り返します。 デフォルトのpostgresとして接続を試みるセクション ユーザー。成功したら、パスワードの変更に進みます。

    パスワードの変更

    psqlでPostgresへの接続が確立されました プロンプトが表示されたら、ALTER USERを発行します postgresのパスワードを変更するコマンド ユーザー:

    postgres=# ALTER USER postgres PASSWORD 'myPassword';
    ALTER ROLE
    

    成功すると、PostgresはALTER ROLEの確認を出力します 上記のように。

    最後に、psqlを終了します \qを使用してクライアント コマンド。

    postgres=# \q
    

    これですべて完了です。デフォルトのpostgres これで、ユーザーは他のアプリケーションで使用するためのアカウントに関連付けられたパスワードを使用できます。


    1. PostgreSQLデータベーステーブルの列の位置を変更するにはどうすればよいですか?

    2. Oracle:タイムスタンプに分を追加する方法は?

    3. このエラーを修正するにはどうすればよいですか:サポートされていないSQL92?

    4. PostgreSQLでクロス集計用の列を動的に生成する