RedHat上安装PostgreSQL说明
系统编码设置成UTF8,否则无法安装
下面以9.0.4版本为例,也可以参考包内INSTALL文件。
1、下载PostgreSQL源码包,放在任意目录
http://www.postgresql.org/ftp/source/v9.0.4/
2、解压文件
#tar zxvf postgresql-9.0.4.tar.gz
#cd postgresql-9.0.4
3、配置:
#./configure --prefix=/usr/local/pgsql
4、编译:
#make
5、安装:
#make install
6、创建用户组和用户:
#groupadd postgres
#useradd -g postgres postgres
7、创建数据库库文件存储目录、日志文件
#mkdir /usr/local/pgsql/data
#touch /usr/local/pgsql/data/serverlog
#cd /usr/local/pgsql
#chown -R postgres.postgres data
8、设置环境变量
#cd /home/postgres
#vi .bash_profile 在文件尾添加
export PATH=$PATH:/usr/local/pgsql/bin
export MANPATH=$MANPATH:/usr/local/pgsql/man
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/pgsql/lib
然后保存退出
9、初始化数据库,启动数据库
#su - postgres
#initdb -D /usr/local/pgsql/data
现在就可以启动数据库了
#pg_ctl -D /usr/local/pgsql/data -l /usr/local/pgsql/data/serverlog start
提示“server starting”
然后我们执行进程察看命令查看服务是否已经启动:
#ps -A | grep postgres
19932 pts/1 00:00:00 postgres
19934 ? 00:00:00 postgres
19935 ? 00:00:00 postgres
说明数据库服务已经启动。
10、配置监听地址和端口:
#vi /usr/local/pgsql/data/postgresql.conf 取消以下两行的注释
listen_addresses = '*'
port = 5432
11、配置允许远程连接:
#vi /usr/local/pgsql/data/pg_hba.conf
添加
host all all 192.168.1.0/24 trust
或
host all all samenet trust
每项的具体意思在配置文件中有详细说明
12、配置iptables让远程主机能访问:
#vi /etc/sysconfig
添加
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT
#service iptables restart
13、让postgresql数据库随系统启动而启动:
从第一步解压的安装文件目录将启动脚本拷贝到/etc/init.d/目录下,具体执行如下命令:
#cd /etc/rc.d/init.d
#cp /postgresql-9.0.4/contrib/start-scripts/linux postgresql
#chmod +x postgresql
#vi postgresql
# Installation prefix
prefix=/usr/local/pgsql
# Data directory
PGDATA="/usr/local/pgsql/data"
# Who to run the postmaster as, usually "postgres". (NOT "root")
PGUSER=postgres
# Where to keep a log file
PGLOG="$PGDATA/serverlog"
chkconfig --add postgresql
启动数据库:
service postgresql start
配置完毕 。
创建数据库
[postgres@localhost ~]$ createdb psmp 提示"CREATE DATABASE" 创建用户
[postgres@localhost ~]$ createuser -sADEP psmpAdmin Enter password for new role: Enter it again: Shall the new role be allowed to create more new roles? (y/n) y 提示"CREATE ROLE" 其中-s 表示超级用户
我们设置密码为psmpPass 访问数据库
[postgres@localhost ~]$ psql -d psmp -U psmpAdmin 然后就可以运行SQL语句了,比如select或者insert之类