postgres发布了8.4.1
因为一直在用8.1和8.3,接了个任务,升级到8.4看看,因为以前从来没有安装过,在网上找了很多错的或者不全的资料,也许是各位大侠都不屑于写这么入门的东东吧,我这里那位就是,所有东西都是在脑子里。我服务器小白,纯属于前锋客串守门员,自己给自己总结一下,免得以后忘掉
1.下载
http://www.postgresql.org/download/
找到中间的source code ,打开之后网址是http://www.postgresql.org/ftp/source/
选最下面的8.4.1,下载
当然,也可以使用bin安装,但是被要求全程手动好,可以避免一些比较奇怪的问题。
2 创建用户
# groupadd -g 88 postgres
# useradd -u 88 -g 88 -d /usr/local/pgsql postgres
# passwd postgres
# chmod 755 /usr/local/pgsql/
如果用bin安装,貌似会默认增加这个用户,但还是自己手动添加的好
3解压缩 ,编译
# su - postgres
$ tar xvfz postgresql-8.4.1.tar.gz
$ cd postgresql-8.4.1
$ ./configure
configure可以什么也不加,用默认的就是,跟./configure --prefix=/usr/local/pgsql一个效果
$ make
碰到第一个error
yum install gcc gcc-c++ autoconf automake
碰到第二个error
yum install readline-devel
碰到第三个error
yum install zlib-devel
新服务器嘛,啥也没有,基本上根据错误信息在网上google一下,马上就能解决的error,各人根据各人缺的东东自己down好了
$ make install
4 修改配置文件
4-1 .bash_profile
$ cd /usr/local/pgsql
$ vi .bash_profile
在文件最后追加
export PATH="$PATH":/usr/local/pgsql/bin
export POSTGRES_HOME=/usr/local/pgsql
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=$POSTGRES_HOME/data
export MANPATH="$MANPATH":$POSTGRES_HOME/man
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB"
重新读入,让设置成功
$ source ~/.bash_profile
验证一下
$ echo $POSTGRES_HOME
4-2 postgresql.conf
# mkdir /usr/local/pgsql/data
# chown postgres /usr/local/pgsql/data
# su - postgres
$ initdb -D /usr/local/pgsql/data
$ cd /usr/local/pgsql/data
$ vi postgresql.conf
修改内容
listen_addresses = 'localhost,127.0.0.1,192.168.5.11'
port = 5432
password_encryption = on
4-3 pg_hba.conf
$ vi pg_hba.conf
找到最下面这一行 ,这样局域网的人才能访问
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 192.168.5.0/24 trust
5 加入服务
找到原来编译的文件夹
# cd postgresql-8.4.1
# cp contrib/start-scripts/linux /etc/rc.d/init.d/postgres
# chmod 755 /etc/rc.d/init.d/postgres
# /etc/rc.d/init.d/postgres start
然后可以用service postgres start、stop控制
6 其他
除此之外,当然要确认iptables设置,然后用postgres用户进入bin,creatdb什么的就任意胡为了。。。。。。