PostgreSQL最初是由美国加州大学伯克利分校计算机科学系开发的一种数据库管理系统,它提出的许多对象-关系型数据库的概念甚至比当今许多商用数据库还要早。它支持SQL92/SQL3语言、事务完整性、可扩展类型等特性。PostgreSQL则是根据早先伯克利代码而开发的一个开放源代码的继承者。
PostgreSQL是一个在Unix世界被广泛应用的免费数据库管理系统(DBMS),无论是它支持的特性,还是它的性能都可以和其它的商业数据库一比高低。由于它采用C语言编写,在不同的Unix之间互相移植非常方便,于是PostgreSQL能够在众多的平台上运行,包括:Solaris、AIX、SCO Unix、HP Unix、Linux、FreeBSD等。
PostgreSQL作为世界上应用最广泛的数据库系统,越来越多的人开始接受PostgreSQL。现在,笔者就介绍一下在RedHat Linux 7.0上如何应用 PostgreSQL。笔者曾经看了很多有关安装和配置PostgreSQL的书,注意代有些术存在很多问题。现在,笔者就介绍一下在RedHat Linux 7.0上如何应用PostgreSQL。
在安装和配置PostgreSQL之前,你的电脑必须满足以下条件:
已经安装红帽子 7.0。
当前没有安装PostgreSQL。
已经安装Gnome(我喜欢Gnome)。
已经安装linuxconf 。
有root权限。 笔者以下涉及的内容包括:
安装PostgreSQL服务器和客户端。
Postmaster配置和选项描述。
创造用户和数据库。
从其它计算机访问数据库。 1:获得PostgreSQL
1)必需的文件:
A postgresql-server-7.0.2-17.i386.rpm
B postgresql-7.0.2-17.i386.rpm
C php-pgsql-4.0.1pl2-9.i386.rpm 2)可选的文件:
A postgresql-devel-7.0.2-17.i386.rpm
B postgresql-jdbc-7.0.2-17.i386.rpm
C postgresql-odbc-7.0.2-17.i386.rpm
D postgresql-perl-7.0.2-17.i386.rpm
E postgresql-python-7.0.2-17.i386.rpm
F postgresql-tcl-7.0.2-17.i386.rpm (推荐安装)
G postgresql-tk-7.0.2-17.i386.rpm (这是postgresql-tcl-7.0.2-17.i386.rpm的一部分)
H phpPgAdmin_2-2-1-pl1.tar.gz (下载地址:http://www.greatbridge.org/project/phppgadmin/projdisplay.php)2:安装PostgreSQL
1)使用GNOME桌面环境中的GnoRPM 或命令行 rpm - ivh 安装所有的.rpm 文件。
2)根据你自己的情况,移动phpPgAmin文件到某个目录下。
3)在phpPgAmin文件的目录下用命令解压:tar - xzf phpPgAdmin_2-2-1-pl1.tar.gz。步骤3:Postmaster的配置和选项描述
Postmaster有很多配置选项,笔者将对主要的配置选项作简短的描述。
1) -B = 设置共享内存磁盘缓冲区的数值(必须至少是服务器进程的2倍)。
2) -D = 指定数据库目录。
3) -N = 设置Postgres 服务器进程的最大数值。
4) -S = 以静止模式启动postmaster(没有调试信息)。
5) -d = 调试等级。
6) -i = 打开远程连接的TCP/IP端口。
7) -l = 启用SSL安全连接。
8) -o = 传递给服务器进程的选项。
9) -p = 通过选项-i,指定打开的TCP/IP端口。3:启动PostgreSQL
1) 在命令行上键入:linuxconf。
2) 点击control(控制)选项。
3) 展开控制面板,点击control service activity(控制服务行为)。
4) 选择服务列表里的postgresql。
5) 点击start(启动)。
6) 如果所有进展顺利了的话,它应该能够正常启动了。
7) 关闭linuxconf。如果你想设置当系统启动时,默认启动PostgreSQL,最简单的方法就是通过setup工具来设置。
PostgreSQL启动之后,进入/var/lib/pgsql/data,你将发现一个名为postmaster.opts的文件。该文件简要地说明了Postmaster当前使用的选项,具体显示如下:
/usr/bin/postmaster
-p 5432
-D /var/lib/pgsql/data
-B 64
-b /usr/bin/postgres
-i
-N 32
笔者在使用的过程中发现32个服务器进程还远远不够,于是笔者把服务器进程增加到128个。同时,也把缓冲区改为512,提供4M的缓冲区空间。这需要编辑postmaster.opts.default这个文件,所在目录为/var/lib/pgsql/data。改变后的配置文件应该有这样一段:
-B 512 -i -N 128
回到步骤4重新重启postgres,再查看 postmaster.opts文件,它应该如下: /usr/bin/postmaster
-p 5432
-D /var/lib/pgsql/data
-B 512
-b /usr/bin/postgres
-I
-N 128
如果出现其它问题,笔者建议不要改变另外的任何选项。
4:允许远程的计算机连接
1) 在下面这个例子中,笔者将允许所有来自192.168.0.1的计算机用户能够访问所有的数据库。
2) 为了实现这些,我们只需要编辑 pg_hba.conf这个文件。
3) pg_hba.conf在目录 /var/lib/pgsql/data下。
4) 打开并编辑该文件,在文件最后增加如下这一行:host all 192.168.0.1 255.255.255.0 trust
出于安全性考虑,笔者强烈建议为所有的数据库设置权限,设置用户是否修改数据库的权限,最重要的是你一定要清楚是否存在拥有最大权限的用户,有权创建能够访问整个postgres系统的其它用户。
总而言之,PostgreSQL的安装和配置并不是很难,主要是看用户是如何去应用PostgreSQL数据库。至于PostgreSQL数据库的应用,请各位读者参考其它专业书籍。