Fork me on GitHub

CentOS 安装PostgreSQL 9.1

PostgreSQL通常也简称Postgres,是一个关系型数据库管理系统,适用于各种Linux操作系统、Windows、Solaris、BSD和Mac OS X。PostgreSQL遵循PostgreSQL许可,是一个开源软件。PostgreSQL由PostgreSQL全球开发组开发,由极少数的公司志愿组成并进行监督管理,这些公司有红帽、EnterpriseDB等。

PostgreSQL的知名度越来越大,这是理所当然的:它是如此可靠、高效。与传统企业级关系型数据库相比,PostgreSQL完全基于社区驱动,有着丰富的工具和文档,形成了一个完善的生态系统。

postgresql

下面记录的是CentOS上安装PostgreSQL 9.1的过程:

1.添加PosgreSQL Yum Repository,访问http://yum.pgrpms.org/reporpms/repoview/letter_p.group.html,下载并安装和当前系统对应的rpm文件。

[root@SNDA-192-168-15-161 src]# wget http://yum.pgrpms.org/9.1/redhat/rhel-6-x86_64/pgdg-centos91-9.1-4.noarch.rpm
--2012-08-25 16:56:19--  http://yum.pgrpms.org/9.1/redhat/rhel-6-x86_64/pgdg-centos91-9.1-4.noarch.rpm
Resolving yum.pgrpms.org... 98.129.198.114
Connecting to yum.pgrpms.org|98.129.198.114|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5124 (5.0K) [application/x-redhat-package-manager]
Saving to: “pgdg-centos91-9.1-4.noarch.rpmâ€

100%[======================================>] 5,124       18.7K/s   in 0.3s

2012-08-25 16:56:19 (18.7 KB/s) - “pgdg-centos91-9.1-4.noarch.rpmâ€

[root@SNDA-192-168-15-161 src]# ls -l
total 17644
drwxr-xr-x  9 1001 1001     4096 Aug 18 19:47 nginx-1.2.1
-rw-r--r--  1 root root   718161 Jun  5 22:10 nginx-1.2.1.tar.gz
drwxr-xr-x  8 root root     4096 Aug 18 19:44 nginx_tcp_proxy_module
-rw-r--r--  1 root root     4164 Dec 19  2011 nodejs-stable-release.noarch.rpm
-rw-r--r--  1 root root  1484480 Aug 18 21:37 node-v0.9.0.tar.gz
drwxr-xr-x  7 1169 1169     4096 Aug 18 20:11 pcre-8.20
drwxr-xr-x  8 1169 1169    12288 Aug 18 20:14 pcre-8.30
-rw-r--r--  1 root root  1635262 Aug 18 20:13 pcre-8.30.tar.gz
-rw-r--r--  1 root root     5124 Sep 26  2011 pgdg-centos91-9.1-4.noarch.rpm
drwxr-x--- 18 1000 1002     4096 Aug 18 20:58 Python-2.7.3
-rw-r--r--  1 root root 14135620 Apr 10 07:28 Python-2.7.3.tgz
-rw-r--r--  1 root root      539 Aug 18 21:37 wget-log
[root@SNDA-192-168-15-161 src]# rpm  -Uvh pgdg-centos91-9.1-4.noarch.rpm
warning: pgdg-centos91-9.1-4.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID 442df0f8: NOKEY
Preparing...                ########################################### [100%]
   1:pgdg-centos91          ########################################### [100%]

修改原始的yum仓库配置,在[base]和[updates]部分的尾部追加exclude=postgresql*用以取消从默认仓库安装和更新PostgreSQL。
[root@SNDA-192-168-15-161 src]# cd /etc/yum.repos.d
[root@SNDA-192-168-15-161 yum.repos.d]# vi CentOS-Base.repo

安装或者升级postgresql-libs
[root@SNDA-192-168-15-161 yum.repos.d]# yum upgrade postgresql-libs
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
* base: mirrors.grandcloud.cn
* extras: mirrors.grandcloud.cn
* updates: mirrors.grandcloud.cn
base                                                     | 3.7 kB     00:00
extras                                                   | 3.0 kB     00:00
nodejs-stable                                            | 2.9 kB     00:00
pgdg91                                                   | 2.8 kB     00:00
pgdg91/primary_db                                        | 119 kB     00:01
updates                                                  | 3.5 kB     00:00
updates/primary_db                                       | 2.3 MB     00:09
Setting up Upgrade Process
No Match for argument: postgresql-libs
No package postgresql-libs available.
No Packages marked for Update

