导航

Linux下安装PostgreSQL-8.1.5

Posted on 2006-11-20 14:17  Matildawaltzer  阅读(1090)  评论(1编辑  收藏  举报
由于工作的需要,在新的项目中需要使用PostgreSQL-8.1.5;虽然以前也配置过,但是这次配置却发现新的版本和原来的有很多不一样的地方.
这里不再阐述那里不一样,只是把这次配置的过程记录下在,方便以后再配置的时候忘记了.

    PostgreSQL 的官方下载地址为:http://www.postgresql.org/
  下载postgresql-8.1.5.tar.gz版本.

  设计人员为了安全考虑,PostgreSQL 不能以 root 用户运行,所以必须建立对应的用户和组。

  # useradd postgre (自动建立 postgre 组)

  安装的过程并不复杂和其他源码版本的安装方法类似:
  解压到 /usr/local/src:
  # tar xvfz postgresql-8.1.5.tar.gz
  # cd postgresql-8.1.5
  # ./configure --prefix=/usr/local/pgsql
  # make
  # make install
  # chown -R postgre.postgre /usr/local/pgsql

  这样安装完毕后,并不是万事大吉了,还有一些收尾工作要做:
  # vi ~postgre/.bash_profile
  添加:

  PGLIB=/usr/local/pgsql/lib
  PGDATA=$HOME/data
  PATH=$PATH:/usr/local/pgsql/bin
  MANPATH=$MANPATH:/usr/local/pgsql/man
  export PGLIB PGDATA PATH MANPATH

  以 postgres 用户登录,
  # su - postgre
  建立数据库目录:
  $ mkdir data

  启动数据库引擎:

  $ initdb
  [postgre@www postgre]$ initdb
  This database system will be initialized with username "postgre".
  This user will own all the data files and must also own the server process.

  Fixing permissions on pre-existing data directory /home/postgre/data
  Creating database system directory /home/postgre/data/base
  Creating database XLOG directory /home/postgre/data/pg_xlog
  Creating template database in /home/postgre/data/base/template1
  Creating global relations in /home/postgre/data/base
  Adding template1 database to pg_database

  Creating view pg_user.
  Creating view pg_rules.
  Creating view pg_views.
  Creating view pg_tables.
  Creating view pg_indexes.
  Loading pg_description.
  Vacuuming database.

  Success. You can now start the database server using:

  /usr/local/pgsql/bin/postmaster -D /home/postgre/data
  or
  /usr/local/pgsql/bin/pg_ctl -D /home/postgre/data start
  $  postmaster -i -D data  ($ postmaster -i -D ~/data &)
  [1] 22603
  [postgre@www postgre]$ DEBUG: Data Base System is starting up at Thu Jan 31 02:00:44 2002
  DEBUG: Data Base System was shut down at Thu Jan 31 01:57:58 2002
  DEBUG: Data Base System is in production state at Thu Jan 31 02:00:44 2002

  这样 PostgreSQL 使用位于 /usr/local/pgsql/data 的数据库,允许 Internet 用户的连接( -i ) ,并在后台运行。

  建立数据库
  $createdb mydb
  PostgreSQL 会返回 “ CREATED DATABASE”的信息,表明数据库建立完成。
  $psql mydb
  进入交互 psql 工具,建立表:

  CREATE TABLE mytable (
  id varchar(20),
  name varchar(30));

  建立完成后,会得到一条 “CREATED” 的信息,表示建立成功。现在插入一条数据:

  INSERT INTO mytable values('Author', 'Xu Yongjiu');

  psql 返回 INSERT 18732 1,查询插入是否成功:

  SELECT * FROM MYTABLE;

  退出 psql ,用 \q 命令。
--------------------------------------
如果仅仅这样配置,那么在本机测试是没有问题的,但是其他机子就会无法连接.
需要修改pg_hba.conf,和postgresql.conf文件.
由于文件比较大我就不全部写出来了.我把文件直接放上来,以供大家参考.
希望对大家有所帮助.(由于无法上传.conf文件,所以大家下载后把.pdf改为.conf)

https://files.cnblogs.com/matildawaltzer/pg_hba.pdf
https://files.cnblogs.com/matildawaltzer/postgresql.pdf