PostgreSQL数据库的安装与配置
PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES(4.2版本)为基础的对象关系型数据库管理系统(ORDBMS)。PostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、多版本并发控制。同样,PostgreSQL 可以用许多方法扩展,比如,通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言。并且,因为许可证的灵活,任何人都可以以任何目的免费使用,修改和分发 PostgreSQL,不管是私用,商用,还是学术研究使用。
下面我们就来介绍一下PostgreSQL在CentOS 5.x上的安装与配置: 1.PostgreSQL数据库的安装首先去PostgreSQL官方网站去下载相关的PostgreSQL的rpm安装包,下载地址为: http://yum.postgresql.org/packages.php 由于安装包比较多,其实我们只需要postgresql-libs库、postgresql客户端和postgresql服务器这三个rpm包就可以了。 1. 安装postgresql-libs库
2. 安装postgresql客户端
3. 安装postgresql服务器
4. 初始化数据库和启动服务
执行【/etc/init.d/postgresql-9.1 initdb】命令,就在【/var/lib/pgsql/9.1/data】目录下创建了PostgreSQL数据库,这样就完成了PostgreSQL数据库的安装工作。 2. PostgreSQL数据库的配置PostgreSQL安装完成后,执行初始化数据库操作后,在目录【/var/lib/pgsql/9.1】下生成data目录,这个目录保存了数据库的相关配置信息。 2.1 配置postgresql服务PostgreSQL服务器安装完成后,默认是不会开机启动的,使用下面的命令让其开机启动:
2.2 配置PostgreSQL服务器的登录密码PostgreSQL服务器安装完成后,就会建立postgres用户,密码为空,但这时使用如果客户端命令【psql -U postgres】来登录PostgreSQL服务器是登录不上的,命令如下:
看来是用户postgres的权限和认证方式有问题,这该怎么办呢?答案很简单,直接找度娘!
原来是目录【/var/lib/pgsql/9.1/data】下的pg_hba.conf文件决定了PostgreSQL服务器用户的权限以及认证方式。 pg_hba.conf文件最后有一个列表,它决定了分派给每个用户的权限以及认证方式。文件格式是“Type Database User Address Method”。 下面介绍如何为用户postgres添加密码"123456",操作如下: 1. 修改pg_hba.conf文件中的【local all all peer】行,暂时将【peer】选项修改成【trust】,重启postgresql服务,就可以登录PostgreSQL服务器了; 2. 登录PostgreSQL服务器,使用数据库命令来修改用户密码,命令如下:
这样通过前后select语句对比,就知道密码设置成功了。 3. 然后修改pg_hba.conf文件中的【local all all peer】行,将【trust】选项修改成【md5】,重启postgresql服务,这样以后登录PostgreSQL服务器就需要输入密码了。 2.3 配置PostgreSQL服务器的访问权限PostgreSQL服务器的配置权限包括本地访问和远程访问的权限,下面我就逐一介绍这两种访问权限的配置方法。 2.3.1 本机访问权限所谓的本机访问权限就是使用【psql -U postgres –h localhost】来登录PostgreSQL服务器,其实这个配置比较简单,只需要修改pg_hba.conf文件中的【host all all 127.0.0.1/32 ident】行,将【ident】选项修改成【md5】,重启postgresql服务就可以了。 2.3.2 远程访问权限如果你用Navicat等PostgreSQL前端工具来访问PostgreSQL服务器,发现还是连接不上的,看来还得对PostgreSQL服务器进行配置。 配置操作过程如下: 1. 首先看看防火墙是否开启,如果开启需要允许5432端口的连通。如不知怎样配置防火墙,就关闭它。 2. 配置postgresql.conf文件,它和pg_hba.conf文件在同一个目录下。如果想让PostgreSQL监听整个网络的话,将listen_addresses前的#去掉,并将listen_addresses = 'localhost'改成listen_addresses = '*',其中*表示所有网络链接:
3. 修改pg_hba.conf文件,在其最后添加:
其中0.0.0.0/0表示所有IP地址。修改好这两个配置文件后,重启postgresql服务,就可以远程访问PostgreSQL服务器了。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |