现在最新版本的 Postgres 8.1 已经发行了 for windows 版本的发行包,
可以在官方网站得到 “http://www.postgresql.org/”。
由于它最早出现在 *nix 系统上,
而且它的文档也多是使用 *nix 上的概念,
所以,这里介绍一下此软件在 Linux 下的安装。
(只要有在windows下安装软件经验的朋友,都可以在windows下顺利安装它)
由于我使用的Linux是SlackWare,所以,有一些词语会涉及到SlackWare,不过,
对于其他发行版本的Linux也适用。
1、在 http://www.postgresql.org/ftp/source/v8.1.3/ 这里下载 postgresql-8.1.3.tar.bz2 这个文件,
这就是我们要安装的发行包。
2、顺序执行下面的命令,每个命令是一行:
<1>tar jxvf postgresql-8.1.3.tar.bz2 //解开发行包
<2>cd postgresql-8.1.3 //进入软件目录
<3>./configure --prefix=PREFIX //PREFIX是自己想安装到哪里的路径,比如/usr/local/postgres
<4>make //使用GNU make工具编译源代码
<5>make install //最后安装软件。
3、起动Postgres不能使用root用户(Postgres不建议这样作),所以,接下来创建一个专门管理Postgres的用
户:
useradd -m postgres //追加一个叫postgres的用户, -m是为这个用户自动建立一个home目录。
passwd postgres //为这个用户修改密码,刚才添加用户时没有指定密码,所以现在只需输入新密码并确认密
码即可。其实,在useradd的时候也可以顺便设置密码的,感兴趣的话,自己研究一下吧!
4、为了postgres用户可以正常使用postgres软件,下面将安装postgres软件的目录的拥有者改成postgres用
户:
比如安装在了/usr/local/postgres 这里,那么,以root身份执行
" chown postgres -R /usr/local/postgres "。
chown用于改变一个路径的拥有者, -R 用于将拥有者置于指定路径及其子目录。
5、创建数据库集群:
<1>由于要管理postgres软件,所以,首先将用户改成postgres。执行命令 " su postgres ",如果是非root用
户执行这个命令,还要输入postgres用户的密码才行。
<2>进入postgres安装目录的bin文件夹。
<3>执行 " ./initdb -D /usr/local/pgsql/data "
6、所有东西都准备好了,就该起动服务器了。
<1>执行“ ./pg_ctl start -l logfile ”。
<2>然后可以运行“ ./psql ” 来使用PostgreSQL软件了。
7、每次都到$POSTGRES_HOME/bin中,执行“点”命令显得有点傻,所以,还是将Postgres的安装目录
加入到PATH环境变量中,使得每次启动机器,都可以使用其bin目录中的命令进行管理:
这里介绍一个简单的方法,编辑 "/etc/profile" 文件,在"export PATH"句(可能还包括其他环境变量)前面
加上一句:"PATH=$PATH:/usr/local/postgres/bin"(不含双引号,冒号后面适Postgres安装目录的bin目录)即
可。
8、通常,需要在Slackware 起动的时候,自动起动PostgreSQL服务器,需要修改文件 /etc/rc.d/rc.local
,加入下面代码:
su - postgres -c 'postgres安装目录/bin/pg_ctl -D postgres安装目录/data -l ~/postgersql.log start'
例如:安装在 /usr/local/postgres 目录,就可以写成:
su - postgres -c '/usr/local/postgres/bin/pg_ctl -D /usr/local/postgres/data -l ~/postgersql.log
start'
由于SlackWare是BSD风格的linux,所以我采用了这种简单的方式,
如果您的linux属于SysV风格,也可以将启动脚本放到 /etc/rc.d/rc.3和/etc/rc.d/rc.5 目录下,
并作相应的设置。
不过,无论是BSD风格还是SysV风格的Linux,都可以使用我在(8)中介绍的方式实现开机启动Postgres的目的。