Linux——CentOS 6.3下PostgreSQL 的安装与配置
一、简介
PostgreSQL 是一种非常复杂的对象-关系型数据库管理系统(ORDBMS),也是目前功能最强大,特性最丰富和最复杂的自由软件数据库系统。有些特性甚至连商业数据库 都不具备。这个起源于伯克利(BSD)的数据库研究计划目前已经衍生成一项国际开发项目,并且有非常广泛的用户。
二、系统环境
系统平台:CentOS release 6.3 (Final)
PostgreSQL 版本:PostgreSQL 9.2.4
防火墙已关闭/iptables: Firewall is not running.
SELINUX=disabled
三、安装方式
A. RPM包安装
B. yum 安装
C. 源码包安装
四、安装过程
A. RPM包安装
1. 检查PostgreSQL 是否已经安装
# rpm -qa|grep postgres
若已经安装,则使用rpm -e 命令卸载。
2. 下载RPM包
#wget http://yum.postgresql.org/9.2/redhat/rhel-6-i386/postgresql92-server-9.2.4-1PGDG.rhel6.i686.rpm
#wget http://yum.postgresql.org/9.2/redhat/rhel-6-i386/postgresql92-contrib-9.2.4-1PGDG.rhel6.i686.rpm
#wget http://yum.postgresql.org/9.2/redhat/rhel-6-i386/postgresql92-libs-9.2.4-1PGDG.rhel6.i686.rpm
#wget http://yum.postgresql.org/9.2/redhat/rhel-6-i386/postgresql92-9.2.4-1PGDG.rhel6.i686.rpm
3. 安装PostgreSQL,注意安装顺序
# 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
4. 初始化PostgreSQL 数据库
PostgreSQL 服务初次启动的时候会提示初始化。
初始化数据库
# service postgresql-9.2 initdb
5. 启动服务
# service postgresql-9.2 start
6. 把PostgreSQL 服务加入到启动列表
# chkconfig postgresql-9.2 on
# chkconfig --list|grep postgres
7. 修改PostgreSQL 数据库用户postgres的密码(注意不是linux系统帐号)
PostgreSQL 数据库默认会创建一个postgres的数据库用户作为数据库的管理员,默认密码为空,我们需要修改为指定的密码,这里设定为’postgres’。
# su - postgres
$ psql
# ALTER USER postgres WITH PASSWORD 'postgres';
# select * from pg_shadow ;
8. 测试数据库
8.1 创建测试数据库
# create database david;
8.2 切换到david 数据库
# \c david
8.3 创建测试表
david=# create table test (id integer, name text);
8.4 插入测试数据
david=# insert into test values (1,'david');
INSERT 0 1
david=#
8.5 选择数据
david=# select * from test ;
id | name
----+-------
1 | david
(1 row) david=#
测试完成,RPM包安装成功。
9. 修改linux 系统用户postgres 的密码
PostgreSQL 数据库默认会创建一个linux 系统用户postgres,通过passwd 命令设置系统用户的密码为post123。
# passwd postgres
10. 修改PostgresSQL 数据库配置实现远程访问
10.1 修改postgresql.conf 文件
# vi /var/lib/pgsql/9.2/data/postgresql.conf
如果想让PostgreSQL 监听整个网络的话,将listen_addresses 前的#去掉,并将 listen_addresses = 'localhost' 改成 listen_addresses = '*'
10.2 修改客户端认证配置文件pg_hba.conf
将需要远程访问数据库的IP地址或地址段加入该文件。
# vi /var/lib/pgsql/9.2/data/pg_hba.conf
11. 重启服务以使设置生效
# service postgresql-9.2 restart
12. 远程测试连接
连接成功。
B. yum 安装
1. 将刚才安装的PostgreSQL 卸载
//停止PostgreSQL服务
# /etc/init.d/postgresql-9.2 stop
//查看已安装的包
# rpm -qa|grep postgres
//卸载
# rpm -e postgresql92-server-9.2.4-1PGDG.rhel6.i686
# rpm -e postgresql92-contrib-9.2.4-1PGDG.rhel6.i686
# rpm -e postgresql92-9.2.4-1PGDG.rhel6.i686
# rpm -e postgresql92-libs-9.2.4-1PGDG.rhel6.i686
2. yum 安装
如果是默认yum 安装的话,会安装较低版本的PostgreSQL 8.4,这不符合我们的要求。
我们使用PostgreSQL Yum Repository 来安装最新版本的PostgreSQL。
2.1 安装PostgreSQL yum repository
# rpm -i http://yum.postgresql.org/9.2/redhat/rhel-6-x86_64/pgdg-redhat92-9.2-7.noarch.rpm
2.2 安装新版本PostgreSQL
# yum install postgresql92-server postgresql92-contrib
2.3 查看安装
3. 初始化并启动数据库
4. 测试
其他步骤如A方式。
C. 源码包安装
1. 下载PostgreSQL 源码包
# wget http://ftp.postgresql.org/pub/source/v9.2.4/postgresql-9.2.4.tar.bz2
2. 解压源码包
# tar xjf postgresql-9.2.4.tar.bz2
3. 进入解压后的目录
# cd postgresql-9.2.4
4. 查看INSTALL 文件
INSTALL
文件中Short Version 部分解释了如何安装PostgreSQL 的命令,Requirements 部分描述了安装PostgreSQL
所依赖的lib,比较长,先configure 试一下,如果出现error,那么需要检查是否满足了Requirements 的要求。
5. 开始编译安装PostgreSQL 数据库。
[root@TS-DEV postgresql-9.2.4]# ./configure
configure 成功,无错误。
6. 执行gmake
[root@TS-DEV postgresql-9.2.4]# gmake
gmake 成功,Ready to install.
7. 执行gmake install
[root@TS-DEV postgresql-9.2.4]# gmake install
gmake install 成功,到这一步,PostgreSQL 源码编译安装完成,下面开始配置PostgreSQL.
8. 设置环境变量
# vi .bash_profile
把 PATH=$PATH:$HOME/bin
改成 PATH=$PATH:$HOME/bin:/usr/local/pgsql/bin
保存退出。
让环境变量生效:
# source .bash_profile
9. 添加用户postgres
# adduser postgres
* 更改用户目录(可选操作)
# vi /etc/passwd
把 postgres:x:528:528::/home/postgres:/bin/bash
改成 postgres:x:528:528::/usr/local/pgsql:/bin/bash
将.bash_profile 移动到新的用户目录并修改权限
# cp /home/postgres/.bash_profile /usr/local/pgsql/
# chown postgres.postgres .bash_profile
删除用户目录:
[root@TS-DEV home]# rm -rf postgres/
10. 初始化数据库
10.1 新建数据目录
# mkdir /usr/local/pgsql/data
10.2 更改权限
# chown postgres /usr/local/pgsql/data
10.3 切换到postgres 用户
# su - postgres
10.4 init db
$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/
到这里数据的初始化就完成了。
11. 系统服务
11.1 回到root 用户
$ exit
11.2 复制安装目录下的linux文件到/etc/init.d/
进入postgresql 的安装目录(即刚刚使用tar命令解压的目录)
# cd postgresql-9.2.4
# cp contrib/start-scripts/linux /etc/init.d/postgresql
11.3 添加执行权限
# chmod +x /etc/init.d/postgresql
11.4 启动数据库
11.5 让数据库开机启动
# chkconfig --add postgresql
# chkconfig postgresql on
11.6 创建数据库操作的历史记录文件
12. 测试使用
# su - postgres
$ createdb test
$ psql test
test=# create table test(id int);
源码编译安装成功。
Linux——CentOS 6.3下PostgreSQL 的安装与配置的更多相关文章
- CentOS 6.3下PostgreSQL 的安装与配置
一.简介 PostgreSQL 是一种非常复杂的对象-关系型数据库管理系统(ORDBMS),也是目前功能最强大,特性最丰富和最复杂的自由软件数据库系统.有些特性甚至连商业数据库都不具备.这个起源于伯克 ...
- CentOS 6.5 下HeartBeat的安装与配置
CentOS 6.5 下HeartBeat的安装与配置 参考网站: http://wenku.baidu.com/link?url=BvqJatdx1m12PLil-7YA1zkM0yUOEO8OnN ...
- CentOS 6.6下JDK1.7安装与配置(Linux)经典入门详解案例
最近用的linux较多,在网站找了一些关于linux环境下jdk安装的教程,过程是有的但是好多细节都没有表现出来,所以我花了点时间总结了一下,希望对大家都有帮助... CentOS下JDK1.7安装与 ...
- CentOS下PostgreSQL的安装与配置
一.CentOS下PostgreSQL的yum安装: #安装yum源,默认源存在对版本的支持不好,下载不到等等问题. yum install http://yum.postgresql.org/9.5 ...
- centos下postgresql的安装与配置[转]
本文摘自:http://blog.chinaunix.net/uid-24846094-id-78490.html 一.安装(以root身份进行) 1.检出最新的postgresql的yum配置从ht ...
- CentOS 7.5下KVM的安装与配置
由于没有物理机可用,在自己的VMware Workstation中CentOS 7.5下搭建完成. 首先查看VMware Workstation是否支持虚拟化,把红框内打钩即可. 虚拟化开启并安装Ce ...
- Linux下PostgreSQL 的安装与配置
一.简介 PostgreSQL 是一种非常复杂的对象-关系型数据库管理系统(ORDBMS),也是目前功能最强大,特性最丰富和最复杂的自由软件数据库系统.有些特性甚至连商业数据库都不具备.这个起源于伯克 ...
- CentOS 6.5下mysql的安装与配置
一.通过yum自动安装mysql yum install mysql-server my-client 二.初始化及相关配置 安装完mysql数据库以后,会发现会多出一个mysqld的服务,通过输入 ...
- centos7下postgresql数据库安装及配置
1.安装 #yum install -y postgresql-server 2.postgresql数据库初始化 #service postgresql initdb 3.启动postgresql服 ...
随机推荐
- jquery插件需要明白的那些知识点
1.jquery中$是神马?$.fn又是神马? 稍微有jquery经验的都知道在jquery中$等价于jQuery,在控制台一试便知: 我们在jquery(1.8.3)源码中也能找到下面代码: 其实在 ...
- C# T4使用
最近升级我们的框架到微服务了,而且是dotnetcore 2.0. 然后一个新的框架,最基本的Model和与数据库交互的Repository,我们都是要利用T4自动生成的. 首先这个是代码结构,在这个 ...
- 【互动问答分享】第11期决胜云计算大数据时代Spark亚太研究院公益大讲堂
Q1:docker成熟度如何? Docker是2013年和2014年最火爆的云计算开源项目: Baidu公司是中国使用Docker最为深入和最大规模的公司,线上稳定运行数十万个Docker容器,目前已 ...
- LPD Office插件使用指南
LPD Office插件已经发布至Azure上,您可以在本机Outlook和Office Online使用该插件 一:在Outlook中使用 LPD Office插件 打开Outlook应用,并点击“ ...
- Nodejs获取Azure Active Directory AccessToken
因为现有的代码已经迁入至Azure中,并且受AD保护,所以在获取数据时,需要传入Token后才可以获取到数据,那么第一步肯定是需要先提取到token var adal = require('adal- ...
- C++-二维vector初始化大小方法-备忘
来源: C++——二维vector初始化大小方法 1.直接用初始化方法 名字为vec,大小为n*m,初始值为0的二维vector. vector<vector<)); 2.用resize( ...
- (3)webApi postman使用
https://www.getpostman.com/
- []ARC098
咕咕咕 C:普及组难度的题 D:给定$a_{1\cdots n}$,求有多少$1\leq l\leq r\leq n$满足$x_l+\cdots+x_r=x_l\text^\cdots\text^x_ ...
- 【置换群】CH Round #63 - OrzCC杯#2省选热身赛 exchange
第一问置换群裸题. 第二问单独考虑某个循环,任意交换两个元素,稍微画一下就会发现,把该循环拆成了2个,剩下所需的交换次数减少了1,也就是说,第一步我们任意交换,都能够保证交换次数最少.于是一个循环的答 ...
- OC语言基础之NSDictionary
1.NSDictionary字典的创建 1: // key value 2: // key -==> value 3: NSDictionary *dict = [NSDictionary di ...