2013-08-09 1 views
5

私はこのタイプのデータベースを使い慣れていないので、psqlを指定してコマンドラインからパスワードを入力してみます。私は上記のエラー(この質問のタイトルで)を取得します。psql fe_sendauth no password

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

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形式)を入力してください

答えて

0

trust認証を使用している場合(開発にのみ使用する必要があります)、psqlでパスワードを入力する必要はありません。

私はあなたが正しくサーバーを再起動しなかったと思います。おそらくstartの代わりにrestartを使用しますか?

+0

このエラーも発生します。それはデータベースの再起動とは関係ありません。 PGは、 'psql --username = postgres --host = localhost'でパスワードを要求しますが、' psql --username = postgres'ではパスワードの入力を要求しません。 – Cerin

+1

@Cerin 2つはUNIXソケットをサポートするプラットフォームでは同等ではありません。後者は 'localhost'が解決するIPアドレスにTCP/IPを使用します。前者は実際に 'psql --username = postgres --host =/var/run/pgsql'(またはあなたの' unix_socket_directory'がどこにあるのか)と似ています。私はそのユーザーインターフェイスが嫌いですが、実際には変更できません。 Windowsでは、UNIXソケットをサポートしていないので同等です。 –

0

Craig氏によれば、おそらくサーバーを再起動していない可能性があります。開始の代わりに再起動を使用する必要があります。 (再読み込みはうまくいくかもしれませんが、Windowsでは確実ではありません)

これはあなたの問題ではありません。キーの問題は、あなたがローカルホストに接続していないことと、他のホストからのパスワードを要求している行がpg_hba.confであることがほぼ確実です。

注:外部IPアドレスに接続すると、別のまたはより一般的なルールが適用されます。

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

信頼を使用する場合は、パスワードを変更した後で確実に戻す必要があります。通常、私はCraigに同意しますが、開発以外では信頼認証を使用すべきではないが、重要なユーザーのパスワードリセットには正当なアプローチであり、Windowsではプラットフォーム上でうまくサポートされなければなりません。

最後に、どうやってログインしているのですか?これを設定する場合は、おそらくpsql -h 127.0.0.1 [dbname]を使用して、Windowsがコンピュータ名を使用して接続しようとするような変なことをしないようにする必要があります外部IP)。