微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

安装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

4、编译源码:

$make

5、按照ocnfigure的配置按照程序:

#su
#make install

在这里我们架设postgresql安装在认的位置/usr/local/

6、配置共享库:

告诉你的系统如何找到共享库。如何实现这些因平台而异。看起来可以在任何地方生效的方法是设置环境变量 LD_LIBRARY_PATH:
# LD_LIBRARY_PATH=/usr/local/pgsql/lib
# export LD_LIBRARY_PATH

你可能把这些放到一个 shell 启动文件里,象 ~/.bash_profile。
在一些系统里,下面的方法是最好的方法,但是你必须有 root 权限。编辑文件 /etc/ld.so.conf,增加一行

/usr/local/pgsql/lib

然后运行命令:

#/sbin/ldconfig

7、用postgres数据库超级用户完成数据库的安装:

你必须用 Postgresql 超级用户帐号登录执行这一步。以 root 是不能进行这一步的;

# mkdir /usr/local/pgsql/data
# chown postgres /usr/local/pgsql/data
#su postgres
$ /usr/local/pgsql/initdb -D /usr/local/pgsql/data
We are initializing the database system with username postgres (uid=40).
This user will own all the files and must also own the server process.
Creating Postgres database system directory /var/lib/pgsql/base
Creating template database in /var/lib/pgsql/base/template1
Creating global classes in /var/lib/pgsql/base
Adding template1 database to pg_database...
Vacuuming template1
Creating public pg_user view
Creating view pg_rules
Creating view pg_views
Creating view pg_tables
Creating view pg_indexes
Loading pg_description

-D 选项声明数据存储的位置。你可以使用任何你想用的路径,它不必在安装目录里。在运行 initdb 前只要确保数据库超级用户帐户可以写(或者创建)那个目录就行了。

8、启动postgresql服务;

前面的步骤应该已经告诉你如何启动数据库服务器。现在就做。$ /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data这样将在前台启动数据库服务器。要把它放到后台,使用 -S。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