UPDATE(05/06/2013):
still works fine for MAC
modify
/usr/local/var/postgres/postgresql.conf
get localhost works
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log restart
还是说brew安装,之前之后的事
1. 用brew安装postgresql,很忌讳rvm的gcc,要用xcode的command line
2. brew装完要设置路径,就是local那个不然,就会莫名其妙的错误,总用系统的postgresql
PATH=/usr/local/bin:$PATH:$HOME/.rvm/bin # Add Brew and RVM to PATH for scripting [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # This loads RVM Kens-MacBook-Pro:reptile_nai
重新安装攻略
brew rm postgresql --force sudo /sbin/SystemStarter stop postgresql-8.4 sudo rm -rf /Applications/PostgreSQL\ 8.4 sudo rm -rf /etc/postgres-reg.ini sudo rm -rf /Library/StartupItems/postgresql-8.4 sudo rm -rf /Library/PostgreSQL/8.4 sudo dscl . delete /users/postgres nano /etc/profile brew update brew install postgresql initdb /usr/local/var/postgres cp /usr/local/Cellar/postgresql/9.1.4/homebrew.mxcl.postgresql.plist ~/Library/LaunchAgents/ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start gem install pg
psql -U postgres -h localhost#9.2有一个默认的数据库用户就是,当前系统用户。不注意的话就会很讨厌 grant all privileges on database postgres to postgres; alter user livegamer with superuser; \du alter user livegamer with encrypted password 'livegamer';
brew install postres initdb /usr/local/var/postgres mkdir -p ~/Library/LaunchAgents cp /usr/local/Cellar/postgresql/9.0.4/org.postgresql.postgres.plist ~/Library/LaunchAgents/ launchctl load -w ~/Library/LaunchAgents/org.postgresql.postgres.plist If you need a gem for posgres do: env ARCHFLAGS="-arch x86_64" gem install pg Install Instrumentation, in my case (postgres version 9.0.4): psql -d postgres < /usr/local/Cellar/postgresql/9.0.4/share/postgresql/contrib/adminpack.sql At this moment, you installed postgress (it’s only a note). Ok, let’s create a new role: psql -d postgres With this command, you’ll see all roles created: postgres-# \du We create a new user called postgres like this way: postgres=# CREATE ROLE postgres SUPERUSER CREATEDB CREATEROLE LOGIN; And that’s all. If you list all users again you’ll see that a new user has been created.
参考:
http://raulbarroso.com/post/8656188824/installing-postgres-with-brew-in-macosx
http://nextmarvel.net/blog/2011/09/brew-install-postgresql-on-os-x-lion/