linux下安装PostgreSQL

 

从网上找到了很多,过程大都差不多,但很容易让一些初学者不知所云。这里对我在Fedora 3上安装PostgreSQL 8.4.4的过程做了简单整理,希望对刚入门的新手们有所帮助。

 

首先要下载PostgreSQL安装包postgresql-8.4.4.tar.gz,下载地址为:

ftp://ftp2.cn.postgresql.org/postgresql/source/v8.4.4/postgresql-8.4.4.tar.gz

由于PostgreSQL被设计为不能以root用户身份来运行,所以我们需要首先为其建立一个用户来运行PostgreSQL。这里我建立了一个名字为pg的用户,命令如下:

      [root@linux~]#useradd pg

 

接下来安装PostgreSQL,安装过程与安装其他源码版本软件的方法类型。

 

1、将源码包解压到目录/usr/local/src下,命令如下:

      [root@linux~]#cd /usr/local/src

      [root@linux~]#tar xvzf postgresql-8.4.4.tar.gz

 

2、进入源码包目录下,安装。

      [root@linux~]#cd /usr/local/src/postgresql-8.4.4

      [root@linux~]#./configure --prefix=/database/pg/postgresql-8.4.4

      [root@linux~]#make

      [root@linux~]#make install

 

 

     这里需要说明的一个是configure的--prefix选项。这是最常用的选项。运行configure制作出的"Makefile"会查看随着此选项传递过来的参数,将根据参数值所指定的目录彻底地重新安置程序的结构独立部分,即将程序的bin、lib、share、include等安装到参数指定的目录下。

 

     我指定了目录/database/pg/postgresql-8.4.4,这是在运行configure时必须确保存在的目录。

 

3、将安装文件目录的访问权限赋给前面建立的运行数据库的用户pg。

 

     [root@linux~]#chown -R  pg  /database/pg/postgresql-8.4.4

 

 

这样,安装就完成了。这时执行ps -ae|grep post命令发现数据库还没有运行。那么到底如何运行呢?让我们继续。

 

 

进入pg用户的主目录,ls -al查看目录下的文件,用vi打开.bash_profile文件。步骤如下:

     [root@linux~]#cd ~pg

     [root@linux~]#vi .bash_profile

 

在打开的文件中添加以下内容:

 

     PGLIB=/database/pg/postgresql-8.4.4/lib/

     PGDATA=/database/pg/postgresql-8.4.4/data/

     PATH=$PATH:/database/pg/postgresql-8.4.4/bin/

     MANPATH=$MANPATH

 

     export PGLIB PGDATA PATH MANPATH

 

接下来切换到pg用户,建立数据库目录:

     [pg@linux root]$ mkdir /database/pg/postgresql-8.4.4/data

 

进入/database/pg/postgresql-8.4.4/bin目录下,首先对数据库引擎进行初始化:

     [pg@linux root]$ initdb -D /database/pg/postgresql-8.4.4/data

 

     -D选项后边的参数指定了新创建的数据的数据存储路径。

 

为了使新创建的数据库可以被Internet用户通过socket连接而访问,并在后台运行,执行以下命令:

      [pg@linux root]$ ./postmaster -i -D /database/pg/postgresql-8.4.4/data

 

 

接下来我们可以创建数据库了。

       [pg@linux root]$ ./createdb beap

 

创建完成后,进入psql交互工具,我们便可以在数据库中建立表了。

        [pg@linux root]$ ./psql beap

        beap=# create table myfirst_tbl (id varchar(20), name  varchar(30));

 

建立完成后,会返回CREATE TABLE,表示建立成功。

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(数据库,linux,PostgreSQL,Path,internet,makefile)