На официальной странице такой случай не упоминается. Но многим пользователям нужна только 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
ниже работает
libpqbrew 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_profileecho '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 с самой базой данных :(