Как установить только клиентские инструменты для PostgreSQL в Windows?

У меня есть база данных PostgreSQL в системе Linux, с которой я хочу получить доступ с моего ПК с ОС Windows. Но единственными двоичными файлами Windows, которые я смог найти, является полный инсталлятор, который включает сервер и клиент базы данных.

Можно ли получить доступную для клиента только двоичную установку Windows для PostgreSQL?

(Чтобы уточнить, я хочу, чтобы стандартный клиент PostgreSQL, psql - не клиент GUI или независимый инструмент).

Ответы

Ответ 1

К сожалению, нет реального клиентского "только" установщика.

Что вы можете сделать, это загрузить ZIP-архив полных двоичных файлов Postgres:

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

а затем удалите из него часть "сервер".

Когда вы распакуете его, вы получите следующие каталоги:

bin
doc
include
lib
pgAdmin III
share
StackBuilder
symbols

Вы можете удалить каталоги doc, include, pgAdmin III, StackBuilder и symbols. Насколько я могу судить (но я не уверен), клиенту также не нужны каталоги share или lib, но вам нужно будет это проверить. Таким образом, это оставляет только каталог bin.

Я думаю, что каталог share может понадобиться для локализованных сообщений об ошибках в psql, но я не уверен в этом.

Внутри каталога bin вы можете существенно удалить все .exe файлы (за исключением psql.exe, конечно). Вы также можете удалить все wx*.dll файлы, они нужны только для pgAdmin. libxml2.dll и libxslt.dll также необходимы только для сервера.

Если вам нужны другие инструменты для клиентов, вы можете захотеть сохранить

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

Один из недостатков этого подхода заключается в том, что для этого необходимо установить распространяемый Visual С++. Но вы можете преодолеть это, просто положив MSVCR120.DLL с какого-то компьютера, где он установлен в каталог bin.

Таким образом, вы получите эти файлы (из каталога bin), которые необходимы для клиента psql:

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

Конечно, вы также можете взять все это из существующей установки Postgres без необходимости загрузки ZIP-архива.


Это, очевидно, не настоящий установщик, но если вы поместите очищенный каталог в ZIP файл, вы можете его распространять, а тот, кому он нужен, просто распаковывает архив. Лично я считаю, что unzip будет лучшим "установщиком" в любом случае (я также использую это для установки сервера Postgres, у установщика Windows просто слишком много причуд)

Ответ 2

На самом деле в pgAdmin есть клиентские инструменты CLI. Все, что вам нужно, это просто установить его на свой компьютер с помощью https://www.postgresql.org/download/windows/.

Затем вы сможете найти эти инструменты в папке C:\Program Files (x86)\pgAdmin III\1.22 или C:\Program Files (x86)\pgAdmin 4\v2\runtime, зависит от версии pgAdmin, которую вы имеете установлен.

Ответ 3

Я понимаю, что это старый вопрос, но когда я использовал установщик Windows для последней версии Postgres (10.4), он дал мне возможность установить только инструменты командной строки. Я просто pgadmin server и pgadmin в окне установщика, когда было предложено выбрать то, что я хотел установить.