How to restart PostgreSQL server on MacOS?

后端 未结 3 2002
终归单人心
终归单人心 2021-01-01 17:46

I tried the following and it failed

bash-3.2$ pg_ctl restart
pg_ctl: no database directory specified and environment variable PGDATA unset
<
相关标签:
3条回答
  • 2021-01-01 18:25

    One liner (with default postgresSql 9.6 install)

    sudo su postgres -c "/Library/PostgreSQL/9.6/bin/pg_ctl restart -D /Library/PostgreSQL/9.6/data"
    

    Full version

    Get the pgdata folder (gave me /Library/PostgreSQL/9.6/data) (thanks @a_horse_with_no_name)

    select name, setting from pg_settings where name = 'data_directory';
    

    For me it returns '/Library/PostgreSQL/9.6/data'

    Then

    sudo su - postgres
    ./bin/pg_ctl restart -D /Library/PostgreSQL/9.6/data
    

    Note: postgres' user home dir should be "/Library/PostgreSQL/9.6"

    0 讨论(0)
  • 2021-01-01 18:28

    If you used brew you could find the restart(start|stop) instructions by doing a brew info postgresql Some issues that happen stem from the fact I've seen the plist not load, on OS startup, for some reason. I always forgot what to do and this helped.

    on my Postgres 9.2 brew recipe it had:

    launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
    
    0 讨论(0)
  • 2021-01-01 18:39

    As you want to re-start Postgres I assume the server is already running.

    Using the superuser account you can query the location of the data directory through SQL:

    select name, setting
    from pg_settings
    where name = 'data_directory'
    

    With that information you can supply the data directory to the pg_ctl command using the -D switch (see the manual for details)

    0 讨论(0)
提交回复
热议问题