专业只做数据库实训和认证的品牌机构

微信公众号新浪微博
免费咨询电话:400-0909-964
申请试听
当前位置: 网站首页 > postgresql > 教程 > PostgreSQL安装教程 :linux系统环境下安装PostgreSQL

PostgreSQL安装教程 :linux系统环境下安装PostgreSQL

文章来源: 更新时间:2020/3/25 12:00:26

在线老师点击咨询:

最新学讯:2018年近期OCP认证正在报名中,因考试人员较多请尽快报名获取最近考试时间,报名费用请联系在线老师,甲骨文官方认证,报名从速!

我要咨询

在Linux安装PostgreSQL主要有三种:

1.二进制安装包安装

2.通过yum源安装

3.通过源码编译安装

安装前系统依赖包,以RedHat/CentOS为例:

最小依赖:gcc、gcc-c++、zlib-devel、readline-devel

其他依赖:perl-ExtUtils-Embed、pam-devel、libxml2-devel、libxslt-devel、openldap-devel、python-devel、openssl-devel、cmake

依赖包可通过配置本地yum源或网络yum源的方式快速安装

安装介质获取方式:

RedHat:https://www.postgresql.org/download/linux/redhat/

不同的安装方式适用于不同的场景,自主学习推荐使用源码安装,可以按照需求自定义安装选项,譬如安装目录,块大小等。

源码安装PG,由3个步骤组成:

1.配置(configure)

2.编译(make或 gmake)

