PostgreSQL non nel percorso dopo l'installazione

2

Ho installato PostgreSQL utilizzando il programma di installazione interattivo di EnterpriseDB seguendo il link questo . Ha predefinito la directory di installazione in /Library/PostgreSQL/9.6. Dopo l'installazione corretta, psql non si trova nel $ PATH. Devo andare alla directory di installazione o inserire il percorso completo eseguirlo:

cd /Library/PostgreSQL/9.6/bin
./psql -d template1

Devo aggiungere questo percorso a .profile o .bash_profile, creare un collegamento simbolico a / usr / bin? Quale approccio è più adatto al Mac?

Perché non funziona:

# ln -s /Library/PostgreSQL/9.6/bin/psql /usr/bin/psql
ln: /usr/bin/psql: Operation not permitted

Soluzione temporanea:

sh-3.2# ln -s postgres /usr/local/bin/postgres
sh-3.2# ln -s createdb /usr/local/bin/createdb
sh-3.2# ln -s createuser /usr/local/bin/createuser
sh-3.2# ln -s dropdb /usr/local/bin/dropdb
sh-3.2# ln -s dropuser /usr/local/bin/dropuser
sh-3.2# ln -s initdb /usr/local/bin/initdb
sh-3.2# ln -s pg_ctl /usr/local/bin/pg_ctl
sh-3.2# ln -s pg_dump /usr/local/bin/pg_dump
sh-3.2# ln -s pg_dumpall /usr/local/bin/pg_dumpall
    
posta Donato 29.11.2016 - 07:57
fonte

1 risposta

2

Al contrario di altri programmi di installazione di PostgreSQL (ad esempio Homebrew), il programma di installazione di EnterpriseDB non installa gli eseguibili PostgreSQL in un percorso coperto dal tuo $ PATH predefinito.

Quindi aggiungili al file .bash_profile

...
export PATH="/Library/PostgreSQL/9.6/bin:$PATH"
...

o

...
export PATH="$PATH:/Library/PostgreSQL/9.6/bin"
...

o symlink degli eseguibili in / usr / local / bin:

ln -s /Library/PostgreSQL/9.6/bin/* /usr/local/bin

Non puoi collegarli a / usr / bin / perché questo percorso è protetto da SIP e - dopo aver disabilitato SIP - un sudoer dovrebbe anteporre sudo per collegare i file. / usr / local / bin è comunque il percorso predefinito per gli eseguibili installati dall'utente, quindi resta con questo.

    
risposta data 29.11.2016 - 10:13
fonte

Leggi altre domande sui tag