На официальной странице такой случай не упоминается. Но многим пользователям нужна только psql
локальная база данных (у меня она есть на AWS). Заваривать не надо psql
.
На официальной странице такой случай не упоминается. Но многим пользователям нужна только psql
локальная база данных (у меня она есть на AWS). Заваривать не надо psql
.
Ответы:
Вы также можете использовать homebrew для установки libpq.
brew install libpq
Это даст вам psql, pg_dump и целый ряд других клиентских утилит без установки Postgres.
Затем вы добавляете каталог установки к своему пути. В моем случае расположение каталога:
/usr/local/Cellar/libpq/10.3/bin
brew link --force libpq
но это создаст кучу других символических ссылок, которые вам могут не понадобиться / не понадобиться.
ln -s /usr/local/Cellar/libpq/11.3/bin/psql /usr/local/bin/psql
/ ln -s /usr/local/Cellar/libpq/11.3/bin/pg_dump /usr/local/bin/pg_dump
/ln -s /usr/local/Cellar/libpq/11.3/bin/pg_restore /usr/local/bin/pg_restore
for cmd in psql pg_dump pg_restore; do ln -s ../opt/libpq/bin/$cmd /usr/local/bin/$cmd; done
PATH=/usr/local/opt/libpq/bin:$PATH
чтобы добавить все команды в свой путь за один раз, используя имя каталога, которое не меняется с версией, libpq
которую вы устанавливаете.
На самом деле Homebrew имеет только формулу postgres и не имеет какой-либо конкретной формулы, которая только устанавливает psql
инструмент.
Итак, «правильный способ» получить psql
приложение - это действительно установить формулу postgres , и в конце раздела «предостережения» вы увидите, что она фактически не запускает базу данных, а просто помещает файлы в вашу систему. :
$ brew install postgres
==> Downloading https://homebrew.bintray.com/bottles/postgresql-9.6.5.sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring postgresql-9.6.5.sierra.bottle.tar.gz
==> /usr/local/Cellar/postgresql/9.6.5/bin/initdb /usr/local/var/postgres
==> Caveats
<snip>
To have launchd start postgresql now and restart at login:
brew services start postgresql
Or, if you don't want/need a background service you can just run:
pg_ctl -D /usr/local/var/postgres start
==> Summary
🍺 /usr/local/Cellar/postgresql/9.6.5: 3,269 files, 36.7MB
Теперь вы можете использовать его psql
для подключения к удаленным серверам Postgres и не будете запускать локальный, хотя могли бы, если бы действительно хотели.
Чтобы убедиться, что локальный postgres
демон не запущен, проверьте установленные службы homebrew:
$ brew services list
Name Status User Plist
mysql stopped
postgresql stopped
Если у вас не установлены службы Homebrew Services , просто
$ brew tap homebrew/services
... и вы получите эту функциональность. Для получения дополнительной информации о Homebrew Services прочитайте этот отличный пост в блоге, в котором объясняется, как это работает .
brew link
шага. Установление ссылки с помощью libpq необходимо из-за объявления keg_only в формуле. Учитывая эту конкретную сложность , я считаю, что этот ответ является «правильным» способом сделать то, что задает вопрос. Я понимаю, что многие пользователи по-прежнему предпочтут этот libpq
подход.
libpq 11.2
MacOS и zsh или bash
ниже работает
libpq
brew install libpq
обновить PATH
если использовать zsh:
echo 'export PATH="/usr/local/opt/libpq/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
если использовать bash:
echo 'export PATH="/usr/local/opt/libpq/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile
echo 'export PATH="/usr/local/opt/libpq/bin:$PATH"' >> ~/.bash_profile
если вы используете bash.
Если вам действительно не нужен postgresql, вам даже не нужно менять свой путь для использования libra, просто сделайте ссылку libpq
. В документации говорится, что единственная причина, по которой это не так, - избежать конфликтов с пакетом PostgreSQL.
brew uninstall postgresql
brew install libpq
brew link --force libpq
Я нашел все это действительно неудовлетворительным, особенно если вам нужно поддерживать несколько версий postgres. НАМНОГО более простое решение - загрузить двоичные файлы здесь:
https://www.enterprisedb.com/download-postgresql-binaries
И просто запустите исполняемую версию psql
, соответствующую базе данных, с которой вы работаете, без каких-либо дополнительных действий.
пример:
./path/to/specific/version/bin/psql -c '\x' -c 'SELECT * FROM foo;'
Вы могли бы попробовать brew install postgresql
Но это обеспечивает приятный графический интерфейс для управления вашими базами данных https://postgresapp.com
brew install postgresql
установить psql с самой базой данных :(