PostgreSQL 安装部署

文章目录

    • 一、PostgreSQL部署方式
      • 1.Yum方式部署
      • 2.RPM方式部署
      • 3.源码方式部署
      • 4.二进制方式部署
      • 5.Docker方式部署
    • 二、PostgreSQL部署
      • 1.Yum方式部署
        • 1.1.部署数据库
        • 1.2.连接数据库
      • 2.RPM方式部署
        • 2.1.部署数据库
        • 2.2.连接数据库
      • 3.源码方式部署
        • 3.1.准备工作
        • 3.2.编译安装
        • 3.3.配置数据库
        • 3.4.连接数据库
      • 4.二进制方式部署
        • 4.1.准备工作
        • 4.2.配置数据库
        • 4.3.连接数据库
      • 5.Docker方式部署
        • 5.1.部署数据库

  • 开源中间件
# PostgreSQLhttps://iothub.org.cn/docs/middleware/
https://iothub.org.cn/docs/middleware/postgresql/postgres-deploy/

一、PostgreSQL部署方式

1.Yum方式部署

# 下载安装包,本文以二进制包方式安装# 下载地址:
https://www.postgresql.org/download/# CentOS安装参考
https://www.postgresql.org/download/linux/redhat/

在这里插入图片描述
在这里插入图片描述

sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpmsudo yum install -y postgresql11-serversudo /usr/pgsql-11/bin/postgresql-11-setup initdbsudo systemctl enable postgresql-11sudo systemctl start postgresql-11

2.RPM方式部署

# 下载地址: 
https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/#或者直接执行wget下载
wget https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7.2-x86_64/postgresql11-11.4-1PGDG.rhel7.x86_64.rpmwget https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7.2-x86_64/postgresql11-libs-11.4-1PGDG.rhel7.x86_64.rpmwget https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7.2-x86_64/postgresql11-server-11.4-1PGDG.rhel7.x86_64.rpm

3.源码方式部署

# 获取官方源码包
准备装11.7版本,选择其他版本进入下面的第一个地址后退选择目的版本即可# 安装官方教学
https://www.postgresql.org/docs/11/install-getsource.html# 源码包
https://www.postgresql.org/ftp/source/# 11.7:连接可能随着官方的更新而失效
https://ftp.postgresql.org/pub/source/v11.7/postgresql-11.7.tar.gzhttps://www.postgresql.org/ftp/source/ 
https://www.postgresql.org/docs/11/install-getsource.html 
https://www.postgresql.org/download/ 

4.二进制方式部署

# 下载二进制包
pgsql有很多类型的包,对于不同linux发行版都有对应的编译好的包,安装很方便,另外如果对于通用的linux平台可以编译源码安装或者安装官方编译好的二进制包,源码包的安装仅仅比二进制安装多出一个编译步骤,其余的都一样,所以这里使用安装方式是安装编译好的二进制包# pgsql官网地址
https://www.postgresql.org/
进入后点击download就来到下载页,这里点击Linux下面的Other Linux选项,然后点击下方的tar.gz archive下载二进制归档

在这里插入图片描述

然后就来到最终的pgsql下载页了,地址为:
https://www.enterprisedb.com/download-postgresql-binarieshttps://www.postgresql.org/
https://www.postgresql.org/download/
https://www.enterprisedb.com/download-postgresql-binaries 注意:官网没有11以后的linux版本

5.Docker方式部署

https://hub.docker.com/_/postgres$ docker run -d \--name some-postgres \-e POSTGRES_PASSWORD=mysecretpassword \-e PGDATA=/var/lib/postgresql/data/pgdata \-v /custom/mount:/var/lib/postgresql/data \postgres

二、PostgreSQL部署

1.Yum方式部署

1.1.部署数据库
1.安装yum源
# yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm2.安装postgresql
# yum install -y postgresql11-server3.数据库初始化
# /usr/pgsql-11/bin/postgresql-11-setup initdb4.修改配置文件
# cd /var/lib/pgsql/11/data/

在这里插入图片描述

# 修改配置文件
vim /var/lib/pgsql/11/data/postgresql.conf# 修改为如下:
listen_addresses = '*'
port = 5432 

在这里插入图片描述

# 修改配置文件
vim /var/lib/pgsql/11/data/pg_hba.conf# 修改为如下:
host    all             all             0.0.0.0/0               md5# 或
host    all             all             all                          md5

在这里插入图片描述

