之前自己在项目做的Postgresql安装过程,记录一下(只是针对那个项目做的)。
・检查是否安装
# yum list installed | grep postgre
・卸载
例如,下面的操作。postgresql-devel, postgresql-server, postgresql 部分,用包上实际的名称替换。
# yum remove postgresql-devel
# yum remove postgresql-server
# yum remove postgresql
・用户和组创建
# groupadd -g 200 postgres
# useradd -g 200 -u 200 -d /usr/local/pgsql -g postgres postgres
安装
# tar xvzf postgresql-8.3.4.tar.gz
# cd postgresql-8.3.4
# ./configure --prefix=/usr/local/pgsql --with-perl --with-openssl
# make
# make check
# make install
# mkdir /data/pgsql/myproject
# chown postgres.postgres /data/pgsql/myproject
# su - postgres
$ /usr/local/pgsql/bin/initdb -D /data/pgsql/myproject --encoding=UTF8 --no-locale
更改连接设置
# vi /data/pgsql/myproject/postgresql.conf
listen_addresses= '*'
port=5432
・外部公開
# vi /data/pgsql/myproject/pg_hba.conf
host all all [IP] 255.255.255.255 trust ・・・添加允许访问的IP地址
・.bashrc 做成
# su - postgres
$ vi /usr/local/pgsql/.bashrc
PATH="$PATH":/usr/local/pgsql/bin 最后一行添加
export POSTGRES_HOME=/usr/local/pgsql
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=/data/pgsql/myproject
export MANPATH="$MANPATH":$POSTGRES_HOME/man
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB"
# source /usr/local/pgsql/.bashrc
・DB管理员做成
# su - postgres
$ pg_ctl -D $PGDATA -l /data/pgsql/logfile -o "-i" start
$ createuser pgadmin
Shall the new role be a superuser? (y/n)
y ・・・ 创建角色
・testDB做成
$ createdb testdb
・PostgresSQL内部用户/密码(密码必须设置正确。)
$ psql testdb
> alter user "pgadmin" password 'pgadminpass';
> \q
・密码确认
$ psql -U pgadmin testdb
Password :
> \q
・自动启动设置
# cp [解压目录]/postgresql-8.3.4/contrib/start-scripts/linux /etc/rc.d/init.d/postgresql
# vi /etc/rc.d/init.d/postgresql
PGDATA="/data/pgsql/myproject"
PGUSER=postgres
# chmod 755 /etc/rc.d/init.d/postgresql
# chkconfig --add postgresql
# chkconfig --list postgresql
postgresql 0:off 1:off 2:on 3:on 4:on 5:on 6:off