У меня есть несколько установок PostgreSQL на моем компьютере, и я хотел бы сузиться до одной установки (вариант MacPorts).
Я считаю, что OSX поставляется с каким-то пакетом, но я не знаю, где он находится, или как определить, где его найти и удалить.
Для меня это была огромная головная боль, поэтому я буду благодарен за любую помощь. Я использую 10.7.5.
which postgres
дает:
/usr/local/pgsql/bin/postgres
И в моем профиле bash у меня есть:
PG_SQL=/usr/local/pgsql/lib:/usr/local/pgsql/bin
export PG_SQL
port installed
дает:
postgresql92 @9.2.2_0 (active)
postgresql_select @0.1_0 (active)
sh-3.2# find . -iname PG_VERSION
дает:
./postgres/database/base/1/PG_VERSION
./postgres/database/base/12265/PG_VERSION
./postgres/database/base/12270/PG_VERSION
./postgres/database/base/16384/PG_VERSION
./postgres/database/PG_VERSION
это относительно / Users, кстати.
OS X поставляется с системным Postgres (установленным с базовой ОС, разбросанным по всей поверхности и НЕ что-то, что вы должны попытаться удалить).
Если у вас нет особых требований к версии Postgres, используйте версию, установленную с OS X.
Если вам требуется конкретная версия Postgres, я предлагаю установить ее из исходного кода (следуя инструкциям в руководстве Postgres) и поместите его в такое место, где он не будет конфликтовать с Postgres, поставляемым с OS X (/usr/local/pgsql
хорошее место. Вы также можете установить его в свой домашний каталог, если действительно хотите).
Затем вы можете установить свой PATH
переменная среды, поэтому двоичный каталог Postgres, который вы только что установили, находится перед /usr/bin
, и когда ты бежишь psql
или другие инструменты, которые вы будете использовать те, которые вы установили, а не те, которые поставляются с OS X.
(Если у вас установлено несколько версий Postgres, вы можете удалить те, которые не поставляются поставщиком, в соответствии с инструкциями, предоставленными инструментом, который вы использовали для их установки. Если вы хотите удалить Postgres, установленный из источника, просто удалите каталог, в котором он был установлен. к.)