# 说明:
TYPE:pg的连接方式,local:本地unix套接字,host:tcp/ip连接
DATABASE:指定数据库
USER:指定数据库用户
ADDRESS:ip地址,可以定义某台主机或某个网段,32代表检查整个ip地址,相当于固定的ip,24代表只检查前三位,最后一位是0~255之间的任何一个
METHOD:认证方式,常用的有ident,md5,password,trust,reject。md5是常用的密码认证方式。password是以明文密码传送给数据库,建议不要在生产环境中使用。trust是只要知道数据库用户名就能登录,建议不要在生产环境中使用。reject是拒绝认证。5.postgresql 安装目录授权 
# chown postgres:root -R /usr/pgsql-11/ 6.启动服务 
# systemctl start postgresql-11 # 服务自启动
# systemctl enable postgresql-11#查看端口
# netstat -lntp
# netstat -nat

在这里插入图片描述

1.2.连接数据库
1.切换用户,设置数据库密码 # su - postgres
$ psql -U postgres
# ALTER USER postgres with encrypted password 'postgres';

在这里插入图片描述

退出: \q
列出所有库 \l
列出所有用户 \du
列出库下所有表\d

在这里插入图片描述

2.RPM方式部署

2.1.部署数据库
1.下载RPM包
下载地址: https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/#或者直接执行wget下载 
wget https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7.2-x86_64/postgresql11-11.4-1PGDG.rhel7.x86_64.rpmwget https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7.2-x86_64/postgresql11-libs-11.4-1PGDG.rhel7.x86_64.rpmwget https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7.2-x86_64/postgresql11-server-11.4-1PGDG.rhel7.x86_64.rpm2.安装
先安装相应依赖
# yum install -y libicu systemd-sysv 安装rpm包,需要按照这个顺序安装,卸载就反序卸载
# rpm -ivh postgresql11-libs-11.4-1PGDG.rhel7.x86_64.rpm
# rpm -ivh postgresql11-11.4-1PGDG.rhel7.x86_64.rpm
# rpm -ivh postgresql11-server-11.4-1PGDG.rhel7.x86_64.rpm卸载
rpm -e postgresql11-server-11.4-1PGDG.rhel7.x86_64
rpm -e postgresql11-11.4-1PGDG.rhel7.x86_64
rpm -e postgresql11-libs-11.4-1PGDG.rhel7.x86_64
rm -rf /usr/pgsql-11/
rm -rf /var/lib/pgsql/ 3.数据库初始化
# /usr/pgsql-11/bin/postgresql-11-setup initdb 4.修改配置文件
# cd /var/lib/pgsql/11/data/

在这里插入图片描述

# 修改配置文件
vim /var/lib/pgsql/11/data/postgresql.conf# 修改为如下:
listen_addresses = '*'
port = 5432 

在这里插入图片描述

# 修改配置文件
vim /var/lib/pgsql/11/data/pg_hba.conf# 修改为如下:
host    all             all             0.0.0.0/0               md5# 或
host    all             all             all                          md5

在这里插入图片描述

# 说明:
TYPE:pg的连接方式,local:本地unix套接字,host:tcp/ip连接
DATABASE:指定数据库
USER:指定数据库用户
ADDRESS:ip地址,可以定义某台主机或某个网段,32代表检查整个ip地址,相当于固定的ip,24代表只检查前三位,最后一位是0~255之间的任何一个
METHOD:认证方式,常用的有ident,md5,password,trust,reject。md5是常用的密码认证方式。password是以明文密码传送给数据库,建议不要在生产环境中使用。trust是只要知道数据库用户名就能登录,建议不要在生产环境中使用。reject是拒绝认证。5.postgresql 安装目录授权  
# chown postgres:root -R /usr/pgsql-11/ 6.启动服务 
# systemctl start postgresql-11 服务自启动
# systemctl enable postgresql-11查看端口
# netstat -lntp
# netstat -nat

在这里插入图片描述

2.2.连接数据库
1.切换用户,设置数据库密码 # su - postgres
$ psql -U postgres
# ALTER USER postgres with encrypted password 'postgres';

在这里插入图片描述

退出: \q
列出所有库 \l
列出所有用户 \du
列出库下所有表\d

在这里插入图片描述

3.源码方式部署

3.1.准备工作
1.1.安装gcc编辑器
# gcc --version 1.2.安装make
# make --version1.3.安装readline
# yum install readline
# yum -y install -y readline-devel1.4.安装zlib-devel
# yum install zlib
# yum install zlib-devel1.5.下载postgresql源码
postgresql的官方网站下载:
https://www.postgresql.org/
3.2.编译安装
2.1.解压下载的压缩包
# cd /root
# tar -xzvf postgresql-11.0.tar.gz创建postgresql的安装目录
# mkdir -p /home/app/postgresql/data 2.2.生成makefile
# cd postgresql-11.0
# ./configure --prefix=/home/app/postgresql2.3.编译安装
# make && make install2.4.安装工具集
# cd /home/software/postgresql-11.0/contrib
# make && make install
3.3.配置数据库
3.1.创建postgres用户:
# groupadd postgres
# useradd -g postgres postgres3.2.修改data目录的用户为postgres
chown -R postgres:postgres /home/app/postgresql/data3.3.修改环境变量
# su postgres
$ vim /home/postgres/.bash_profile添加环境变量:export PGHOME=/home/app/postgresqlexport PGDATA=/home/app/postgresql/dataexport PATH=$PGHOME/bin:$PATHexport MANPATH=$PGHOME/share/man:$MANPATHexport LANG=en_US.utf8export DATE=`date +"%Y-%m-%d %H:%M:%S"`export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATHalias rm='rm  -i'alias ll='ls -lh'
然后使环境变量立即生效,否则initdb命令会找不到:$ source /home/postgres/.bash_profile3.4.初始化数据库
$ initdb -D /home/app/postgresql/data/
Success. You can now start the database server using:pg_ctl -D /home/app/postgresql/data/ -l logfile start3.5.修改配置文件
# cd /home/app/postgresql/data/

