PostgreSQL编译安装

一、PostgreSQL简介

PostgreSQL是目前功能最强大的开源数据库,支持丰富的数据类型和自定义类型,且它提供了丰富的接口,可以轻易的扩展它的功能。

与其他数据库相比,PostgreSQL有以下优势:

●PostgreSQL是目前功能最强大的开源数据库

●稳定可靠:PostgreSQL是唯一能做到数据零丢失的开源数据库

●支持广泛:PostgreSQL支持大量的主流开发语言,包括C、C++、Perl、Python、Java、PHP等

●社区活跃:基本上每三个月会推出一个新的补丁版本,这意味着已知BUG很快会被修复

PostgreSQL数据库与MySQL数据库对比,有以下优势:

●功能强大:支持所有主流的多表连接查询的方式(如:Nest loop、hash join等);有丰富的内置函数,并支持大量字段类型

●支持同步复制:从PostgreSQL9.1开始,支持同步复制功能,,通过master和slave之间的复制可以实现零数据丢失的高可用方案

二、PostgreSQL安装与配置

本次安装采用源码编译安装,仅作为学习工作使用,默认选项即可,读者可以自行选择安装的选项。

1、安装前的准备

●源码包

postgresql-9.6.1.tar.gz,可通过如下命令下载

wget https://ftp.postgresql.org/pub/source/v9.6.1/postgresql-9.6.1.tar.gz

●创建postgres用户

PostgreSQL不能以root身份运行,而且其默认运行用户为postgres

[[email protected] ~]# useradd postgres
[[email protected] ~]# passwd postgres

●创建安装目录及数据目录

[[email protected] ~]# mkdir -p /usr/local/pgsql/data

2、开始安装配置

●解压并进行安装

解压源码包,并进入解压目录,执行配置安装命令

[[email protected] ~]# tar -xzf postgresql-9.6.1.tar.gz
[[email protected] ~]# cd postgresql-9.6.1
[[email protected] postgresql-9.6.1]# ./configure --prefix=/usr/local/pgsql
[[email protected] postgresql-9.6.1]# make && make install

如果没什么error的话,我们就可以进行配置

●相关配置

1)添加环境变量

方便起见,我们在/etc/init.d/目录下新建一个名为pgsql.sh的文件,内容如下,并使该文件立即生效

[[email protected] ~]# more /etc/profile.d/pgsql.sh
export PATH=$PATH:/usr/local/pgsql/bin
[[email protected] ~]# source /etc/profile.d/pgsql.sh

2)将数据目录及安装目录属主、属组改为postgres

[[email protected] ~]# chown ‐R postgres.postgres /usr/local/pgsql

3)初始化数据库

切换为postgres用户,初始化postgresql数据库,此时会在/usr/local/pgsql/data目录下生成相应的数据库配置文件

[[email protected] ~]# su ‐ postgres
[[email protected] ~]$ initdb ‐D /usr/local/pgsql/data
# 需要注意的是:这里的/usr/local/pgsql/data目录必须为空
# 现在可以执行如下命令启动postgresql数据库服务
[[email protected] ~]$ pg_ctl ‐D /usr/local/pgsql/data ‐l logfile start

4)修改配置文件

现在我们的数据库只能用于本地用户访问,我们需要修改配置文件来使远程机器也可以访问

[[email protected] ~]$ cd /usr/local/pgsql/data
[[email protected] data]$ vi  postgresql.conf
# 在#listen_addresses = ‘localhost‘处添加监听地址为所有(*),即添加listen_addresses = ‘*‘

[[email protected] data]$ vi pg_hba.conf
#  将host的IP地址改为所需要访问的IP网段地址,认证方式改为md

修改后截图如下:

5)复制服务启动脚本到/etc/init.d/目录下,添加pgsqld服务

切换为root用户,复制解压目录下contrib/startscripts/linux到/etc/init.d/pgsqld,并进行简单修改,赋予执行权限

[[email protected] postgresql-9.6.1]# cp contrib/start‐scripts/linux /etc/init.d/pgsqld
[[email protected] postgresql-9.6.1]# vi /etc/init.d/pgsqld
## 查看该选项是否与自己设定的数据目录相对应,若不对应,则修改
## 该选项默认目录为
PGDATA="/usr/local/pgsql/data"

# 添加执行权限,并添加服务到开机启动
# chmod +x /etc/init.d/pgsqld
重新启动服务
# service pgsqld restart
# 添加到开机启动
# chkconfig --add pgsqld
# chkconfig pgsqld on

到此,PostgreSQL安装配置完成,我们可以切换到postgres用户,执行psql命令进入postgres交互模式,进行相关数据库操作。

