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.mzph.cn/news/736959.shtml

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

相关文章

手机app制作商用系统软件开发

手机端的用户占比已经超过了电脑端的用户量,企业想要发展手机端的业务就必须拥有自己的app软件,我们公司就是专门为企业开发手机软件的公司,依据我们多年的开发经验为大家提供在开发app软件的时候怎么选择开发软件的公司。 手机app制…

【竞技宝】LOL:knight阿狸伤害爆炸 BLG2-0轻取RA

北京时间2024年3月11日,英雄联盟LPL2024春季常规赛继续进行,昨日共进行三场比赛,首场比赛由BLG对阵RA。本场比赛BLG选手个人实力碾压RA2-0轻松击败对手。以下是本场比赛的详细战报。 第一局: BLG:剑魔、千珏、妮蔻、卡牌、洛 RA:乌迪尔、蔚、阿卡丽、斯莫德、芮尔 首局比赛,B…

QMS质量管理系统在离散型制造业的应用及效益

在离散型制造行业中,质量管理是确保产品满足客户期望和市场需求的关键环节。QMS质量管理系统的实施为企业提供了一种全面、系统的方法来管理和改进质量。 例如,在汽车制造行业,QMS质量管理系统可以应用于零部件采购和装配过程的质量控制。通过…

PCBA方案设计充气泵设计

随着科技的不断进步,充气泵在户外活动、露营和旅行中变得越来越常见。而充气泵的性能和稳定性主要依赖于其控制系统,其中芯片的设计和开发是充气泵方案的关键。SIC8833芯片是一款专门为充气泵设计的芯片,接下来我们来讲下充气泵方案芯片SIC88…

计网Lesson19 - 应用层之WWW

文章目录 1. 应用层概念1.1 应用层协议的定义 2. 应用层体系结构2.1 客户/服务器模式2.2 P2P模式(点对点方式) 3. 万维网3.1 概述3.2 统一资源定位符3.3 万维文档HTMLCSSJavaScript 1. 应用层概念 应用层是计算机网络体系结构的最顶层,是设计…

USACO 2023 December, SilverProblem 1. Bovine Acrobatics题解

有n件物品,m组叠罗汉,相邻罗汉差值至少为k。 第i件物品的重量和数量 由于m最大范围为1e9,开辟m组罗汉槽存储罗汉值,内存空间不够。 分析样例: 3 5 2 9 4 7 65 5 一开始我想的是层数,但是一层中存在数据…

初学Vue——Vue路由

0 什么是Vue路由 类似于Html中的超链接(<a>)一样&#xff0c;可以跳转页面的一种方式。 前端路由&#xff1a;URL中hash(#号之后的内容)与组件之间的对应关系&#xff0c;如下图&#xff1a; 当我们点击左侧导航栏时&#xff0c;浏览器的地址栏会发生变化&#xff0c;路…

【Prometheus】k8s集群部署node-exporter

​ 目录 一、概述 1.1 prometheus简介 1.2 prometheus架构图 1.3 Exporter介绍 1.4 监控指标 1.5 参数定义 1.6 默认启用的参数 1.7 prometheus如何收集k8s/服务的–三种方式收集 二、安装node-exporter组件 【Prometheus】概念和工作原理介绍-CSDN博客 【云原生】ku…

借助 Terraform 功能协调部署 CI/CD 流水线-Part2

在第一部分的文章中&#xff0c;我们介绍了3个步骤&#xff0c;完成了教程的基础配置&#xff1a; 使用 Terraform 创建 AWS EKS Infra在 EKS 集群上部署 ArgoCD 及其依赖项设置 Bitbucket Pipeline并部署到 ECR Repo 本文将继续完成剩余的步骤&#xff0c;以实现 Terraform 编…

windows下pytorch的dataloader多进程(num_workers)问题,为何num_workers的值只能为0?

问题背景介绍 本人是windows系统&#xff0c;在使用torch.utils.data.Dataloader加载torchvision中的数据集时&#xff0c;将其中的形参num_workers设置为了大于0的数&#xff0c;然后出现以下错误。 原因 在 Windows 系统下&#xff0c;num_workers 参数在使用 PyTorch 的 t…

