由于工作的需要,在新的项目中需要使用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
这里不再阐述那里不一样,只是把这次配置的过程记录下在,方便以后再配置的时候忘记了.
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