在这里插入图片描述

修改配置文件
vim /home/app/postgresql/data/postgresql.conf# 修改为如下:
listen_addresses = '*'
port = 5432 

在这里插入图片描述

# 修改配置文件
vim /home/app/postgresql/data/pg_hba.conf# 修改为如下:
host    all             all             0.0.0.0/0               md5# 或
host    all             all             all                          md5

在这里插入图片描述

3.6.启动数据库
$ su postgres
$ cd /home/postgres
$ pg_ctl -D /home/app/postgresql/data/ -l logfile startcd /home/postgres  //logfile需要在postgres的用户目录下创建pg_ctl -D /home/app/postgresql/data/ -l logfile start查看端口
# netstat -lntp
# netstat -nat

在这里插入图片描述

3.7.添加postgresql至服务(未验证)cd /home/software/postgresql-11.4/contrib/start-scriptschmod a+x linux.cp linux /etc/init.d/postgresql
此时就可以使用 /etc/init.d/postgresql stop 来停止postgresql
也可以使用:service postgresql start 来启动postgresql
修改postgresql脚本中prefix和PGDATA的内容
chkconfig --add postgresql //设置服务开机启动
3.4.连接数据库

参考 1.2.连接数据库

4.二进制方式部署

4.1.准备工作
1.下载软件
# wget https://get.enterprisedb.com/postgresql/postgresql-10.12-1-linux-x64-binaries.tar.gz2.创建postgres用户
# groupadd postgres
# useradd -g postgres postgres3.创建postgresql的安装目录
# mkdir -p /home/app进入下载目录解压
# tar -xzvf postgresql-10.12-1-linux-x64-binaries.tar.gz -C /home/app创建data目录:
# mkdir -p /home/app/pgsql/data
# mkdir -p /home/app/pgsql/log授权:
# cd /home/app/pgsql
# chown -R postgres.postgres pgsql
4.2.配置数据库
1.初始化数据库
切换用户 postgres,并执行初始化操作
# su postgres# cd /home/app/pgsql/bin$ ./initdb -E utf8 -D /home/app/pgsql/data
Success. You can now start the database server using:./pg_ctl -D /home/app/pgsql/data -l logfile start2.配置环境变量
~/.bash_profile 添加如下内容
注:这个文件目录是在当前用户(postgres)的根目录下,即/home/{User}/[postgres@iZ2ze72jggg737pb9vp1g6Z data]$ vim ~/.bash_profilePATH=/home/app/pgsql/bin:$PATH
export PATH配置文件生效
$ source ~/.bash_profile修改后的配置文件
# .bash_profile# Get the aliases and functions
if [ -f ~/.bashrc ]; then. ~/.bashrc
fi# User specific environment and startup programsPATH=$PATH:$HOME/.local/bin:$HOME/binPATH=/home/app/pgsql/bin:$PATHexport PATH3.修改配置文件
# cd /home/app/postgresql/data/

在这里插入图片描述

# 修改配置文件
vim /home/app/postgresql/data/postgresql.conf# 修改为如下:
listen_addresses = '*'
port = 5432 

在这里插入图片描述

修改配置文件
vim /home/app/postgresql/data/pg_hba.conf# 修改为如下:
host    all             all             0.0.0.0/0               md5或
host    all             all             all                          md5

在这里插入图片描述

4.启动数据库
$ cd /home/app/pgsql/bin
$ ./pg_ctl -D /home/app/pgsql/data -l logfile start查看端口
# netstat -lntp
# netstat -nat
4.3.连接数据库

参考 1.2.连接数据库

5.Docker方式部署

5.1.部署数据库
1.创建目录
# mkdir -p /data/psql2.运行容器
docker run -d --network host --name pg12 --restart=always \
-e LANG="C.UTF-8" \
-e 'TZ=Asia/Shanghai' \
-e "POSTGRES_DB=postgres" \
-e "POSTGRES_USER=postgres" \
-e "POSTGRES_PASSWORD=postgres" \
-v /data/psql:/var/lib/postgresql/data \
postgres:123.进入容器
# docker exec -it pg12 /bin/sh切换用户
# su - postgres
$ psql 
# \l
  • 开源中间件