时间: 2024-08-28 21:35:16

PostgreSQL编译安装的相关文章

postgresql编译安装与调试(二)

接前文postgresql编译安装与调试(一),继续说说postgresql的编译安装与调试. 上一篇已经详细说明了如何在Linux系统上编译安装postgresql,这次我们在此基础上简单讲讲如何在linux系统上调试和追踪代码. 我记得之前看过一篇关于posgresql的文章,postgresql最早只有20万左右的代码量,而如今已经过100万行了,如此巨大的代码量,在没有纲领的前提下简直是盲人摸象. 为方便调试工作,在进入具体的调试之前,我们先来好好了解下postgresql的代码体系结构

ubuntu基于apache+postgresql编译安装zabbix

一.安装环境 ubuntu 14.04LTS Postgresql-9.4.3 zabbix-2.4.5 httpd-2.4.12 php-5.6.10 二.选择原因 选择postgresql数据库的原因,除了是因为 zabbix 的数据业务相对复杂,比使用 mysql 更加优势,而且mysql的数据表容易坏,时常需要修复.现在虽然nginx比较流行,但对于高稳定,且不需要高并发的应用,推荐还是用apache,且使用 prefork 模式. 三.安装准备 创建zbx系统用户用于管理与zabbix

postgresql编译安装及配置

1.建立postgres用户 [[email protected] source]# adduser postgres 2.下载postgresql源码 [[email protected] source]# pwd /home/postgres/source [[email protected] source]# wget https://ftp.postgresql.org/pub/source/v9.6.1/postgresql-9.6.1.tar.gz 3.编译安装postgresql:

ubuntu编译安装postgresql及主从配置

操作系统版本    Ubuntu 14.04 数据库软件版本     postgresql-9.4.7.tar.gz 安装方式    编译安装 软件安装目录    /usr/local/pgsql 数据存放目录    /service/postgresql/data 日志存放目录    /service/postgresql/archive 1.安装依赖包 sudo apt-get update sudo apt-get install  libreadline6-dev sudo apt-ge

Mac OSX下编译安装PostgreSQL

原先使用的是官方提供的安装包,但是安装包会创建postgre这个用户,在登陆界面看的有点不爽,搜索了半天竟然没有找到如何在osx下编译安装的教程,而且如果是按照官方文档的编译安装办法一定会让你崩溃,本着源码安装都类似的想法,根据以往在Linux下的经验竟然一把通过了,注意要安装COMMANDER LINE DEVELOPERS就是了. ./configure make sudo mkdir /u01 sudo mkdir -p /u01/pgdata sudo chown -R gtlions:

ubuntu编译安装postgresql

闲着没事用源码编译安装了postgresql,遇到了不少故障,记录一下. 1:用./configure配置时发生错误.看信息说是缺少相关包.有什么readline,zlip等. 我配置的很简单,只是配置路径:./configure --prefix=/home/zhangsan/postgresql 根据错误信息,它少什么包我就安什么包.通过新立得软件安装.   不知对不对,最后配置没出错,也编译成功了. 2:要创建个linux用户:postgres  和数据库的默认用户对应. shell>ad

ubuntu14.04 LTS 源码编译安装postgreSQL

一.环境 ubuntu14.04 postgresql-9.4.3 二.安装 1.依赖包安装 sudo apt-get install libperl-dev python-dev libreadline-gplv2-dev zlib1g-dev 2.下载postgreSQL,编译安装 wger https://ftp.postgresql.org/pub/source/v9.4.3/postgresql-9.4.3.tar.bz2 tar -jxvf postgresql-9.4.3.tar.

在CentOS上编译安装PostgreSQL

http://my.oschina.net/tashi/blog 第一步:准备阶段 获取必需软件包: CentOS中查看是否安装了某个软件的命令:rpm -qa | grep 软件名.which命令可查看某个软件的安装路径.使用 yum install 包名 来安装软件包. 1.GNU make的版本3.80以上[[email protected] ~]# rpm -qa | grep makemake-3.81-20.el6.x86_64 [[email protected] ~]# make

CentOS 7 源码编译安装PostgreSQL 9.5

下载 在postgresql的官方即可找到源码文件目录,地址如下:https://www.postgresql.org/ftp/source/,在下载列表中根据需求选择版本,进入子目录后,可以看到文件列表: 如上图,可以看到提供了两种压缩格式,此处我们选择postgresql-9.5.5.tar.gz,下载完成后上传至CentOS服务器的指定目录即可. 配置编译安装 首先进入pg压缩包目录通过tar -zxvf ./postgresql-9.5.5.tar.gz进行解压,然后就可以开始编译安装了