PG实践|PostgreSQL的安装和配置

在这里插入图片描述

📫 作者简介:「六月暴雪飞梨花」,专注于研究Java,就职于科技型公司后端工程师
🏆 近期荣誉:华为云云享专家、阿里云专家博主、腾讯云优秀创作者、ACDU成员
🔥 三连支持:欢迎 ❤️关注、👍点赞、👉收藏三连,支持一下博主~

目录

  • 前言
  • 官方提供的安装包
  • 如何选择安装包
    • 选择服务平台
    • 选择安装方式
  • 如何使用rpm离线安装发行版
  • 如何使用Homebrew在线安装发行版
  • 如何使用exe安装包安装发行版
    • 初始化数据库信息
    • 配置文件说明
    • 开启远程登录
  • 总结

前言

PostgreSQL是一款功能强大、开源的关系型数据库管理系统(RDBMS),在处理大规模数据库和复杂查询方面表现出色。本文旨在帮助初学者从安装层面全面了解 PostgreSQL
在上一篇《PG实践|认识PostgreSQL(一)》中也了解了一下PostgreSQL的发展和未来趋势,也了解了目前市面上开源版PostgreSQL,从上一篇的链接中或者在搜索引擎中输入PostgreSQL也可以到达你想要的官方地址来下载安装。下面就随着一起安装这个关系型数据库吧。
在这里插入图片描述

官方提供的安装包

