[注]由于Debian相当保守的包管理和更新机制,本文提到的编译和安装过程可能要求你在/etc/apt/sources.list中开放testing级别的包。
1- 首先是去PostgreSQL的官方网站[
link]下载最新8.2.1版本的源码,postgresql-8.2.1.tar.gz。
2- 拷贝并解压:
$ sudo -s
# cp postgresql-8.2.1.tar.gz /opt
# cd /opt
# tar zxvf postgresql-8.2.1.tar.gz
# cd postgresql-8.2.1
3- 在开始configure和make之前,先做一些准备工作,为了正常configure和make,需要:
# apt-get install build-essential gcc-4.0 libreadline5 libreadline5-dev m4 flex bison zlib1g zlib1g-dev
4- 一切就绪,开工:
# ./configure --prefix=/opt/postgresql ### 更多选项参考./configure --help ###
# make
正常的话,可以看到最后一行输出为: "All of PostgreSQL successfully made. Ready to install."
5- 安装:
# make install
最后应该看到输出"PostgreSQL installation complete."。
6- 初始化数据库环境:
# mkdir /opt/postgresql/data
# adduser postgres
# chown postgres /opt/postgresql/data
# sudo -u postgres /opt/postgresql/bin/initdb /opt/postgresql/data/
编辑/opt/postgresql/data目录下的pg_hba.conf,添加local all postgres ident sameuser和local all all md5两行;
编辑/opt/postgresql/data目录下的postgresql.conf,去掉listen_addresses的注释符,修改为listen_addresses = '*'。
7- 启动数据库:
# sudo -u postgres /opt/postgresql/bin/pg_ctl -D /opt/postgresql/data -l /opt/postgresql/data/serverlog start
# sudo -u postgres /opt/postgresql/bin/createuser -P dbuser
# sudo -u postgres /opt/postgresql/bin/createdb testdb
# /opt/postgresql/bin/psql -U dbuser testdb
若能正常进入PostgreSQL控制台并执行查询如select version();即表示安装成功。
每次都这样去命令行启动数据库当然有点太笨了,下次再抽空和大家分享PostgreSQL自动化启动脚本的编写。