# PostgreSQLhttps://iothub.org.cn/docs/middleware/
https://iothub.org.cn/docs/middleware/postgresql/postgres-deploy/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/526842.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

缓存雪崩,穿透,击穿

为什么要设置缓存: 有海量并发的业务场景需要,大量的请求涌入关系型数据库,基于磁盘的IO读取效率低下,常用的mysql数据库不易进行扩展维护,容易造成数据库崩溃,从而相关业务崩溃,系统崩溃。 因此…

【AI视野·今日NLP 自然语言处理论文速览 第八十二期】Tue, 5 Mar 2024

AI视野今日CS.NLP 自然语言处理论文速览 Tue, 5 Mar 2024 (showing first 100 of 175 entries) Totally 100 papers 👉上期速览✈更多精彩请移步主页 Daily Computation and Language Papers Key-Point-Driven Data Synthesis with its Enhancement on Mathematica…

【项目笔记】java微服务:黑马头条(day01)

文章目录 环境搭建、SpringCloud微服务(注册发现、服务调用、网关)1)课程对比2)项目概述2.1)能让你收获什么2.2)项目课程大纲2.3)项目概述2.4)项目术语2.5)业务说明 3)技术栈4)nacos环境搭建4.1)虚拟机镜像准备4.2)nacos安装 5)初始工程搭建5.1)环境准备5.2)主体结构 6)登录6.1…

狂雨CMS-采集规则(novelfull.com)

1. 填写采集规则的基本信息 首先点击采集管理中的添加按钮来新建规则: 然后进入到信息页面填写,包括: 规则名称:一般以要采集的源站名命名。 网站编码:默认自动检测即可。 类型:根据网站类型来选择&#x…

设计模式学习系列 -- 随记

文章目录 前言 一、设计模式是什么? 二、设计模式的历史 三、为什么以及如何学习设计模式? 四、关于模式的争议 一种针对不完善编程语言的蹩脚解决方案 低效的解决方案 不当使用 五、设计模式分类 总结 前言 最近可能工作生活上的稳定慢慢感觉自己丢失…

Smart PLC模拟量采集和低通滤波器组合应用

SMART PLC模拟量采集功能块"S_ITR"算法公式和详细代码请参考下面文章: 1、模拟量采集功能块"S_ITR" https://rxxw-control.blog.csdn.net/article/details/121347697https://rxxw-control.blog.csdn.net/article/details/1213476972、线性转换…

Java反射、枚举类和lambda表达式

前言: 本章我们就来了解Java中的反射和枚举类。枚举类和反射其实有些关系,接下来我们就来学习他们的使用。 反射: 反射的作用: 反射:反射允许对成员变量,成员方法和构造方法的信息进行编程访问。 Java中有…

全栈的自我修养 ———— vue中子组件使用父组件的方法

子组件取得父组件的方法 一、通过props(比较推荐)二、通过$emit (小编很推荐)3、provide/inject (不建议)4、 $parent (不建议) 一、通过props(比较推荐) 在父组件页面给子组件绑定方法,左边是子组件接收的方法名,内容…

Insert or Erase

https://atcoder.jp/contests/abc344/tasks/abc344_e 给一个不含重复数字的数组&#xff0c;两个询问。 1 x y&#xff1a;在x后面插入一个数y 2 x&#xff1a;删除x #include<iostream> #include<map> using namespace std; map<int,int> l,r; void ins…

【C++初阶】初识模版

目录 前言 一.函数模板 1.泛型编程 2.函数模板 (1)概念 (2)函数模板格式 (3)模板的原理 (4)模板的实例化 ① 隐式实例化&#xff1a;让编译器根据实参推演模板参数的实际类型 ②显式实例化&#xff1a;在函数名后的<>中指定模板参数的实际类型 (5)模板…

MySQL中的JOIN操作

在MySQL中&#xff0c;JOIN操作是数据库查询中非常重要的一部分&#xff0c;它允许我们根据两个或多个表之间的相关列之间的关系&#xff0c;从这些表中检索数据。其中&#xff0c;最常用的三种JOIN类型是Left Join&#xff08;左连接&#xff09;、Right Join&#xff08;右连…

w7安装高版本nodejs

Win7系统可直接安装的最高nodejs版本为13.14&#xff0c;以为要换系统了&#xff0c;不过&#xff0c;网上找到了方法可以安装高版本 我是配置好环境变量后开始操作的&#xff08;因为之前试了其他方法&#xff0c;没成功&#xff0c;环境变量就留下了&#xff09; 新建变量NO…