7

私はこのタイプのデータベースを初めて使用し、psql を指定してコマンド ラインから接続し、パスワードを空白として入力しようとしました。上記のエラーが発生します(この質問のタイトルにあります)。

デフォルトのパスワードがわかりません。

pg_hba ファイル:

        IPv4 local connections:
    host    all             all             127.0.0.1/32            trust
    # IPv6 local connections:
    host    all             all             ::1/128                 trust
    # Allow replication connections from localhost, by a user with the
    # replication privilege.
    host    replication     DIMA        127.0.0.1/32            trust
    host    replication     DIMA        ::1/128                 trust

postgresql.config

listen_addresses = '*'      # what IP address(es) to listen on;
                    # comma-separated list of addresses;
                    # defaults to 'localhost', '*' = all
                    # (change requires restart)
port = 5432             # (change requires restart)

この方法でサーバーを再起動します。

C:\metasploit\postgresql\bin\pg_ctl -D "C:\metasploit\postgresql\myData" -l logfile start

私が望むのは、データベースに入ってパスワードを変更することだけです。そして、できれば PgAdmin-III (GUI 形式) に入ります。

4

2 に答える 2

0

Craig が言ったように、おそらくサーバーを再起動していないので、起動ではなく再起動を使用する必要があります。(リロードも同様に機能する可能性がありますが、Windows では確実ではありません)

しかし、それはあなたの問題ではありません。重要な問題は、ほとんどの場合、localhost に接続しておらずpg_hba.conf、他のホストからのパスワードを要求する行が含まれていることです。

外部 IP アドレスに接続する場合は、別のルールまたはより一般的なルールにヒットすることに注意してください。

このエラーは、基本的に、pg_hba.confファイルがパスワード認証に設定されているが、パスワードが指定されていないことを意味します。問題がすぐに見つからない場合は、接続元の IP アドレスが postgresql ログ ファイルにあるはずです。

信頼の使用に関しては、パスワードを変更した後は必ず元に戻す必要があります。通常、開発以外では信頼認証を使用すべきではないという Craig の意見に同意しますが、これは重要なユーザーのパスワードをリセットするための正当なアプローチであり、Windows では、プラットフォームで十分にサポートされている方法でこれを行う必要があります。

最後に、問題はログイン方法です。これを設定する場合はpsql -h 127.0.0.1 [dbname]、マシン名 (したがって外部 IP) を使用して接続しようとするような奇妙なことを Windows が行わないようにするために、おそらく を使用する必要があります。

于 2013-11-06T02:20:39.860 に答える