服务器 频道

客观公正地评价MySQL和PostgreSQL的优劣

  【IT168 服务器学院】PostgreSQL最早是由UC Berkley大学计算机系开发的,当初由 Michael Stonebraker 教授领导的 Postgres 项目,是由高级防务研究项目局(Defense Advanced Research Projects Agency) (DARPA) , 陆军研究处 (ARO ), 国家科学基金会(National Science Foundation)(NSF),和 ESL 公司赞助进行的。它的许多先进的“对象-关系”概念现在已经在一些商业数据库里得到应用,PostgreSQL支持SQL92/SQL3,事务完整性和可扩展性。它现在是一个源于Berkley代码并公开源代码的数据库。
  
  Postgres 通过一种让用户可以很容易扩展系统的方法整合了下面四种基本概念,使其能提供可观的附加功能:
  
  类/表(classes)
  继承(inheritance)
  类型(types)
  函数(functions)
  
  其他特性还提供了附加的功能和灵活性:
  
  约束(constraints)
  触发器(triggers)
  规则(rules)
  事务完整(transaction integrity)
  
  这些特性将 Postgres置于对象-关系 (object-relational) 型数据库的范畴.尽管Postgres有一些面向对象的特性,它仍然属于关系型数据库的范畴, 事实上,一些商用数据库最近已经集成了一些Postgres 所领先的特性.
  
  1.对系统的要求:
  
  安装在RedHat Linux 6.0下测试通过。
  
  要用“root”用户进行安装。
  
  PostgreSQL的版本是7.0
  
  而且一定要先安装egcs-c++-1.1.2-24.i386.rpm软件包。
  
  尽管运行 PostgreSQL 的最小内存需求少到只有 8MB,如果我们把内存增加到96MB,可以看到显著的性能改善。
  
  检查你有足够的磁盘空间。你需要为源代码树准备大约30M字节的空间,为安装目录准备大约5M字节。为一个空数据库准备约 1 M字节,否则包含同样数目数据的平面文件将大约是这个数目的五倍。在回归测试过程中,你会暂时需要约 20 M字节.
  
  检查你有足够的磁盘空间。你需要为源代码树准备大约30M字节的空间,为安装目录准备大约5M字节。为一个空数据库准备约 1 M字节,否则包含同样数目数据的平面文件将大约是这个数目的五倍。在回归测试过程中,你会暂时需要约 20 M字节.
  
  在编译PostgreSQL之前。首先看一下“egcs-c++-1.1.2-24.i386.rpm”是不是已经安装。没有的话,那就赶紧装吧。“egcs-c++-1.1.2-24.i386.rpm”直接可从Redhat的光盘里获得,在“RedHat/RPMS”下。
  
  验证egcs-c++-1.1.2-24.i386.rpm是否安装,用命令:
  
  #rpm -qa|grep egcs
  
  安装egcs用:
  
  # rpm -Uvh egcs-c++-version.i386.rpm
  
  2.下载Postgresql源码包:
  
  Postgresql到本书发表为止已经推出了7.0.2的版本:
  
  由于postgres7.0.2不支持RPM安装格式,故我们只介绍源码方式的安装
  
  ftp://ftp.postgresql.org/pub/v7.0.2/postgresql-7.0.2.tar.gz
  
  3.安装Postgresql:
  
  由于postgres7.0.2不支持RPM安装格式,故我们只介绍源码方式的安装;
  
  1、解包:
  
  #tar xzvf postgresql-7.0.2.tar.gz
  #cd postgresql-7.0.2
  
  2、创建postgresql用户
  
  以 root,bin 或者其他有特殊权限的用户身份运行 PostgreSQL 存在安全问题,因而是不允许的。这是运行服务器的用户。用于生产时你可以创建一个独立的非特权的用户(常用 postgres)
  
  #useradd -M -o -r -d /var/lib/pgsql -s /bin/bash -c "PostgreSQL Server" -u 40 postgres
  
  修改好postgres用户的密码,以postgres用户登录系统;
  
  3、设置编译参数:
  
  $CC="egcs"
  
  进入解包后的postgresql源文件目录:
  $ ./configure
  configure不加任何选项,系统将按默认的设置安装postgresql,查看configre的相关选项可以使用:configure -help
  
  一些最常用的如下:
  
  --prefix=BASEDIR
  为安装 PostgreSQL 选择一个不同的基础路径。缺省是 /usr/local/pgsql。
  
  --enable-locale
  如果你想用本地化支持。
  
  --enable-multibyte
  允许使用多字节字符编码。这个选项主要用于象日语,韩语或中文这样的语言。
  
  --with-perl
  添加 Perl 模块接口。请注意 Perl 接口将安装到 Perl 模块的常用位置(典型的是在 /usr/lib/perl),所以要成功使用这个选项,你必须有 root 权限。
  
  --with-odbc
  制作 <SPAN onmouseup="DFWYExplainerObj.Window = self; DFWYExplainerObj.ShowExplainer(''normal'');return false;" title="常规词语,单击这里可以查看解释" style="BACKGROUND-IMAGE: url(C:PROGRA~1!SUNVDFKC3000
  ormmark.gif); BACKGROUND-POSITION: left bottom; BACKGROUND-REPEAT: repeat-x; CURSOR: hand" )>ODBC</SPAN> 驱动包.
  
  --with-tcl
  制作 Tcl/Tk 需要的接口库和程序,包括 libpgtcl,pgtclsh,和 pgtksh。
  
  这些编译参数告诉编译器如何编译PostgreSQL:
  
0
相关文章