2017-12-02 15 views
-1

私はpostgresql(pg)を使い慣れました。私はpgと対話するために、psql.exeを使う必要があることを理解しています。psql.exeを起動するには

私のシステムでは、psql.exeは一度しか見つかりませんでしたが、二度、なぜですか? (C:¥Program Files(x86)¥pgAdmin 4¥v2¥runtime¥psql.exeおよびC:¥Program Files¥PostgreSQL¥10¥bin¥psql.exe)を実行します。私は両方とも、同じ(否定的な)結果で試しました。

Q/A In PostgreSQL why does command line window disappear when I press Enter after entering my password?に沿って、psql.exeを直接実行する代わりに、まずジェネリック(Windows)コマンドウィンドウを開き、この汎用コマンドウィンドウ内からpsql.exeを実行しました。私はパスワードを入力してEnterを押しました。

PSQL:サーバーに接続できませんでした:アクセス許可は拒否されました(0x0000271D/10013)は、ホスト "localhost" を(上で動作しているサーバです::ジェネリック(Windowsの場合)、コマンドウィンドウで

は、私は今、メッセージが表示されました1)、ポート5432のTCP/IP接続を受け入れていますか?致命:ユーザー "User"のパスワード認証に失敗しました

これは上記のQ/Aに記載されている(解決されていない)問題に相当します。このフォーラムの他のスレッドは、パスワードの変更に失敗しましたLinux /古いパスワード/パスワードの変更後の新しいパスワード。

Windowsでは、pgpass.confというファイルがあります。私はヘルプファイルlibpq-pgpass.htmlも見つけました。私のシステムでは、このようなファイルpgpass.conf(または前述のhtmlファイルを除いて "pgpass"を持つもの)はありません。

(W10教授64ビット英語)

第戦略:

スタートメニュー内では、エントリ "PostgreSQLは" があります。その下にはEnterキーで利用可能なサブエントリ "SQL Shell(psql)"があります。だから私はそれを試みた。

そこからは、「psql 10.1」と([]内は明らかにデフォルト値です)Windowsコマンドウィンドウが表示されます。 サーバ[localhost]:localhostと入力します。データベース[postgres]:私はpostgresに入ります。ポート[5432]:5432と入力します。ユーザー名[postgres]:私はpostgresに入ります。ユーザーpostgresのパスワード:「a」のパスワードを入力します。

そこから、Windowsコードページとは異なるコンソールコードページが表示されますが、psqlプロンプトが表示されます。 postgres =# と動作します。

一方、上記の最初の戦略では、「パスワード」を取得してから、実際のパスワード(「a」)を入力した後、「FATAL」エラー「ユーザーのパスワード認証に失敗しました"A" "

インストール時に、ユーザー "A"ではなく、パスワード "a"を持つスーパーユーザー "postgres"を作成しました。一方、私は自分のWindows管理者(!)アカウント(自分のPC上に自分自身以外のユーザーはいない)と通常はcmdのプロンプト( "C:\ Users \ A>")であるユーザー "A"です。プロンプト "C:>"からpsql.exeへのパス全体を入力しても、(期待どおり)異なる結果は得られません。

これで私の問題は次のようになりました。起動メニューからトリガされると、psql.exeは正常に動作します(上記のとおり)。 (もちろん両方の完全なパスが試して囲まれています)、 "パスワード"を尋ねて、 "ユーザA"の中にはパスワードが間違っていると伝えます。

また、スタートメニュー内の(機能する)psql.exeへのフルパスはC:\ ProgramData \ Microsoft \ Windows \ Start Menu \ Programs \ PostgreSQL 10 \ psql.exeです。実行しようとするとcmdウィンドウから、「(パス)が内部または外部のコマンド、操作可能なプログラムまたはバッチファイルとして認識されない」ということになります。そこには「SQL Shell(psql).lnk」というプロパティがあります。 "対象:" C:¥Program Files¥PostgreSQL¥10¥scripts¥runpsql.bat ""です。

これは解決策です。下記の私の答えをご覧ください。

+0

なぜdownvote?エラーを表示せずにウィンドウを閉じることは明らかな動作ではありません –

+0

コンピュータ上でデータベースサーバーを実行していますか? – some

+0

はい、そうですが、転記されたmySQLのダンプだけでそのデータベースを作成したいので、まだデータベースはありません。上記の "第2の戦略"の下の私の新しい問題の説明を参照してください。 – pgny

答えて

0

まずはコマンドプロンプト(Winkey+R)を入力し、C:\Program Files\PostgreSQL\10\bin\psql.exeと入力してEnterキーを押し、パスワードを入力します。これは、エラーが発生した後にpsql.exeを閉じないことによって行ったこととは異なります。

エラーが表示されたら、それを注意深く読んで、SOまたはgoogle(またはマニュアルのマニュアル)で解決してください。まだ失敗した場合は、別の質問を投稿してください。

+0

この回答は、私の元の質問の最初の編集を行ったQ/AIの複製であった(そして私はそのシステムにヒントを得た私の元の質問を掲示した)。ありがとう、ヴァオツン! – pgny

1

いくつかのpsql.exeファイルを実行するのではなく、C:¥Program Files¥PostgreSQL¥10¥scripts¥runpsql.batファイルをプログラムで実行します。 AHKから:

実行、 "C:\プログラムファイル\のPostgreSQL \ 10 \スクリプト\ runpsql.bat"

次にあなたは、あなたの右の質問をし、一般的なWindowsのコマンドウィンドウを取得する(上記参照)と、正しく答えると、psqlコマンドプロンプトが表示されます。

関連する問題