3.安装(make install或 gmake insta

备注:configure是一个可执行的脚本文件,命令./configure --help可以输出详细的选项列表

主要选项说明:

prefix:指定安装路径

with-openssl:对openssl进行扩展支持

with-python:对python进行扩展支持

with-perl: 对perl进行扩展支持

with-libxml: 对xml进行扩展支持

安装完成PostgreSQL后,需要执行initdb(初始化)操作,才能启动服务、创建数据库及表对象等操作。

初始化主要工作是创建cluster(数据库集簇),可理解为Oracle的实例,cluster是一个包含所有数据文件、配置文件的“data”目录,一台物理服务器上可以有多个cluster,主要通过以下内容进行区分:

data路径

port端口号

源码编译安装的数据库,需要initdb命令手动初始化该data目录,常用参数如下:

-D:data目录的路径

-U:数据库超级用户名

-E:配置区域语言、字符集

源码编译安装后如何卸载?

一般的,清除安装目录,再次安装可以尝试重新指定路径(安装时指定安装目录)

在安装的时候加 prefix ,不然的话虽然用find命令可以找出一些相关文件,但是对于修改了配置,比如加入启动项之类的操作就不好根除

通常只能用find去手动清除。所以软件通常都会提供uninstall的程序来执行卸载操作。

示例:源码安装PG V10.3

1. 源码包下载 https://www.postgresql.org/ftp/source/

2. 源码目录简介

[postgres@localhost postgresql-10.3]$ ll

total 668

-rw-r--r-- 1 postgres postgres 457 Nov 7 08:46 aclocal.m4

drwxrwxr-x 2 postgres postgres 4096 Nov 7 08:49 config

-rwxr-xr-x 1 postgres postgres 495587 Nov 7 08:46 configure 源码安装的配置脚本

-rw-r--r-- 1 postgres postgres 76386 Nov 7 08:46 configure.in

drwxrwxr-x 55 postgres postgres 4096 Nov 7 08:49 contrib 已打包到PG源码中的第三方贡献的插件源码

-rw-r--r-- 1 postgres postgres 1192 Nov 7 08:46 COPYRIGHT

drwxrwxr-x 3 postgres postgres 101 Nov 7 08:49 doc 文档

-rw-r--r-- 1 postgres postgres 3638 Nov 7 08:46 GNUmakefile.in

-rw-r--r-- 1 postgres postgres 284 Nov 7 08:46 HISTORY 版本变更的历史记录

-rw-r--r-- 1 postgres postgres 71584 Nov 7 08:52 INSTALL 安装说明

-rw-r--r-- 1 postgres postgres 1529 Nov 7 08:46 Makefile

-rw-r--r-- 1 postgres postgres 1212 Nov 7 08:46 README

drwxrwxr-x 16 postgres postgres 4096 Nov 7 08:52 src 源代码

3. 配置

1./configure --prefix=/usr/local/pgl103 --with-pgport=1922 --with-openssl --with-perl --with-tcl --with-python --with-pam --without-ldap --with-libxml --with-libxslt --enable-thread-safety --with-wal-blocksize=16 --with-blocksize=8 --enable-dtrace --enable-debug

注意:

--with-blocksize

如果数据库需要经常做插入的操作,数据量增长非常快,尽量把此参数设大一点;

经常做小数据查询、更新且内存不是非常大的时候可以设小一点,默认8K即可。

生产环境不要加--enable-dtrace --enable-debug。

4. 编译

gmake world #gmake包括第三方插件全部编译

gmake check-world #这个需要使用普通用户执行,可选,耗时较长

5. 安装

1gmake install-world #包括第三方插件全部安装

注意:

如果遇到依赖的动态库缺失,需要提前安装即可

gmake world安装包含了文档,所有的contirb

6. 创建系统用户postgres及用户环境配置

配置用户环境是为了更便捷的进行服务端管理数据库实例

useradd postgres

su - postgres

vi ~/.bashrc(bash_profile)

#add

export PGPORT=1922

export PG_HOME=/usr/local/pgl103

export PATH=$PG_HOME/bin:$PATH

export PGDATA=$PG_HOME/data

export LD_LIBRARY_PATH=$PG_HOME/lib

export.utf8

source ~/.bashrc

备注:.bashrc与 .bash_profile的区别

.bash_profile是最重要的一个配置文件,它在用户每次登录系统时被读取,里面的所有命令都会被bash执行。

.bashrc文件会在bash shell调用另一个bash shell时读取,也就是在shell中再键入bash命令启动一个新shell时就会去读该文件。

这样可有效分离登录和子shell所需的环境。但一般 来说都会在.bash_profile里调用.bashrc脚本以便统一配置用户环境。

7. 初始化

1initdb -D $PGDATA -E UTF8 --locale=C -U postgres -W

注意:

加-W参数会提示输入数据库的超级用户的密码,默认情况下密码为空。

8. 启动数据库前修改配置文件,主要是允许客户端的连接,服务器端访问测试可以不用配置。

pg_hba.conf用于配置控制访问数据库的来源

postgresql.conf是数据库的主配置文件,最好也调整一下Linux内核参数

pg_hba.conf配置示例

# TYPE DATABASE USER ADDRESS METHOD

local all all trust # 服务端本地用户可信登录

host replication replica 0.0.0.0/0 md5 # 流复制用户密码验证登录

host all postgres 0.0.0.0/0 reject # 拒绝超级用户从网络登录

host all all 0.0.0.0/0 md5 # 其它用户密码验证登陆(不安全)

postgresql.conf客户端连接配置示例,其它参数暂且不管

listen_addresses = '*'

max_connections = 100

9.源码安装基本完成,可以使用pg_ctl 命令尝试控制集群服务了,pg cluster服务启停方式请参见相关文章说明,暂且到此。

本文地址:http://www.cuug.com.cn/postgresql/jiaocheng/24135842916.html 转载请注明!


在线预约 抢先报名 获取课程排期

Oracle培训机构

金牌讲师<>

冉乃纲-老师CUUG金牌讲师
冉老师 CUUG金牌讲师 Oracle及RedHat高级讲师、Unix/Linux 资深专家...[详细了解老师]

免费咨询上课流程 客服在线中

陈卫星-老师CUUG金牌讲师
陈老师 CUUG金牌讲师 精通Oracle管理、备份恢复、性能优化 11年Ora...[详细了解老师]

免费咨询上课流程 客服在线中

选学校如何选择适合自己的学校

CUUG -CHINA UNIX USER GROUP,是国际UNIX组织UNIFORUM的中国代表,是国内悠久的专业UNIX培训机构,被誉为中国UNIX 的摇篮。多年来,以提高教学质量为本,强调素质教育,积极引进、消化国外的新技术,有效的结合中国....[详情]

一站式服务(从入学到就业一帮到底)

入学

学习

就业

实操

食宿
海淀校区:北京市海淀区紫竹园路88号紫竹花园D座703(CUUG)
全国免费咨询电话:400-0909-964
电话:010-59426307 010-59426319 邮政编码:100089
部分信息来源于网络,如有错误请联系指正!
官方订阅号
官方服务号
版权所有@北京神脑资讯技术有限公司 (CUUG,中国UNIX用户协会) Copyright 2016 ALL Rights Reserved 京ICP备11008061号-1