$ sudo yum install make gcc readline-devel zlib-devel flex bison
若是是从 git 仓库 checkout 出的源码,还须要额外安装下面两个包:git
$ sudo yum install flex bison
Debian 下经过下面命令安装编译须要的软件包:sql
$ sudo aptitude install make gcc libreadline-dev zlib1g-dev
$ curl -O https://ftp.postgresql.org/pub/source/v9.4.5/postgresql-9.4.5.tar.bz2 $ tar xjvf postgresql-9.4.5.tar.bz2 -C /usr/local/src
$ cd /usr/local/src/postgresql-9.4.5 $ ./configure --prefix=/usr/local/pgsql/9.4.5 $ make $ sudo make install $ sudo ln -s /usr/local/pgsql/9.4.5 /usr/local/pgsql/default
$ sudo useradd -c "PostgreSQL Server" postgres
$ sudo mkdir /var/lib/pgsql $ sudo chown postgres:postgres /var/lib/pgsql # 若是是 Mac OSX 应该是 _postgres:wheel $ sudo chown _postgres:wheel /var/lib/pgsql # 若是是 Mac OSX 要将 sudo -u 后的 postgres 改成 _postgres,但最后的 -U postgres 不变 $ sudo -u postgres mkdir /var/lib/pgsql/9.4 $ sudo -u postgres ln -s /var/lib/pgsql/9.4 /var/lib/pgsql/default $ sudo -u postgres /usr/local/pgsql/default/bin/initdb \ -D /var/lib/pgsql/default/data -U postgres
$ sudo vi /var/lib/pgsql/default/data/pg_hba.conf
修改防火墙配置,放行 5432 端口的访问。数据库
$ sudo vi /etc/sysconfig/iptables ..... -A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT ..... $ sudo service iptables restart
$ sudo -u postgres /usr/local/pgsql/default/bin/pg_ctl \ -D /var/lib/pgsql/default/data -o '-i -p 5432' \ -l /var/lib/pgsql/default/pgstartup.log start
正式数据库服务器的 postgres 用户会有本身的 HOME 目录,能够经过下面命令启动服务器
$ sudo -i -u postgres /usr/local/pgsql/default/bin/pg_ctl \ -D /var/lib/pgsql/default/data -o '-i -p 5432' \ -l /var/lib/pgsql/default/pgstartup.log start
Mac OSX 下启动命令要去掉 sudo 的 -i 参数。curl
$ sudo -u _postgres /usr/local/pgsql/default/bin/pg_ctl \ -D /var/lib/pgsql/default/data -o '-i -p 5432' \ -l /var/lib/pgsql/default/pgstartup.log start