当前位置:早雪网网络学院编程文档数据库技术Postgresql → PostgreSQL7.0手册-管理员手册-25. 安装

PostgreSQL7.0手册-管理员手册-25. 安装

减小字体 增大字体 作者:不详  来源:supcode.com收集整理  发布时间:2005-7-23 12:21:24
第二十五章. 安装
内容 
安装之前 
安装过程 
PostgreSQL 7.0 的安装指导。
如果你还没有获得 PostgreSQL 的发布,从 ftp.postgresql.org 下载它们,然后对它们解包: 
> gunzip postgresql-7.0.tar.gz
> tar -xf postgresql-7.0.tar
> mv postgresql-7.0 /usr/src
安装之前
制作 PostgreSQL 需要 GNUmake。制作工作不能用其他make 程序进行。在 GNU/Linux 系统里,GNU make 是缺省工具,在其他系统里你可能发现 GNU make 安装成名为“gmake”。从现在起我们用这个名称表示GNUmake,不管它在你的系统上是什么名称。要测试 GNUmake 输入 
> gmake --version
如果你需要获取 GNUmake,你可以在 ftp://ftp.gnu.org 找到。 
所支持的平台的最新信息在 http://www.postgresql.org/docs/admin/ports.htm。通常来说,大多数带有现代库的Unix兼容的平台都可以运行PostgreSQL。在发布包的 doc 子目录里有一些平台相关的 FAQ 和 README,如果你碰到麻烦可能会想看看它们。 

尽管运行 PostgreSQL 的最小内存需求少到只有 8MB,如果我们把内存增加到96MB,可以看到显著的性能改善。规则是有再多内存也不为过。 

检查你有足够的磁盘空间。你需要为源代码树准备大约30M字节的空间,为安装目录准备大约5M字节。为一个空数据库准备约 1 M字节,否则包含同样数目数据的平面文件将大约是这个数目的五倍。在回归测试过程中,你会暂时需要约 20 M字节. 

用下面命令检查你的磁盘空间 

> df -k
考虑到如今的硬盘的价格,在把你的数据库放到生产环境上用之前,你可能要考虑买一个更大的更快的硬盘。

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

安装过程
PostgreSQL 安装 
对于全新安装或从前面版本的 PostgreSQL 升级安装: 

创建 PostgreSQL 超级用户帐号。这是运行服务器的用户。用于生产时你可以创建一个独立的非特权的用户(常用 postgres)。如果你没有 root 权限而只是想试试,你自己的用户帐号就足够了。 
以 root,bin 或者其他有特殊权限的用户身份运行 PostgreSQL 存在安全问题;别这么干.实际上 postmaster 将拒绝以 root 身份运行. 

你不必在这个帐号下制作和安装它(尽管你可以这么做)。当需要你以数据库超级用户登录时(安装程序)会提示你。 

为你的系统配置源代码.在这个阶段你可以为制作过程声明你的实际安装路径,以及选择要安装什么。进入 src 子目录并键入: 

> ./configure
后面跟着任何你想给它的选项。对于第一次安装,不带选项就挺好的。要取得选项完整列表,键入: 
> ./configure --help
一些最常用的如下: 
--prefix=BASEDIR 
为安装 PostgreSQL 选择一个不同的基础路径。缺省是 /usr/local/pgsql。 
--enable-locale 
如果你想用本地化支持。 
--enable-multibyte 
允许使用多字节字符编码。这个选项主要用于象日语,韩语或中文这样的语言。 
--with-perl 
制作 Perl 接口和 plperl 扩展语言。请注意 Perl 接口将安装到 Perl 模块的常用位置(典型的是在 /usr/lib/perl),所以要成功使用这个选项,你必须有 root 权限。(最简单的方法通常是开始时不选 --with-perl,在编译完 PostgreSQL 本身之后再制作和安装 Perl 接口.) 
--with-odbc 
制作 ODBC 驱动包. 
--with-tcl 
制作 Tcl/Tk 需要的接口库和程序,包括 libpgtcl,pgtclsh,和 pgtksh。 
 
编译程序.键入 
> gmake
编译过程可能耗时 10 分钟到一个小时。具体到你的时间很可能有变化。记得要用 GNU make。 
显示的最后一行很有可能是 

All of PostgreSQL is successfully made. Ready to install.
如果你想在安装之前测试新制作的服务器,你可以这个时候运行蜕变测试.蜕变测试时一个测试套件,用以核实 PostgreSQL 在你的平台上按照开发人员的预期方式运行.相关的更多细节请参考 蜕变测试.(确包运行 "并行蜕变测试" 方法,因为串行方式只用于一套已经安装了的服务器.) 
如果你不是升级现有系统那么跳到 步骤 7. 

现在你需要备份你现有的数据库。要从新近的v6.0以后的数据库中输出数据,键入下面命令 

> pg_dumpall > db.out
如果你希望保留对象标识(oid),就需要在运行 pg_dumpall 时使用 -o 参数.不过,除非你有特殊的原因需要这么做(比如说 OID 是表中的键字等),否则不要使用它. 
确保你用的 pg_dumpall 命令来自你目前正在运行的数据库版本。7.0 的 pg_dumpall 可以用于老数据库.不过,如果你还在使用 6.0,不要使用 v6.0 中的 pg_dumpall脚本,否则所有东西都将被PostgreSQL超级用户所有。这时你应该使用晚一点的 6.x.x 版本的 pg_dumpall。7.0 的 pg_dumpall 不能在旧数据库上工作。如果你从一个早于 Postgres95 v1.09 的版本上进行升级,那你必须备份你的数据库,安装 Postgres95 v1.09,恢复你的数据库,然后再备份之. 

  注意 
你必须确保你的数据库不会在你备份的中间进行更新.如果必要的话,把postmaster宕下来,编辑 /usr/local/pgsql/data/pg_hba.conf 里的权限,使得只有你可以操作,再把 postmaster 运行起来进行备份. 

如果你正在对一个已有的系统进行升级,则现在杀掉数据库服务进程,键入 
> ps ax | grep postmaster
或 
> ps -e | grep postmaster
(哪个能用取决于你用的系统.敲错了不会有什么损害.)这样应该列出一些进程的进程号,类似下面: 
  263  ?  SW   0:00 (postmaster)
  777  p1 S    0:00 grep postmaster
键入下面命令,把 pid 替换成进程 postmaster 的进程号(这里是 263).(不要使用进程 "grep postmaster" 的进程号.) 
> kill pid
小技巧:在那些系统启动时自动运行PostgreSQL 的机器上,可能会有一个启动文件可以完成这件事.例如在 Redhat Linux 系统里,我们可能发现 
> /etc/rc.d/init.d/postgres.init stop
也可以用
 
还有把旧目录删除。键入: 
> mv 

[1] [2] [3]  下一页

[数据载入中...] [返回上一页] [打 印]