您的位置:首页 > 运维架构 > Linux

CentOS&Debian平台下编译安装PostgreSQL9.3

2015-05-09 19:16 501 查看
1 用root登入系统,下载postgresql9.3,解压缩,进入解压缩后的postgresql目录

2 编译、安装

pwd
./configure --prefix=/usr/local/pgsql
#(可能会报错,需安装gcc、readline、readline-devel、zlib等依赖包,用yum去装即可)
#(Debian8下apt-get install make gcc libreadline-dev zlib1g-dev)
make
make install
3 创建用户及组
#groupadd postgres
#useradd -g postgres postgres

(Debian不会自动创建/home/postgres主目录,需要mkdir /home/postgres,chown postgres:postgres -R /home/postgres,如果仍然进不去则修改下/etc/passwd用户的主目录即可,注意如果进入该用户后无法source等,其实是/etc/passwd的用户权限不够改为/bin/bash即可)

4 环境设置

mkdir /usr/local/pgsql/data
chown postgres:postgres -R /usr/local/pgsql/data
su - postgres
$vim .bash_profile
添加:

PGHOME=
/usr/local/pgsql
PGDATA=$PGHOME/data
PATH=$PATH:$HOME/bin:$PGHOME/bin
export PGHOME
export PGDATA
export

PATH
$source .bash_profile
5 初始化数据库

$initdb -D $PGDATA
6 系统服务配置及开机自动启动

cd /root/postgresql-9.3.1
cp contrib/start-scripts/linux /etc/init.d/postgresql
chmod +x /etc/init.d/postgresql

#记得在开头加上下面的申明,否则会报错“warning: script 'postgresql' missing LSB tags and overrides”影响apt-get安装其他软件
### BEGIN INIT INFO
# Provides: OSSEC HIDS
# Required-Start: $network $remote_fs $syslog $time
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: OSSEC HIDS
### END INIT INFO

service postgresql status--(start | stop)
chkconfig --add postgresql
chkconfig postgresql on
7 配置监听地址及端口

$vim $PGDATA/postgresql.conf
$vim $PGDATA/pg_hba.conf


8.测试
[root@i-87-575-VM vmuser]# su - postgres
-bash-4.1$ psql -l
默认密码为空,我们需要修改为指定的密码,这里设定为’postgres’。
-bash-4.1$ psql

PostgreSQL 数据库默认会创建一个postgres的数据库用户作为数据库的管理员,默认密码为空,我们需要修改为指定的密码,这里设定为’postgres’。
# ALTER USER postgres WITH PASSWORD 'postgres';
# select * from pg_shadow ;

9.日志
默认/etc/init.d/postgresql会放在$PGDATA/serverlog中,建议修改成/var/log/pg-server.log,毕竟如果要做HA,这些同步后可能会出问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 用户 postgresql