CentOS 6.3下PostgreSQL 的安装与配置

前端之家收集整理的这篇文章主要介绍了CentOS 6.3下PostgreSQL 的安装与配置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

CentOS 6.3下PostgreSQL 的安装与配置

@H_502_6@一、简介

@H_502_6@Postgresql 是一种非常复杂的对象-关系型数据库管理系统(ORDBMS),也是目前功能最强大,特性最丰富和最复杂的自由软件数据库系统。有些特性甚至连商业数据库都不具备。这个起源于伯克利(BSD)的数据库研究计划目前已经衍生成一项国际开发项目,并且有非常广泛的用户

@H_502_6@二、系统环境

@H_502_6@系统平台:CentOS release 6.3 (Final)

@H_502_6@Postgresql 版本:Postgresql 9.2.4

@H_502_6@防火墙已关闭/iptables: Firewall is not running.

@H_502_6@SELINUX=disabled

@H_502_6@三、安装方式

@H_502_6@A. RPM包安装

@H_502_6@B. yum 安装

@H_502_6@C. 源码包安装

@H_502_6@四、安装过程

@H_502_6@A. RPM包安装

@H_502_6@1. 检查Postgresql 是否已经安装

@H_502_6@# rpm -qa|grep postgres

@H_502_6@若已经安装,则使用rpm -e 命令卸载。

@H_502_6@2. 下载RPM包

@H_502_6@#wget http://yum.postgresql.org/9.2/redhat/rhel-6-i386/postgresql92-server-9.2.4-1PGDG.rhel6.i686.rpm

@H_502_6@#wget http://yum.postgresql.org/9.2/redhat/rhel-6-i386/postgresql92-contrib-9.2.4-1PGDG.rhel6.i686.rpm

@H_502_6@#wget http://yum.postgresql.org/9.2/redhat/rhel-6-i386/postgresql92-libs-9.2.4-1PGDG.rhel6.i686.rpm

@H_502_6@#wget http://yum.postgresql.org/9.2/redhat/rhel-6-i386/postgresql92-9.2.4-1PGDG.rhel6.i686.rpm

@H_502_6@3. 安装Postgresql,注意安装顺序

@H_502_6@# rpm -ivh postgresql92-libs-9.2.4-1PGDG.rhel6.i686.rpm
# rpm -ivh postgresql92-9.2.4-1PGDG.rhel6.i686.rpm
# rpm -ivh postgresql92-server-9.2.4-1PGDG.rhel6.i686.rpm
# rpm -ivh postgresql92-contrib-9.2.4-1PGDG.rhel6.i686.rpm

@H_502_6@4. 初始化Postgresql 数据库

@H_502_6@Postgresql 服务初次启动的时候会提示初始化。

@H_502_6@

@H_502_6@初始化数据库

@H_502_6@# service postgresql-9.2initdb

@H_502_6@5. 启动服务

@H_502_6@# service postgresql-9.2start

@H_502_6@6. 把Postgresql 服务加入到启动列表

@H_502_6@# chkconfig postgresql-9.2on

@H_502_6@# chkconfig --list|grep postgres

@H_502_6@7.修改Postgresql 数据库用户postgres的密码(注意不是linux系统帐号)

@H_502_6@Postgresql 数据库默认会创建一个postgres的数据库用户作为数据库管理员,默认密码为空,我们需要修改为指定的密码,这里设定为’postgres’。

@H_502_6@# su - postgres

@H_502_6@$ psql

# ALTER USER postgres WITH PASSWORD 'postgres';
# select * from pg_shadow ;
@H_502_6@

@H_502_6@8. 测试数据库

@H_502_6@8.1 创建测试数据库

create database david;
@H_502_6@

@H_502_6@8.2 切换到david 数据库

# \c david
@H_502_6@

@H_502_6@8.3 创建测试表

david=# table test (id integer,name text);
@H_502_6@

@H_502_6@8.4 插入测试数据

