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

データベースなしでPostgreSQLユーザーとパスワードを認証する

    システムテーブルpg_rolesを使用

    Postgresは常に「postgres」と呼ばれるデータベースをインストールします。 postgresは、データベースに接続していないときに接続するデータベースです。 pg_rolesというテーブルがあります 。

    次のコマンドを使用します:

    psql -U pgadmin -d postgres -c 'select * from pg_roles'
    

    これを返します:

     rolname  | rolsuper | rolinherit | rolcreaterole | rolcreatedb | rolcatupdate | rolcanlogin | rolreplication | rolconnlimit | rolpassword | rolvaliduntil | rolconfig |  oid
    ----------+----------+------------+---------------+-------------+--------------+-------------+----------------+--------------+-------------+---------------+-----------+-------
     postgres | t        | t          | t             | t           | t            | t           | t              |           -1 | ********    |               |           |    10
     pgadmin  | t        | t          | t             | t           | t            | t           | t              |           -1 | ********    |               |           | 16384
    

    (2行)

    この回答を参照してください: postgresユーザーは存在しますか?

    ログインしてテストします

    提供されたユーザー名/パスワードでログインして、try / catchで囲んでください。ログインできる場合は有効ですが、そうでない場合は無効です。

    ユーザーの変更

    存在しないユーザーを変更すると、エラーメッセージが表示される場合があります: http://www.postgresql.org/docs/8.0/static/sql-alteruser.html

    ALTER USER postgres WITH PASSWORD 'tmppassword';
    

    ユーザーを削除して再度追加

    ユーザーを削除して再度追加しようとすると、エラーメッセージが表示される場合があります。したがって、それが無効である場合、非ユーザーを削除しようとするとエラーがスローされます。 http://www.postgresql.org/docs/8.0/static /sql-createuser.html



    1. SELECTステートメントの結果を更新します

    2. 高度なphp/mysqlページネーションスクリプトの検索

    3. SQL ServerのCONCAT_WS()

    4. 最後の挿入IDが返されません