做58代运营到底有没有效果?

58同城代运营有没有效果&#xff0c;其实还是取决于你的产品、预算和想要达到的效果。比如&#xff0c;你是希望通过代运营做出品牌效应&#xff0c;还是希望提升销量&#xff1f;代运营能够带来的效果&#xff0c;主要是咨询和品牌推广&#xff0c;这两个都可以量化&#xff0…

解决Iterm2升级后遇到“Stashed changes“的问题

&#xff1c;&#xff1c;&#xff1c;&#xff1c;&#xff1c;&#xff1c;&#xff1c; Updated upstream ...... &#xff1e;&#xff1e;&#xff1e;&#xff1e;&#xff1e;&#xff1e;&#xff1e; Stashed changes冲突标记符的代码如题&#xff0c;最近有升级Item2…

终于搞懂lSTM的原理了

LSTM简介 一个目前很火的特殊的RNN结构&#xff0c; 有效解决了RNN的梯度爆炸和长序列记忆问题 优势 LSTM 通过引入遗忘门、输入门、输出门&#xff0c; 来实现对特殊特征的记忆和遗忘&#xff0c;来达到更好的对序列数据的处理和记忆效果。 原理图&#xff1a; 总结公式…

校园小情书微信小程序源码 | 社区小程序前后端开源 | 校园表白墙交友小程序

项目描述&#xff1a; 校园小情书微信小程序源码 | 社区小程序前后端开源 | 校园表白墙交友小程序 功能介绍&#xff1a; 表白墙 卖舍友 步数旅行 步数排行榜 情侣脸 漫画脸 个人主页 私信 站内消息 今日话题 评论点赞收藏 服务器环境要求&#xff1a;PHP7.0 MySQL5.7 效果…

Java设计模式-策略模式

策略模式1 概述2 结构3 案例实现4 优缺点5 使用场景6 JDK源码解析 策略模式 1 概述 先看下面的图片&#xff0c;我们去旅游选择出行模式有很多种&#xff0c;可以骑自行车、可以坐汽车、可以坐火车、可以坐飞机。 作为一个程序猿&#xff0c;开发需要选择一款开发工具&#x…

CircuitBreaker断路器(服务熔断,服务降级)

分布式系统面临的问题: 复杂分布式体系结构中的应用程序有数十个依赖关系&#xff0c;每个依赖关系在某些时候将不可避免地失败。 1.服务雪崩 多个微服务之间调用的时候&#xff0c;假设微服务A调用微服务B和微服务C&#xff0c;微服务B和微服务C又调用其它的微服务&#xff…

PyCharm无代码提示解决

PyCharm无代码提示解决方法 在使用PyCharm工具时&#xff0c;调用方法却无法进行提示&#xff0c;针对PyCharm无代码提示整理下解决方案 1、Python内置语法无智能提示 复现&#xff1a;我这里以urllib库读取网页内容为例&#xff0c;在通过urlopen(&#xff09;之后调用getur…

Tomcat Web 开发项目构建教程

1下载Tomcat安装包&#xff0c;下载链接&#xff1a;Apache Tomcat - Welcome!&#xff0c;我电脑环境为JDK8,所以下载Tomcat9.0 2、下载完压缩包后&#xff0c;解压到指定位置 3.在intelij中新建一个项目 4.选中创建的项目&#xff0c;双击shift&#xff0c;输入add frame...然…

C语言实现贪吃蛇

前言&#xff1a;今天给大家详细介绍一下小游戏贪吃蛇的代码。 目录 一 .贪吃蛇实现的功能 二.贪吃蛇游戏设计与分析 1.贪吃蛇以及贪吃蛇所需要维护的数据 &#xff08;1&#xff09;贪吃蛇蛇体 &#xff08;2&#xff09;数据维护 2.地图设计 &#xff08;1&#x…

three.js 按键W前进、S退后、A左转、D右转运动

效果&#xff1a;W 键 前进&#xff1b;S 键后退&#xff1b;A 键左转&#xff1b;D 键右转&#xff1b;使用了 tween.js 动画库&#xff1b; 代码&#xff1a; <template><div><el-container><el-main><div class"box-card-left">&…