安装一些系统包:
yum install -y gcc gcc-c++ automake autoconf libtool make gmake
yum install -y readline-devel
yum install -y zlib-devel
创建用户名:
groupadd postgres
useradd -g postgres -m postgres
passwd postgres
更新bash_profile
vi .bash_profile
export PGPORT=5432
export PGHOME=/u01/pgsql
export PGDATA=/u01/pgdata
export PATH=$PGHOME/bin:$PATH
export MANPATH=$PGHOME/share/man:$MANPATH
export LANG=en_US.utf8
export DATE=`date +"%Y-%m-%d %H:%M:%S"`
export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH
编译安装
tar -zvxf postgresql-9.3.1.tar.gz
./configure --prefix=/u01/pgsql
make && make install
配置选项说明:
--prefix=/u01/pgsql:安装所有文件在/u01/pgsql中(取代默认时的/usr/local/pgsql)。
--with-pgport=5432:为服务器和客户端设置默认端口号。默认是5432。
--with-perl:编译PL/Perl服务端语言。
--with-python:编译PL/Python服务端语言。
--with-tcl:编译PL/Tcl服务端语言。
--with-openssl:编译支持SLL(加密)连接。这需要安装OpenSSL包。
--with-pam:编译支持PAM(Pluggable Authentication Modules,可插拔认证模块)
--without-ldap:编译支持认证和连接参数检查
--with-libxml:编译libxml(支持SQL/XML),支持这个选项需要Libxml 2.6.23及最新版
--with-libxslt:编译xml2模块,使用libxslt
--enable-thread-safety:让客户端库是线程安全的
--with-wal-blocksize=16:WAL:预写式日志(Write-Ahead Logging)
设置WAL的block size,以MB为单位。这是在WAL日志中的每个独立文件的大小。为了控制WAL日志传送的粒度去调整其大小,这可能是非常有用的
。默认为16MB。这个值必须是2的1到64次方(MB)。注意,改变这个值需要一个initdb。
--with-blocksize=16:设置block size,以KB为单位。这是表的存储和IO单元。默认为8K,适用于大多数情况;但是在特殊场合中,其他的值可能
是非常有用的。这个值必须是2的1到32次方(KB)。注意,改变这个值需要一个initdb。
--enable-dtrace:编译PostgreSQL支持动态跟踪工具DTrace
--enable-debug:把所有程序和库以带有调试符号的方式编译
--enable-nls[=LANGUAGES]:打开本地语言支持(NLS),即以非英文显示程序的信息的能力。LANGUAGES是一个空格分隔的语言代码列表,标识你想
支持的语言。比如--enable-nls='de fr'。(你提供的列表和实际支持的列表之间的交集将会自动计算出来。)如果你没有声明一个列表,那么就
安装所有可用的翻译。
加入自启动文件
cp contrib/start-scripts/linux /etc/init.d/postgresql
chmod 755 /etc/init.d/postgresql
chkconfig --add postgresql
更改配置文件
vi /etc/init.d/postgresql
prefix=/u01/pgsql
# Data directory
PGDATA="/u01/pgdata"
初始化数据库
initdb -D /u01/pgdata --locale=en_US.UTF8
配置/u01/pgdata/pg_hba.conf
host all all 0.0.0.0/0 md5
host replication postgres 0.0.0.0/0 md5
配置/u01/pgdata/postgresql.conf
listen_addresses = '*'
修改postgres 密码
[postgres@oradbca ~]$ psql
psql (9.3.4)
Type "help" for help.
postgres=# alter user postgres with password 'postgres';
ALTER ROLE
postgres=#