为CentOS v6.3 安装最新版PostgreSQL(2)
时间:2014-09-11 01:50 来源:linux.it.net.cn 作者:it
将旧版本中的postgresql软件包全部删除
[root@wardking ~]# yum remove postgresql postgresql-contrib postgresql-libs postgresql-devel postgresql-plperl postgr
Loaded plugins: fastestmirror
Setting up Remove Process
Resolving Dependencies
–> Running transaction check
—> Package postgresql.i686 0:8.4.13-1.el6_3 will be erased
—> Package postgresql-contrib.i686 0:8.4.13-1.el6_3 will be erased
—> Package postgresql-devel.i686 0:8.4.13-1.el6_3 will be erased
—> Package postgresql-libs.i686 0:8.4.13-1.el6_3 will be erased
–> Processing Dependency: libpq.so.5 for package: libdbi-dbd-pgsql-0.8.3-5.1.el6.i686
–> Processing Dependency: postgresql-libs for package: libdbi-dbd-pgsql-0.8.3-5.1.el6.i686
—> Package postgresql-plperl.i686 0:8.4.13-1.el6_3 will be erased
—> Package postgresql-server.i686 0:8.4.13-1.el6_3 will be erased
–> Running transaction check
—> Package libdbi-dbd-pgsql.i686 0:0.8.3-5.1.el6 will be erased
–> Finished Dependency Resolution
Dependencies Resolved
======================================================================================================================
Package Arch Version
======================================================================================================================
Removing:
postgresql i686 8.4.13-1.el6_3
postgresql-contrib i686 8.4.13-1.el6_3
postgresql-devel i686 8.4.13-1.el6_3
postgresql-libs i686 8.4.13-1.el6_3
postgresql-plperl i686 8.4.13-1.el6_3
postgresql-server i686 8.4.13-1.el6_3
Removing for dependencies:
libdbi-dbd-pgsql i686 0.8.3-5.1.el6
Transaction Summary
======================================================================================================================
Remove 7 Package(s)
Installed size: 34 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
Erasing : postgresql-devel-8.4.13-1.el6_3.i686
Erasing : postgresql-contrib-8.4.13-1.el6_3.i686
Erasing : postgresql-plperl-8.4.13-1.el6_3.i686
Erasing : postgresql-server-8.4.13-1.el6_3.i686
Erasing : postgresql-8.4.13-1.el6_3.i686
Erasing : libdbi-dbd-pgsql-0.8.3-5.1.el6.i686
Erasing : postgresql-libs-8.4.13-1.el6_3.i686
Verifying : postgresql-8.4.13-1.el6_3.i686
Verifying : postgresql-server-8.4.13-1.el6_3.i686
Verifying : postgresql-contrib-8.4.13-1.el6_3.i686
Verifying : libdbi-dbd-pgsql-0.8.3-5.1.el6.i686
Verifying : postgresql-devel-8.4.13-1.el6_3.i686
Verifying : postgresql-plperl-8.4.13-1.el6_3.i686
Verifying : postgresql-libs-8.4.13-1.el6_3.i686
Removed:
postgresql.i686 0:8.4.13-1.el6_3 postgresql-contrib.i686 0:8.4.13-1.el6_3 postgresql-devel.i686 0:8.4.13-
postgresql-plperl.i686 0:8.4.13-1.el6_3 postgresql-server.i686 0:8.4.13-1.el6_3
Dependency Removed:
libdbi-dbd-pgsql.i686 0:0.8.3-5.1.el6
Complete!
2、 开始安装最新版PostgreSQL
现在已经可以使用yum直接安装
yum -y install postgresql postgresql-contrib postgresql-libs postgresql-plperl postgresql-server
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.ustc.edu.cn
* epel: ftp.jaist.ac.jp
* extras: centos.ustc.edu.cn
* rpmforge: mirror.hmc.edu
* updates: ftp.iij.ad.jp
Setting up Install Process
Resolving Dependencies
–> Running transaction check
—> Package postgresql92.i686 0:9.2.1-1PGDG.rhel6 will be installed
—> Package postgresql92-contrib.i686 0:9.2.1-1PGDG.rhel6 will be installed
—> Package postgresql92-libs.i686 0:9.2.1-1PGDG.rhel6 will be installed
—> Package postgresql92-plperl.i686 0:9.2.1-1PGDG.rhel6 will be installed
—> Package postgresql92-server.i686 0:9.2.1-1PGDG.rhel6 will be installed
–> Finished Dependency Resolution
Dependencies Resolved
======================================================================================================================
Package Arch Version
======================================================================================================================
Installing:
postgresql92 i686 9.2.1-1PGDG.rhel6
postgresql92-contrib i686 9.2.1-1PGDG.rhel6
postgresql92-libs i686 9.2.1-1PGDG.rhel6
postgresql92-plperl i686 9.2.1-1PGDG.rhel6
postgresql92-server i686 9.2.1-1PGDG.rhel6
Transaction Summary
======================================================================================================================
Install 5 Package(s)
Total download size: 5.3 M
Installed size: 21 M
Downloading Packages:
(1/5): postgresql92-9.2.1-1PGDG.rhel6.i686.rpm
(2/5): postgresql92-contrib-9.2.1-1PGDG.rhel6.i686.rpm
(3/5): postgresql92-libs-9.2.1-1PGDG.rhel6.i686.rpm
(4/5): postgresql92-plperl-9.2.1-1PGDG.rhel6.i686.rpm
(5/5): postgresql92-server-9.2.1-1PGDG.rhel6.i686.rpm
———————————————————————————————————————-
Total
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : postgresql92-libs-9.2.1-1PGDG.rhel6.i686
Installing : postgresql92-9.2.1-1PGDG.rhel6.i686
Installing : postgresql92-server-9.2.1-1PGDG.rhel6.i686
Installing : postgresql92-plperl-9.2.1-1PGDG.rhel6.i686
Installing : postgresql92-contrib-9.2.1-1PGDG.rhel6.i686
Verifying : postgresql92-plperl-9.2.1-1PGDG.rhel6.i686
Verifying : postgresql92-server-9.2.1-1PGDG.rhel6.i686
Verifying : postgresql92-libs-9.2.1-1PGDG.rhel6.i686
Verifying : postgresql92-contrib-9.2.1-1PGDG.rhel6.i686
Verifying : postgresql92-9.2.1-1PGDG.rhel6.i686
Installed:
postgresql92.i686 0:9.2.1-1PGDG.rhel6 postgresql92-contrib.i686 0:9.2.1-1PGDG.rhel6 pos
postgresql92-plperl.i686 0:9.2.1-1PGDG.rhel6 postgresql92-server.i686 0:9.2.1-1PGDG.rhel6
Complete!
3、初始化数据库并启动
安装操作顺利完成后,对数据库进行初始化,然后启动服务
[root@wardking ~]# service postgresql-9.2 initdb
Initializing database: [ OK ]
[root@wardking ~]# service postgresql-9.2 start
Starting postgresql-9.2 service: [ OK ]
如果有错误信息出现,检查日志文件 /var/lib/pgsql/9.2/data/pg_log,查找线索
4、 配置工作环境
PostgreSQL数据库操作的默认账户为postgres,其操作目录为/var/lib/pgsql,配置文件.bash_profile中的默认内容为
[ -f /etc/profile ] && source /etc/profile
PGDATA=/var/lib/pgsql/9.1/data
export PGDATA
以上配置中包括了数据库所在的路径,但是没有可执行命令文件所在的目录,为操作便利,更正如下:
[ -f /etc/profile ] && source /etc/profile
PGDATA=/var/lib/pgsql/9.1/data
export PGDATA
PATH=$PATH:$HOME/bin:/usr/pgsql-9.1/bin
export PATH
5、设置默认账户postgres的操作密码
[root@wardking ~]# su – postgres
-bash-4.1$ psql postgres postgres
psql (9.2.1)
Type “help” for help.
postgres=# alter user postgres with password ‘postgres’;
ALTER ROLE
postgres=#
6、 提升postgreSQL安全
默认配置中,postgreSQL使用明文存储密码,非常不安全,需要修改配置文件,更改密码验证方式为md5
[root@wardking ~]# vi /var/lib/pgsql/9.1/data/pg_hba.conf
# Put your actual configuration here
# ———————————-
#
# If you want to allow non-local connections, you need to add more
# “host” records. In that case you will also need to make PostgreSQL
# listen on a non-local interface via the listen_addresses
# configuration parameter, or via the -i or -h command line switches.
# TYPE DATABASE USER ADDRESS METHOD
# “local” is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres peer
#host replication postgres 127.0.0.1/32 ident
#host replication postgres ::1/128 ident
为了使配置文件生效,必须让postgreSQL重新载入配置,有多种方式可以实现:
第一种方式: 直接使用命令操作
[root@wardking ~]# su – postgres
-bash-4.1$ pg_ctl reload
server signaled
-bash-4.1$
第二种方式:切换到postgres用户,通过psql命令,调用pg_reload_conf();
-bash-4.1$ psql postgres postgres
psql (9.1.1)
Type “help” for help.
postgres=# select pg_reload_conf();
pg_reload_conf
—————-
t
(1 row)
postgres=#
第三种方式:切换到postgres用户,同样使用psql命令,但无须登录PostgreSQL控制台
-bash-4.1$ psql postgres postgres -c “select pg_reload_conf();”
Password for user postgres:
pg_reload_conf
—————-
t
(1 row)
-bash-4.1$
允许远程连接PostgreSQL数据库
PostgreSQL的主配置文件postgresql.conf位于目录/var/lib/pgsql/9.2/data,其中CONNECTIONS AND AUTHENTICATION段中的配置如下
#——————————————————————————
# CONNECTIONS AND AUTHENTICATION
#——————————————————————————
# – Connection Settings -
#listen_addresses = ‘localhost’ # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to ‘localhost’, ‘*’ = all
# (change requires restart)
#port = 5432 # (change requires restart)
以上默认设置仅接受来自本地(Localhost)的连接,如果需要允许远程主机连接,需要将listen_addresses注释取消,并将localhost更改为*或者指定的网卡IP地址。此处还可以更改默认的监听端口5432
修改完成后,需要重新启动postgresql-9.2系统服务,重新载入配置文件后方可生效。
如果修改该文件导致服务无法启动,可以查看/var/lib/pgsql/9.2/pg_log文件,查找线索进行排错。
重新启动完成后,进入postgres用户控制台,登录数据库操作界面,可以验证更改结果
-bash-4.1$ psql
Password:
psql (9.1.1)
Type “help” for help.
postgres=# show listen_addresses;
listen_addresses
——————
*
(1 row)
postgres=# show port;
port
——
5432
(1 row)
postgres=#
原文地址:http://www.wardking.com/2012/10/%e4%b8%bacentos%e5%ae%89%e8%a3%85%e6%9c%80%e6%96%b0%
(责任编辑:IT)
将旧版本中的postgresql软件包全部删除 [root@wardking ~]# yum remove postgresql postgresql-contrib postgresql-libs postgresql-devel postgresql-plperl postgr Loaded plugins: fastestmirror Setting up Remove Process Resolving Dependencies –> Running transaction check —> Package postgresql.i686 0:8.4.13-1.el6_3 will be erased —> Package postgresql-contrib.i686 0:8.4.13-1.el6_3 will be erased —> Package postgresql-devel.i686 0:8.4.13-1.el6_3 will be erased —> Package postgresql-libs.i686 0:8.4.13-1.el6_3 will be erased –> Processing Dependency: libpq.so.5 for package: libdbi-dbd-pgsql-0.8.3-5.1.el6.i686 –> Processing Dependency: postgresql-libs for package: libdbi-dbd-pgsql-0.8.3-5.1.el6.i686 —> Package postgresql-plperl.i686 0:8.4.13-1.el6_3 will be erased —> Package postgresql-server.i686 0:8.4.13-1.el6_3 will be erased –> Running transaction check —> Package libdbi-dbd-pgsql.i686 0:0.8.3-5.1.el6 will be erased –> Finished Dependency Resolution Dependencies Resolved ====================================================================================================================== Package Arch Version ====================================================================================================================== Removing: postgresql i686 8.4.13-1.el6_3 postgresql-contrib i686 8.4.13-1.el6_3 postgresql-devel i686 8.4.13-1.el6_3 postgresql-libs i686 8.4.13-1.el6_3 postgresql-plperl i686 8.4.13-1.el6_3 postgresql-server i686 8.4.13-1.el6_3 Removing for dependencies: libdbi-dbd-pgsql i686 0.8.3-5.1.el6 Transaction Summary ====================================================================================================================== Remove 7 Package(s) Installed size: 34 M Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Warning: RPMDB altered outside of yum. Erasing : postgresql-devel-8.4.13-1.el6_3.i686 Erasing : postgresql-contrib-8.4.13-1.el6_3.i686 Erasing : postgresql-plperl-8.4.13-1.el6_3.i686 Erasing : postgresql-server-8.4.13-1.el6_3.i686 Erasing : postgresql-8.4.13-1.el6_3.i686 Erasing : libdbi-dbd-pgsql-0.8.3-5.1.el6.i686 Erasing : postgresql-libs-8.4.13-1.el6_3.i686 Verifying : postgresql-8.4.13-1.el6_3.i686 Verifying : postgresql-server-8.4.13-1.el6_3.i686 Verifying : postgresql-contrib-8.4.13-1.el6_3.i686 Verifying : libdbi-dbd-pgsql-0.8.3-5.1.el6.i686 Verifying : postgresql-devel-8.4.13-1.el6_3.i686 Verifying : postgresql-plperl-8.4.13-1.el6_3.i686 Verifying : postgresql-libs-8.4.13-1.el6_3.i686 Removed: postgresql.i686 0:8.4.13-1.el6_3 postgresql-contrib.i686 0:8.4.13-1.el6_3 postgresql-devel.i686 0:8.4.13- postgresql-plperl.i686 0:8.4.13-1.el6_3 postgresql-server.i686 0:8.4.13-1.el6_3 Dependency Removed: libdbi-dbd-pgsql.i686 0:0.8.3-5.1.el6 Complete! 2、 开始安装最新版PostgreSQL 现在已经可以使用yum直接安装 yum -y install postgresql postgresql-contrib postgresql-libs postgresql-plperl postgresql-server Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos.ustc.edu.cn * epel: ftp.jaist.ac.jp * extras: centos.ustc.edu.cn * rpmforge: mirror.hmc.edu * updates: ftp.iij.ad.jp Setting up Install Process Resolving Dependencies –> Running transaction check —> Package postgresql92.i686 0:9.2.1-1PGDG.rhel6 will be installed —> Package postgresql92-contrib.i686 0:9.2.1-1PGDG.rhel6 will be installed —> Package postgresql92-libs.i686 0:9.2.1-1PGDG.rhel6 will be installed —> Package postgresql92-plperl.i686 0:9.2.1-1PGDG.rhel6 will be installed —> Package postgresql92-server.i686 0:9.2.1-1PGDG.rhel6 will be installed –> Finished Dependency Resolution Dependencies Resolved ====================================================================================================================== Package Arch Version ====================================================================================================================== Installing: postgresql92 i686 9.2.1-1PGDG.rhel6 postgresql92-contrib i686 9.2.1-1PGDG.rhel6 postgresql92-libs i686 9.2.1-1PGDG.rhel6 postgresql92-plperl i686 9.2.1-1PGDG.rhel6 postgresql92-server i686 9.2.1-1PGDG.rhel6 Transaction Summary ====================================================================================================================== Install 5 Package(s) Total download size: 5.3 M Installed size: 21 M Downloading Packages: (1/5): postgresql92-9.2.1-1PGDG.rhel6.i686.rpm (2/5): postgresql92-contrib-9.2.1-1PGDG.rhel6.i686.rpm (3/5): postgresql92-libs-9.2.1-1PGDG.rhel6.i686.rpm (4/5): postgresql92-plperl-9.2.1-1PGDG.rhel6.i686.rpm (5/5): postgresql92-server-9.2.1-1PGDG.rhel6.i686.rpm ———————————————————————————————————————- Total Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : postgresql92-libs-9.2.1-1PGDG.rhel6.i686 Installing : postgresql92-9.2.1-1PGDG.rhel6.i686 Installing : postgresql92-server-9.2.1-1PGDG.rhel6.i686 Installing : postgresql92-plperl-9.2.1-1PGDG.rhel6.i686 Installing : postgresql92-contrib-9.2.1-1PGDG.rhel6.i686 Verifying : postgresql92-plperl-9.2.1-1PGDG.rhel6.i686 Verifying : postgresql92-server-9.2.1-1PGDG.rhel6.i686 Verifying : postgresql92-libs-9.2.1-1PGDG.rhel6.i686 Verifying : postgresql92-contrib-9.2.1-1PGDG.rhel6.i686 Verifying : postgresql92-9.2.1-1PGDG.rhel6.i686 Installed: postgresql92.i686 0:9.2.1-1PGDG.rhel6 postgresql92-contrib.i686 0:9.2.1-1PGDG.rhel6 pos postgresql92-plperl.i686 0:9.2.1-1PGDG.rhel6 postgresql92-server.i686 0:9.2.1-1PGDG.rhel6 Complete! 3、初始化数据库并启动 安装操作顺利完成后,对数据库进行初始化,然后启动服务 [root@wardking ~]# service postgresql-9.2 initdb Initializing database: [ OK ] [root@wardking ~]# service postgresql-9.2 start Starting postgresql-9.2 service: [ OK ] 如果有错误信息出现,检查日志文件 /var/lib/pgsql/9.2/data/pg_log,查找线索 4、 配置工作环境 PostgreSQL数据库操作的默认账户为postgres,其操作目录为/var/lib/pgsql,配置文件.bash_profile中的默认内容为 [ -f /etc/profile ] && source /etc/profile PGDATA=/var/lib/pgsql/9.1/data export PGDATA 以上配置中包括了数据库所在的路径,但是没有可执行命令文件所在的目录,为操作便利,更正如下: [ -f /etc/profile ] && source /etc/profile PGDATA=/var/lib/pgsql/9.1/data export PGDATA PATH=$PATH:$HOME/bin:/usr/pgsql-9.1/bin export PATH 5、设置默认账户postgres的操作密码 [root@wardking ~]# su – postgres -bash-4.1$ psql postgres postgres psql (9.2.1) Type “help” for help. postgres=# alter user postgres with password ‘postgres’; ALTER ROLE postgres=# 6、 提升postgreSQL安全 默认配置中,postgreSQL使用明文存储密码,非常不安全,需要修改配置文件,更改密码验证方式为md5 [root@wardking ~]# vi /var/lib/pgsql/9.1/data/pg_hba.conf # Put your actual configuration here # ———————————- # # If you want to allow non-local connections, you need to add more # “host” records. In that case you will also need to make PostgreSQL # listen on a non-local interface via the listen_addresses # configuration parameter, or via the -i or -h command line switches. # TYPE DATABASE USER ADDRESS METHOD # “local” is for Unix domain socket connections only local all all md5 # IPv4 local connections: host all all 127.0.0.1/32 md5 # IPv6 local connections: host all all ::1/128 md5 # Allow replication connections from localhost, by a user with the # replication privilege. #local replication postgres peer #host replication postgres 127.0.0.1/32 ident #host replication postgres ::1/128 ident 为了使配置文件生效,必须让postgreSQL重新载入配置,有多种方式可以实现: 第一种方式: 直接使用命令操作 [root@wardking ~]# su – postgres -bash-4.1$ pg_ctl reload server signaled -bash-4.1$ 第二种方式:切换到postgres用户,通过psql命令,调用pg_reload_conf(); -bash-4.1$ psql postgres postgres psql (9.1.1) Type “help” for help. postgres=# select pg_reload_conf(); pg_reload_conf —————- t (1 row) postgres=# 第三种方式:切换到postgres用户,同样使用psql命令,但无须登录PostgreSQL控制台 -bash-4.1$ psql postgres postgres -c “select pg_reload_conf();” Password for user postgres: pg_reload_conf —————- t (1 row) -bash-4.1$ 允许远程连接PostgreSQL数据库 PostgreSQL的主配置文件postgresql.conf位于目录/var/lib/pgsql/9.2/data,其中CONNECTIONS AND AUTHENTICATION段中的配置如下 #—————————————————————————— # CONNECTIONS AND AUTHENTICATION #—————————————————————————— # – Connection Settings - #listen_addresses = ‘localhost’ # what IP address(es) to listen on; # comma-separated list of addresses; # defaults to ‘localhost’, ‘*’ = all # (change requires restart) #port = 5432 # (change requires restart) 以上默认设置仅接受来自本地(Localhost)的连接,如果需要允许远程主机连接,需要将listen_addresses注释取消,并将localhost更改为*或者指定的网卡IP地址。此处还可以更改默认的监听端口5432 修改完成后,需要重新启动postgresql-9.2系统服务,重新载入配置文件后方可生效。 如果修改该文件导致服务无法启动,可以查看/var/lib/pgsql/9.2/pg_log文件,查找线索进行排错。 重新启动完成后,进入postgres用户控制台,登录数据库操作界面,可以验证更改结果 -bash-4.1$ psql Password: psql (9.1.1) Type “help” for help. postgres=# show listen_addresses; listen_addresses —————— * (1 row) postgres=# show port; port —— 5432 (1 row) postgres=# 原文地址:http://www.wardking.com/2012/10/%e4%b8%bacentos%e5%ae%89%e8%a3%85%e6%9c%80%e6%96%b0% (责任编辑:IT) |