web-dev-qa-db-ja.com

WindowsにPostgreSQLのクライアントツールのみをインストールするにはどうすればよいですか?

LinuxシステムにPostgreSQLデータベースがあり、Windows PCからアクセスしたい。しかし、私が見つけることができた唯一のWindowsバイナリは、データベースサーバーとクライアントを含む完全なインストーラーです。

どこからでもPostgreSQLのクライアント専用のWindowsバイナリインストールを取得することは可能ですか?

(明確にするために、GUIクライアントや独立したツールではなく、標準のPostgreSQLクライアントであるpsqlが必要です)。

41
Paul Moore

残念ながら、実際のクライアント「唯一」のインストーラーはありません。

できることは、Postgresの完全なバイナリのZipアーカイブをダウンロードすることです。

http://www.enterprisedb.com/products-services-training/pgbindownload

その後、「サーバー」部分を削除します。

解凍すると、次のディレクトリが取得されます。

 bin 
 doc 
 include 
 lib 
 pgAdmin III 
 share 
 StackBuilder 
 symbols 

docincludepgAdmin IIIStackBuilderおよびsymbolsディレクトリを削除できます。私が知る限り(ただし、確信はありません)、クライアントはshareまたはlibディレクトリも必要ありませんが、テストする必要があります。したがって、binディレクトリのみが残ります。

shareのローカライズされたエラーメッセージにはpsqlディレクトリが必要になると思いますが、それについてはわかりません。

binディレクトリ内では、本質的にすべての.exeファイルを削除できます(もちろんpsql.exeを除く)。すべてのwx*.dllファイルを削除することもできます。これらはpgAdminにのみ必要です。 libxml2.dlllibxslt.dllもサーバーにのみ必要です。

他のクライアントツールが必要な場合は、そのままにしておきます。

  • pg_dump.exe
  • pg_dumpall.exe
  • pg_restore.exe

このアプローチの欠点の1つは、Visual C++ Redistributableをインストールする必要があることです。しかし、binディレクトリにインストールされているコンピューターからMSVCR120.DLLを置くだけで、それを克服することもできます。

したがって、psqlクライアントに必要なこれらのファイル(binディレクトリから)が残ります。

  • iconv.dll
  • libeay32.dll
  • libintl-8.dll
  • libpq.dll
  • msvcr120.dll
  • ssleay32.dll
  • zlib1.dll
  • psql.exe

もちろん、Zipアーカイブをダウンロードすることなく、既存のPostgresインストールからすべてを取得することもできます。


明らかに本物のインストーラーではありませんが、クリーンアップしたディレクトリをZipファイルに入れると、それを配布でき、必要な人はアーカイブを解凍するだけです。個人的には、unzipが最高の「インストーラー」であることがわかりました(Postgresサーバーのインストールにも使用していますが、Windowsインストーラーの癖が多すぎます)

31

実際、pgAdminにはクライアントCLIツールがあります。必要なのは、Windowsマシンに https://www.postgresql.org/download/windows/ からインストールするだけです。

その後、インストールしたpgAdminのバージョンに応じて、C:\Program Files (x86)\pgAdmin III\1.22C:\Program Files (x86)\pgAdmin 4\v2\runtimeなどのフォルダーでこれらのツールを見つけることができます。

17

これは古い質問ですが、Postgresの最新バージョン(10.4)でWindowsインストーラーを使用すると、コマンドラインツールのみをインストールするオプションが与えられました。インストールするものを選択するように求められたら、インストーラのウィンドウでserverpgadminのチェックを外しました。

7
Rick