不出所料的话,你已经比较熟悉如何访问官网。首先,访问官方网站(https://www.postgresql.org/),点击页面熟悉的 Download 来下载最新的 PostgreSQL 版本。根据你的操作系统选择合适的安装包,然后按照安装向导进行安装。
在这里插入图片描述

● 各个平台发行版本,下载和使用:https://www.postgresql.org/download/
● 二进制/源码版本,可以来这里下载和使用,目前最新的版本为 v17beta1 ,正式版本为 v16.3 :https://www.postgresql.org/ftp/source/
● 快照版本,可以来这里下载安装使用:https://www.postgresql.org/download/snapshots/

如何选择安装包

一般情况下,无论是开发环境还是生产环境,我们使用的Linux的版本居多,此次就以Linux安装为例,详细解释。

选择服务平台

从官网找到Linux,然后按照如下箭头点击下去,那么会有不同的内核版本选择,例如Red Hat Linux(RHL版本)\ Debian \ Ubuntu等等。本次安装也是使用RHL来做演示。
在这里插入图片描述

选择安装方式

依次点击下去会跳转到一个页面,提供多种安装方式。这里会有一些特定平台的安装方式:https://www.postgresql.org/download/linux/redhat/。针对红帽(RHL)的发行版支持如下
● Red Hat Enterprise Linux
● Rocky Linux
● AlmaLinux
● CentOS (7 and 6 only)
● Fedora
● Oracle Linux
PostgreSQL针对用户很是友好,你可以根据自己的服务器来自行选择版本、选择平台、选择架构,甚至都将操作命令给予准备好了,岂不是美哉?下面分别在Linux、MacOS、Windows安装操作,有些具体的操作明细就不再赘述。
在这里插入图片描述

如何使用rpm离线安装发行版

对于开发测试环境,我们都是连接互联网,可以使用YUM库来自行安装,如果是生产非联网环境,可以考虑下载RPM包后使用RPM来自行安装。离线安装,可以下滑到底部,找到这里即可下载离线包。
在这里插入图片描述

一般情况下,我们如果是离线安装只需要下载下面几个或这四个包之外的系统依赖包

postgresql15-15.7-1PGDG.rhel7
postgresql15-contrib-15.7-1PGDG.rhel7
postgresql15-libs-15.7-1PGDG.rhel7
postgresql15-server-15.7-1PGDG.rhel7

在这里插入图片描述

下载之后上传到服务器上面,然后使用RPM执行所有安装即可,当然你也可以一个一个安装包来安装,这个与MySQL也有类似之处。

rpm -ivh ./postgresql15-*PGDG.rhel7 --force --nodeps

注意⚠️:在安装执行的过程中,可能会因为系统缺少相关依赖而报错,导致安装失败,需要根据报错来一一解决,然后再执行安装即可。

如何使用Homebrew在线安装发行版

习惯于MacOS开发的就更好了,在这里直接使用homebrew来搜索安装到本机器,然后使用services启动即可。

-- 1 搜索
brew search postgre-- 2 安装(需要的版本,例如我这里安装16)
brew install postgresql@16-- 3 启动数据库
brew services start postgresql@16-- 4 默认情况,登录帐号为机器登录帐号,数据库为postgres
psql -U [机器的名称] -d postgres

如何使用exe安装包安装发行版

这个在官网下载,然后按照要求配置和下一步即可。
初始化数据库和配置信息

初始化数据库信息

在Linux中,使用 posgresql-step --innitdb 来初始化默认的数据库,可使用systemctl或者service命令启动数据库,至于使用哪一个命令主要是依据服务器的版本,选择好后即可。
在这里插入图片描述

如果不确定是否已经启动成功,那么可以使用ps命令查询下。

ps -ef | grep postgre

默认安装情况下,PostgreSQL会自动创建一个postgre用户,且没有设置密码。为了安全,此时我们需要切换到此用户,修改此用户的密码。

[root@204 ~]# su postgres
bash-4.2$ psql
could not change directory to "/root": Permission denied
psql (15.5)
Type "help" for help.
postgres=# ALTER USER postgres WITH PASSWORD 'Postgres#123';
ALTER ROLE

配置文件说明

● postgresql.conf:是 PostgreSQL 数据库服务器的核心配置文件。它是一个文本文件,用于定制和优化数据库服务器的行为,包括但不限于网络连接设置、性能调整参数、日志记录、安全控制和资源管理等方面。通过修改这个文件,管理员可以调整数据库以满足特定的应用需求或环境条件,比如增加最大连接数、改变监听端口、配置内存使用量、设定数据存储路径、调整事务日志行为以及安全管理等。
● pg_hba.conf:全称为 “PostgreSQL Host-Based Authentication Configuration”。这个文件负责定义客户端连接到 PostgreSQL 服务器时的认证方法,即控制哪些主机上的哪些用户可以通过何种认证方式访问哪些数据库。通过精细的访问控制规则,它可以增强数据库系统的安全性。该文件用于控制PostgreSQL服务器的访问权限,具体包括:允许哪些用户连接到哪个数据库,允许哪些IP地址连接到本服务器,以及制定连接时使用的身份验证模式。
● pg_ident.conf:主要用于定义操作系统用户(OS user)和数据库用户(PostgreSQL user)之间的映射关系。这个映射功能使得在进行身份验证时,可以将操作系统的用户账户自动对应到数据库内的一个用户账户上,特别是在使用像 ident 或 peer 认证方法时非常有用。如果该文件存在,则系统会基于文件内容将当前登陆的操作系统用户映射为一个PostgreSQL数据库内部的身份来登陆。有些人会把操作系统的root用户映射为PostgreSQL的postgres超级用户账号。

开启远程登录

找到pg_hba.conf文件,找到IPv4 local connections连接修改配置即可。例如我这里增加172.16.102.220服务器访问的权限。

# IPv4 local connections:
host    all             all             127.0.0.1/32       			scram-sha-256
host    all             all             172.16.102.220					md5

找到postgresql.conf文件,放开listen_addresses和port的注释并把listen_addresses后的localhost改成 *。

listen_addresses = '*'		# what IP address(es) to listen on;# comma-separated list of addresses;# defaults to 'localhost'; use '*' for all# (change requires restart)
port = 5432				# (change requires restart)

修改完成保存,重新启动即可。

总结

主要还是熟悉和了解PostgreSQL是如何下载并安装,关于PostgreSQL的说明性的文档还是比较齐全,有问题可以在官方找到答案,安装的具体配置下一篇吧。安了,要休息了~


引用
为方便查阅,以下为写本篇博文所引用到的链接和地址

[引用]

  1. https://www.postgresql.org/
  2. https://www.postgresql.org/download/
  3. https://www.postgresql.org/ftp/source/
  4. https://www.postgresql.org/download/snapshots/
  5. https://www.postgresql.org/download/linux/redhat/

欢迎关注博主 「六月暴雪飞梨花」 或加入【六月暴雪飞梨花社区】一起学习和分享Linux、C、C++、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。

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

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

相关文章

代码随想录算法训练营第20天 |● 654.最大二叉树 ● 617.合并二叉树 ● 700.二叉搜索树中的搜索 ● 98.验证二叉搜索树

文章目录 前言654.最大二叉树思路方法一 递归法方法一2 老师的优化递归法 617.合并二叉树思路方法一 递归法方法二 迭代法 700.二叉搜索树中的搜索思路方法一 递归法方法二 迭代法 98.验证二叉搜索树思路方法一 使用数组方法二 不使用数组代码注意点: 方法二 使用双…

攻击者常用的五个数据中转网站

近来,各种数据中转网站被攻击者广泛用于传播代码片段、配置文件和各种文本数据,尽管这为研究人员提供了观察的窗口,但敏感信息被上传到互联网上时,也会对受害者构成巨大威胁。 这些网站通常并不需要注册或者身份验证,…

深入了解Linux中的环境变量

在Linux系统中,环境变量(Environment Variables)是用于配置操作系统和应用程序运行环境的一种机制。它们储存在键值对中,可以控制程序的行为、路径查找和系统配置。本文将深入探讨环境变量的基本概念、常见类型、设置和管理方法&a…

Latex公式编辑:在矩阵内画横线与竖线

在LaTeX中,要在矩阵内绘制横线和竖线,我们通常使用array或matrix环境,并结合\hline(用于横线)和|(用于竖线)来实现。但需要注意的是,\hline通常用于表格环境中。 LaTeX中绘制分块矩阵…

idea配置ssh、sftp连接服务器,docker插件使用,极其方便,无需再开第三方软件去操作服务器了,集成用于Idea一体

目录 配置SSH连接服务器 配置SFTP文件传输 Docker插件使用 配置SSH连接服务器 Setting>Tools>SSHConfigurations,点击加号新建一个连接,认证形式选key pair 打开终端,连接服务器,就可以终端操作服务器了 配置SFTP文件传输 文件浏览窗…

ThreadLocal简介

Thread类中,有个ThreadLocal.ThreadLocalMap 的成员变量。 ThreadLocalMap内部维护了Entry数组,每个Entry代表一个完整的对象,key是ThreadLocal本身,value是ThreadLocal的泛型对象值 public void set(T value) {Thread t Thread…

装机必备——WinRAR安装教程

装机必备——WinRAR安装教程 软件下载 软件名称:WinRAR 软件语言:简体中文 软件大小:3.38M 系统要求:Windows7或更高, 32/64位操作系统 硬件要求:CPU2GHz ,RAM4G或更高 下载通道①迅雷云盘丨下…

Linux线程:线程控制

目录 一、线程的退出与等待 1.1pthread_join线程等待 1.2线程异常 1.3线程如何退出和结束 ​编辑 二、线程切换 三、线程的优缺点 3.1优点 3.2缺点 3.3线程vs进程 四、多线程的使用及实操 4.1堆空间共享 一、线程的退出与等待 在Linux中线程具有如下的特点&#xf…

postman教程-4-发送post请求

领取资料,咨询答疑,请➕wei: June__Go 上一小节我们学习了postman发送get请求的方法,本小节我们讲解一下postman发送post请求的方法。 POST请求通常用于向服务器提交数据以创建新资源或执行某些操作。与GET请求不同,POST请求可…

景源畅信电商:做抖店的成本高吗?

在当今数字化时代,抖音不仅仅是一个分享短视频的平台,更是一个充满商机的市场。随着抖音用户量的激增,越来越多的商家和个人开始关注在抖音上开设店铺,即所谓的“抖店”。那么,做抖店的成本高吗?这个问题困扰着许多初…

【鱼眼镜头11】Kannala-Brandt模型和Scaramuzza多项式模型区别,哪个更好?

Kannala-Brandt模型和Scaramuzza多项式模型在描述鱼眼相机畸变时都有其特定的数学表示和应用,但它们之间存在一些区别。以下是对两者区别的分点表示和归纳: 数学表示: Kannala-Brandt模型:它假设图像光心到投影点的距离和角度的多…

Autodl如何进行实例使用(同区)

一、首先找到之前保存的实例 二、点击更多然后选择克隆实例 三、选择是否要保存之前的数据盘 四、选择空余的GPU进行创建即可

【Redis】持久化操作详解

Redis 持久化操作详解 Redis 实现持久化的时候,具体是按照什么样的策略来实现的呢? Redis支持两种方式的持久化,一种是RDB方式、另一种是AOF(append-only-file)方式,两种持久化方式可以单独使用其中一种&…

springcloud 之 Ribbon Hystrix Feign bus 动态修改配置

Ribbon 是微服务架构图中负责负载均衡的 组件。 BeanLoadBalancedpublic RestTemplate getRestTemplate() {return new RestTemplate();}测试如下: //微服务方式 Ribbon方式GetMapping("ribbon/{name}")public String RibbonTest(PathVariable String nam…

大模型所谓的参数是什么?大模型为什么需要训练?大模型训练到底干了什么?

“ 大模型的本质是机器学习,机器学习的本质就是一种数学模型。” 我们经常能听到这样的说法,某某大模型有多少参数,某某大模型参数量又提升了,这里所说的参数到底是什么? 我们知道大模型是训练出来的,那么…

中小学校活动怎样投稿给媒体报道宣传?

身为一名学校老师,同时承担起单位活动向媒体投稿的宣传重任,我深知每一次校园活动背后的故事,都承载着师生们的辛勤汗水与教育的无限可能。起初,我满怀着对教育的热情,希望通过文字传递校园的温暖与光芒,却在投稿的道路上遇到了前所未有的挑战。 最初,我选择了最传统的路径——…

【RSGIS数据资源】中国多时期土地利用遥感监测数据集(CNLUCC)

文章目录 数据基本信息摘要数据说明数据引用方式 数据基本信息 数据时间: 多时期(1970年代末期以来11期) 空间位置: 中国 数据格式: 矢量与栅格 空间分辨率: 30m 主题分类: 中国土地利用遥感监测数据 DOI标识&#xf…

UNION的使用

UNION的使用 给出将多条查询语句组合成单个结果集,两个表对应的列数和数据类型必须相同 UNION操作符: 返回两个查询结果集的并集,并去除重复记录 UNION ALL操作符 返回两个查询的结果集的并集。不去掉两个结果集的重复部分,重…

存储方式 - 前端学习

1. cookie是什么?你了解cookie吗? 在计算机领域中,特指一种由服务器发送到用户浏览器并保存在用户计算机上的小型文本文件。这个文件可以被服务器用来识别用户身份、跟踪用户活动、保存用户设置等。它通常由名称、值、域名、路径、过期时间等…

【漏洞复现】号卡极团分销管理系统 ue_serve.php 任意文件上传漏洞

0x01 产品简介 号卡极团分销 管理系统,同步对接多平台,同步订单信息,支持敢探号一键上架,首页多套U|商品下单页多套模板,订单查询支持实时物流信息、支持代理商自定义域名、泛域名绑定,内置敢探号、172平台…