insert into test values (1,david'); INSERT 0 1 david=#
@H_502_6@8.5 选择数据

davidfrom test ;
 id | name  
----+-------
  1 | david
(1 row)

david=# 
@H_502_6@测试完成,RPM包安装成功。

@H_502_6@9.修改linux 系统用户postgres 的密码

@H_502_6@Postgresql 数据库默认会创建一个linux 系统用户postgres,通过passwd 命令设置系统用户的密码为post123。

@H_502_6@# passwd postgres

@H_502_6@

@H_502_6@10.修改Postgressql 数据库配置实现远程访问

@H_502_6@10.1 修改postgresql.conf 文件

@H_502_6@# vi /var/lib/pgsql/9.2/data/postgresql.conf

@H_502_6@如果想让Postgresql 监听整个网络的话,将listen_addresses 前的#去掉,并将 listen_addresses = 'localhost' 改成 listen_addresses = '*'

@H_502_6@10.2 修改客户端认证配置文件pg_hba.conf

@H_502_6@将需要远程访问数据库的IP地址或地址段加入该文件

@H_502_6@# vi /var/lib/pgsql/9.2/data/pg_hba.conf

@H_502_6@host all all 0.0.0.0/0 trust

@H_502_6@11. 重启服务以使设置生效

@H_502_6@# service postgresql-9.2 restart

@H_502_6@12. 远程测试连接

@H_502_6@连接成功。

@H_502_6@B. yum 安装

@H_502_6@1. 将刚才安装的Postgresql 卸载

@H_502_6@//停止Postgresql服务

@H_502_6@# /etc/init.d/postgresql-9.2 stop

@H_502_6@//查看已安装的包

@H_502_6@# rpm -qa|grep postgres

@H_502_6@//卸载

@H_502_6@# rpm -e postgresql92-server-9.2.4-1PGDG.rhel6.i686

@H_502_6@# rpm -e postgresql92-contrib-9.2.4-1PGDG.rhel6.i686

@H_502_6@# rpm -e postgresql92-9.2.4-1PGDG.rhel6.i686

@H_502_6@# rpm -e postgresql92-libs-9.2.4-1PGDG.rhel6.i686

@H_502_6@2. yum 安装

@H_502_6@如果是默认yum 安装的话,会安装较低版本的Postgresql 8.4,这不符合我们的要求。

@H_502_6@我们使用Postgresql Yum Repository 来安装最新版本的Postgresql

@H_502_6@2.1 安装Postgresql yum repository

@H_502_6@# rpm -i http://yum.postgresql.org/9.2/redhat/rhel-6-x86_64/pgdg-redhat92-9.2-7.noarch.rpm

@H_502_6@2.2 安装新版本Postgresql

@H_502_6@# yum install postgresql92-server postgresql92-contrib

@H_502_6@2.3 查看安装

@H_502_6@3. 初始化并启动数据库

@H_502_6@4. 测试

@H_502_6@其他步骤如A方式。

@H_502_6@C.源码包安装

@H_502_6@1. 下载Postgresql 源码包

@H_502_6@# wget http://ftp.postgresql.org/pub/source/v9.2.4/postgresql-9.2.4.tar.bz2

@H_502_6@2. 解压源码包

@H_502_6@# tar xjf postgresql-9.2.4.tar.bz2

@H_502_6@3. 进入解压后的目录

@H_502_6@# cd postgresql-9.2.4

@H_502_6@4. 查看INSTALL 文件

@H_502_6@INSTALL 文件中Short Version 部分解释了如何安装Postgresql 的命令,Requirements 部分描述了安装Postgresql 所依赖的lib,比较长,先configure 试一下,如果出现error,那么需要检查是否满足了Requirements 的要求。

@H_502_6@

@H_502_6@5. 开始编译安装Postgresql 数据库

@H_502_6@[root@TS-DEV postgresql-9.2.4]# ./configure

@H_502_6@

@H_502_6@configure 成功,无错误

@H_502_6@6. 执行gmake

@H_502_6@[root@TS-DEV postgresql-9.2.4]# gmake

@H_502_6@

@H_502_6@gmake 成功,Ready to install.

@H_502_6@7. 执行gmake install

@H_502_6@[root@TS-DEV postgresql-9.2.4]# gmake install

@H_502_6@

@H_502_6@gmake install 成功,到这一步,Postgresql 源码编译安装完成,下面开始配置Postgresql.

@H_502_6@8. 设置环境变量

@H_502_6@# vi .bash_profile

@H_502_6@把PATH=$PATH:$HOME/bin

@H_502_6@改成PATH=$PATH:$HOME/bin:/usr/local/pgsql/bin

@H_502_6@保存退出

@H_502_6@让环境变量生效:

@H_502_6@# source .bash_profile

@H_502_6@9. 添加用户postgres

@H_502_6@# adduser postgres

@H_502_6@

@H_502_6@* 更改用户目录(可选操作)

@H_502_6@# vi /etc/passwd

@H_502_6@把postgres:x:528:528::/home/postgres:/bin/bash

@H_502_6@改成postgres:x:528:528::/usr/local/pgsql:/bin/bash

@H_502_6@将.bash_profile 移动到新的用户目录并修改权限

@H_502_6@# cp /home/postgres/.bash_profile /usr/local/pgsql/

@H_502_6@# chown postgres.postgres .bash_profile

@H_502_6@删除用户目录:

@H_502_6@[root@TS-DEV home]# rm -rf postgres/

@H_502_6@10. 初始化数据库

@H_502_6@10.1 新建数据目录

@H_502_6@# mkdir /usr/local/pgsql/data

@H_502_6@10.2 更改权限

@H_502_6@# chown postgres /usr/local/pgsql/data

@H_502_6@10.3 切换到postgres 用户

@H_502_6@10.4 init db

@H_502_6@$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/

@H_502_6@

@H_502_6@到这里数据的初始化就完成了。

@H_502_6@11. 系统服务

@H_502_6@11.1 回到root 用户

@H_502_6@$ exit

@H_502_6@11.2复制安装目录下的linux文件到/etc/init.d/

@H_502_6@进入postgresql 的安装目录(即刚刚使用tar命令解压的目录)

@H_502_6@# cd postgresql-9.2.4

@H_502_6@# cp contrib/start-scripts/linux /etc/init.d/postgresql

@H_502_6@

@H_502_6@11.3 添加执行权限

@H_502_6@# chmod +x /etc/init.d/postgresql

@H_502_6@11.4 启动数据库

@H_502_6@

@H_502_6@11.5 让数据库开机启动

@H_502_6@# chkconfig --add postgresql

@H_502_6@# chkconfig postgresql on

@H_502_6@

@H_502_6@11.6 创建数据库操作的历史记录文件

@H_502_6@

@H_502_6@12. 测试使用

@H_502_6@# su - postgres

@H_502_6@$ createdb test

@H_502_6@$ psql test

testtable test(id int);
@H_502_6@

@H_502_6@源码编译安装成功。

原文链接:https://www.f2er.com/centos/382170.html

猜你在找的CentOS相关文章