安装PostgreSQL Server
[root@SNDA-192-168-15-161 yum.repos.d]# yum install postgresql91-server
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
* base: mirrors.grandcloud.cn
* extras: mirrors.grandcloud.cn
* updates: mirrors.grandcloud.cn
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package postgresql91-server.x86_64 0:9.1.5-1PGDG.rhel6 will be installed
--> Processing Dependency: postgresql91 = 9.1.5-1PGDG.rhel6 for package: postgresql91-server-9.1.5-1PGDG.rhel6.x86_64
--> Processing Dependency: libpq.so.5()(64bit) for package: postgresql91-server-9.1.5-1PGDG.rhel6.x86_64
--> Running transaction check
---> Package postgresql91.x86_64 0:9.1.5-1PGDG.rhel6 will be installed
---> Package postgresql91-libs.x86_64 0:9.1.5-1PGDG.rhel6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package                  Arch        Version                 Repository   Size
================================================================================
Installing:
postgresql91-server      x86_64      9.1.5-1PGDG.rhel6       pgdg91      3.6 M
Installing for dependencies:
postgresql91             x86_64      9.1.5-1PGDG.rhel6       pgdg91      990 k
postgresql91-libs        x86_64      9.1.5-1PGDG.rhel6       pgdg91      188 k

Transaction Summary
================================================================================
Install       3 Package(s)

Total download size: 4.7 M
Installed size: 20 M
Is this ok [y/N]: y
Downloading Packages:
(1/3): postgresql91-9.1.5-1PGDG.rhel6.x86_64.rpm         | 990 kB     00:06
(2/3): postgresql91-libs-9.1.5-1PGDG.rhel6.x86_64.rpm    | 188 kB     00:02
(3/3): postgresql91-server-9.1.5-1PGDG.rhel6.x86_64.rpm  | 3.6 MB     00:43
--------------------------------------------------------------------------------
Total                                            90 kB/s | 4.7 MB     00:54
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
  Installing : postgresql91-libs-9.1.5-1PGDG.rhel6.x86_64                   1/3
  Installing : postgresql91-9.1.5-1PGDG.rhel6.x86_64                        2/3
  Installing : postgresql91-server-9.1.5-1PGDG.rhel6.x86_64                 3/3
  Verifying  : postgresql91-libs-9.1.5-1PGDG.rhel6.x86_64                   1/3
  Verifying  : postgresql91-server-9.1.5-1PGDG.rhel6.x86_64                 2/3
  Verifying  : postgresql91-9.1.5-1PGDG.rhel6.x86_64                        3/3

Installed:
  postgresql91-server.x86_64 0:9.1.5-1PGDG.rhel6

Dependency Installed:
  postgresql91.x86_64 0:9.1.5-1PGDG.rhel6
  postgresql91-libs.x86_64 0:9.1.5-1PGDG.rhel6

Complete!

初始化数据库,默认路径为/var/lib/pgsql/9.1/data
[root@SNDA-192-168-15-161 yum.repos.d]# service postgresql-9.1 initdb
Initializing database:                                     [  OK  ]

启动服务
[root@SNDA-192-168-15-161 yum.repos.d]# service postgresql-9.1 start
Starting postgresql-9.1 service:                           [  OK  ]

[root@SNDA-192-168-15-161 yum.repos.d]# vi /var/lib/pgsql/9.1/data/pg_hba.conf
[root@SNDA-192-168-15-161 yum.repos.d]# psql -U postgres
psql: FATAL:  Peer authentication failed for user "postgres"

重启服务
[root@SNDA-192-168-15-161 yum.repos.d]# service postgresql-9.1 restart
Stopping postgresql-9.1 service:                           [  OK  ]
Starting postgresql-9.1 service:                           [  OK  ]

(这里需要先修改配置文件/var/lib/pgsql/9.1/data/pg_hba.conf 将peer或别的改为trust,否则会提示错误Peer authentication failed for user “postgres”),修改客户端认证配置文件,将METHOD由默认的ident改为md5
[root@SNDA-192-168-15-161 yum.repos.d]# psql -U postgres
psql (9.1.5)
Type "help" for help.

postgres=# ALTER USER postgres WITH PASSWORD 'admin'
postgres-# \q

 

Engine Yard:PostgreSQL是我们的第一选择

PostgreSQL接口编程二:.NetDataProvider--Npgsql驱动

http://blog.csdn.net/beiigang/article/details/7051625

http://www.codeproject.com/Articles/30989/Using-PostgreSQL-in-your-C-NET-application-An-intr

http://datachomp.com/archives/getting-started-with-postgres-and-mvc3/

http://www.pgadmin.org/

posted @ 2012-08-25 17:21  张善友  阅读(8926)  评论(3编辑  收藏  举报