Linux安装PostgreSQL和配置PHP扩展 下载本文

内容发布更新时间 : 2024/11/9 9:37:36星期一 下面是文章的全部内容请认真阅读。

本文档介绍如何使用tar包在Linux(我用的centos5.5)下编译安装pgsql和配置php-pgsql扩展,使php能够连接pgsql数据库。 一.安装postgresql数据库

1.首先到postgresql 官网http://www.postgresql.org/下载安装包,这里用的是postgresql-8.4.0.tar.gz这个版本。 2.开始安装

为pgsql创建系统用户组和用户

[root@localhost src] groupadd postgresql //新增postgreql用户组 [root@localhost src] useradd –g postgresql postgres //新增postgres用户属于postgresql用户组

[root@localhost src] passwd postgres //修改postgres用户密码,回车后输入密码

解压安装包并编译安装

[root@localhost src] tar –xzvf postgresql-8.4.0.tar.gz [root@localhost src] cd postgresql-8.4.0

[root@localhost postgresql-8.4.0] ./configure --prefix =/usr/local/pgsql [root@localhost postgresql-8.4.0] gmake [root@localhost postgresql-8.4.0] gmake install 配置环境变量

[root@localhost postgresql-8.4.0] vi /etc/profile //配置环境变量,打开profile文件,加入以下配置

LD_LIBRARY_PATH=/usr/local/pgsql/lib

1

export LD_LIBRARY_PATH PATH=/usr/local/pgsql/bin:$PATH export PATH

MANPATH=/usr/local/pgsql/man:$MANPATH export MANPATH [root@localhost postgresql-8.4.0] source /etc/profile //使环境变量生效 建立数据库集群

[root@localhost postgresql-8.4.0] mkdir /usr/local/pgsql/data //新建数据文件目录

[root@localhost postgresql-8.4.0]

chown -R postgres.postgres /usr/local/pgsql/data //更改数据文件目录的属主为postgres

[root@localhost postgresql-8.4.0] su postgres //切换到postgres用户下 [postgres@localhost postgresql-8.4.0] cd /usr/local/pgsql/bin [postgres@localhost bin] ./initdb--locale=C-E UNICODE –D ../data/ //初始化数据库,设置locale为C,并且template1编码为UNICODE,使数据库支持中文

初始化成功后,出现以下运行结果

Success. You can now start the database server using: ./postgres -D ../data or

./pg_ctl -D ../data -l logfile start 配置和启动、关闭数据库

[postgres@localhost bin] su //切换到root用户下

2

[root@localhost bin] touch /var/log/pgsql.log //新建日志文件 [root@localhost bin] chown postgres /var/log/pgsql.log //更改文件所属用户为postgres

[root@localhost bin] su postgres //切换到postgres用户 [postgres@localhost bin] cd /usr/local/pgsql/data

[postgres@localhost data] vi postgresql.conf //打开配置文件,去掉下面两行前面的#注释,并将监听地址改为*。

listen_addresses = '*' # what IP address(es) to listen on; port = 5432 # (change requires restart)

[postgres@localhost data] cd ../bin //切换到pgsql 的bin目录 [postgres@localhost bin] ./postmaster D /usr/local/pgsql/data > /var/lo g/pgsql.log 2>&1 & //启动数据库

[postgres@localhost bin] ./pg_ctl stop -D /usr/local/pgsql/data //关闭数据库的命令

cp /usr/local/src/postgresql-8.4.0/contrib/start-script/linux

/etc/rc.d/rc.pgsql //从解压出来的安装包中拷贝启动脚本到/etc/rc.d/目录下,并重命名为rc.pgsql

[postgres@localhost bin] chmod +x /etc/rc.d/rc.pgsql //为启动脚本增加可执行权限

[postgres@localhost bin] vi /etc/rc.d/rc.pgsql //打开启动脚本,加入以下配置

prefix=/usr/local/pgsql

3

PGDATA=/usr/local/pgsql/data PGUSER=postgres PGLOG=/var/log/pgsql.log

[postgres@localhost bin] /etc/rc.d/rc.pgsql restart //使用启动脚本重启数据库 开启远程连接

[postgres@localhost bin] cd ../data //从bin目录切换到data下 [postgres@localhost bin] vi /usr/local/pgsql/data/pg_hba.conf 在# IPv4 local connections:

host all all 127.0.0.1/32 trust 后增加

host all postgres 0.0.0.0/0 md5 重新启动数据库就可以远程连接了。 //附,其他数据库操作

创建数据库dm :./createdb dm 创建用户: ./createuser -A -D -E -P dm Enter password for new role: 123456 Enter it again: 123456

Shall the new role be allowed to create more new roles? (y/n) y CREATE ROLE

使用psql :./psql -d dm -U dm

Welcome to psql 8.2.4, the PostgreSQL interactive terminal. Type: \\co

4

pyright for distribution terms \\h for help with SQL commands \\? for help with psql commands

\\g or terminate with semicolon to execute query \\q to quit dm=> \\q

在psql中若需要使用中文,先发送: 用户名=> set client_encoding to 'gbk'; 二.配置php-pgsql扩展。

1.编译安装php的时候,加入关联pgsql的安装目录, --with-pgsql=/usr/local/pgsql 2.安装pgsql扩展 yum install php-pgsql

然后就可以编写程序进行测试了。

5