【Linux】之搭建 PostgreSQL 环境

前言


在 Linux 系统下安装 PostgreSQL,可以选择快捷方便的 Docker 安装,但正常的服务器都是直接原生安装的,所以,这里我将讲解如何正常安装 PostgreSQL 以及安装之后的一些配置。如果想了解 Docker 安装的话,可以查看我的另一篇博客:【Docker】之安装 PgSQL。


一、PostgreSQL 安装流程


1、进入官网获取安装包下载脚本

进入 PostgreSQL 官网下载页面:https://www.postgresql.org/download/,默认会进入安装包(Packages)下载页面,选择自己的系统和发行版本。这里,由于我使用的系统是 Centos7,所以选择 Linux 下的 Red Hat 选项:

在这里插入图片描述
点击对应的发行版本,会跳转到版本选择页面:

在这里插入图片描述

  • Select version:选择 PostgreSQL 的安装版本,这里我选择安装 15 的版本;
  • Select platform:选择安装平台,这里我根据我的系统选择对应的 CentOS 平台;
  • Select architecture:选择处理器指令集架构,这里我选择的是 x86_64

当你选好版本、平台和处理器架构之后,下面的第 4 栏会出现相应的安装脚本。下面我们就根据官方给的脚本进行逐步安装。

2、安装配置步骤

2-1、安装 RPM 仓库

sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

2-2、安装 PostgreSQL 服务

sudo yum install -y postgresql15-server

如果安装过程中报错,缺少 libzstd.so.1 包依赖:

Error: Package: postgresql15-server-15.5-1PGDG.rhel7.x86_64 (pgdg15)
           Requires: libzstd.so.1()(64bit)

则执行下面的命令进行相关依赖包的安装:

yum install -y epel-release.noarch
yum install -y libzstd.x86_64

安装依赖成功之后再次执行 PostgreSQL 服务的安装命令即可。

2-3、安装后的配置

由于 RedHat 系列发行版的政策原因,PostgreSQL 安装完成之后不会自动启动,同时也不会自动初始化数据库。所以需要执行下面的命令来使整个安装完成:

sudo /usr/pgsql-15/bin/postgresql-15-setup initdb
sudo systemctl enable postgresql-15
sudo systemctl start postgresql-15

执行完成之后可以查看 PostgreSQL 的运行状态:

$ systemctl status postgresql-15
--------------------------------
● postgresql-15.service - PostgreSQL 15 database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql-15.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2024-01-07 04:19:12 UTC; 8s ago
     Docs: https://www.postgresql.org/docs/15/static/

二、PostgreSQL 相关命令与配置


1、登录 PostgreSQL 服务

安装完毕后,系统会创建一个数据库超级用户 postgres,密码为空,我们需要先切换到该用户再登录数据库:

su - postgres

此时会出现相应的 bash 命令行提示符 -bash-4.2$ ,我们直接输入 psql 命令登录:

-bash-4.2$ psql
psql (15.5)
Type "help" for help.

postgres=#

psql 命令使用的是数据库默认内置的用户 postgres 进行登录的,所以该命令和 psql -U postgres 是一样的效果,我们可以使用 \du 命令查看当前的数据库用户:

postgres=# \du
                                   List of roles
 Role name |                         Attributes                         | Member of
-----------+------------------------------------------------------------+-----------
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

密码修改:为了方便我们后续远程登录,我们可以修改一下修改密码:

postgres=# alter user postgres with password '123456';
ALTER ROLE

输入 \q 命令退出登录。

2、配置远程登录

PostgreSQL 的配置文件存放在 /var/lib/pgsql/15/data 目录下,修改 postgresql.conf 配置文件:

vi postgresql.conf

找到 listen_addresses 参数行,原本是被注释的,默认值是 localhost 表示只能本地登录,我们在下面仿照将该参数修改为 *

# - Connection Settings -
#listen_addresses = 'localhost'         # what IP address(es) to listen on;
listen_addresses = '*'

同时修改同目录下的 pg_hba.conf 配置文件,在 IPv4 local connections 下添加一行 host all all 0.0.0.0/0 md5

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

配置完成之后重启一下服务:

systemctl restart postgresql-15

重启完成之后,就可以使用第三方数据库管理工具进行远程登录访问了。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

06、Kafka ------ 各个功能的作用解释(ISR 同步副本、非同步副本、自动创建主题、修改主题、删除主题)

目录 CMAK 各个功能的作用解释★ ISR副本 (同步副本)★ 非同步副本★ 自动创建主题★ 修改主题★ 删除主题 CMAK 各个功能的作用解释 ★ ISR副本 (同步副本) 简单来说 ,ISR 副本 就是 Kafka 认为与 领导者副本 同步的副本。 ISR&#xff0…

2024--Django平台开发-基础信息(一)

一、前置知识点 - Python环境搭建 (Python解释器、Pycharm、环境变量等) - 基础语法(条件、循环、输入输出、编码等) - 数据类型(整型、布尔型、字符串、列表、字典、元组、集合等) - 函数(文件操作、返回值、参数、作用域等) - 面向对象 (类、对象、封装、继承、多态等)包和模…

SOLIDWORKS PDM—序列号的使用

SOLIDWORKS产品数据管理 (PDM) 解决方案可帮助您控制设计数据,并且从本质上改进您的团队就产品开发进行管理和协作的方式。使用 SOLIDWORKS PDM Professional,您的团队能够:1. 安全地存储和索引设计数据以实现快速检索;2. 打消关于…

综合智慧能源监测管理平台,实现能源管理“透明”化

能源问题是全球面临的最大问题,在提高经济增长的同时,也引发了能源供应危机及环境严重等问题,降低能源管理、低碳环保是我们未来发展的必经之路。 为了解决这一问题,智慧能源管理平台应运而生。平台采用微服务架构,整…

ant-design-vue的日期组件a-range-picker赋值的问题

在使用ant-design-vue的日期组件时&#xff0c;总是会碰到赋值问题&#xff0c;习惯性的赋值就是直接给日期组件的变量赋值字符串类型&#xff0c;如下 // html部分 <a-range-picker v-model"dateValue" :format"YYYY-MM-DD"/> // js部分 data() {r…

HNU-数据库系统-作业

数据库系统-作业 计科210X 甘晴void 202108010XXX 第一章作业 10.09 1.(名词解释)试述数据、数据库、数据库管理系统、数据库系统的概念。 数据&#xff0c;是描述事物的符号记录。 数据库&#xff08;DB&#xff09;&#xff0c;是长期存储在计算机内、有组织、可共享的大量…

基于springboot+html的宠物医院管理系统设计与实现

基于springboothtml的宠物医院管理系统设计与实现 &#x1f345; 作者主页 央顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; 前言 随着人们对宠物健康的关注度不断提高&#xff0c;宠物医院的…

网络安全B模块(笔记详解)- 网络爬虫渗透测试

LAND网络渗透测试 1.进入虚拟机操作系统:BT5中的/root目录,完善该目录下的land.py文件,填写该文件当中空缺的Flag1字符串,将该字符串作为Flag值(形式:Flag1字符串)提交;(land.py脚本功能见该任务第6题) 输入flag sendp(packet) Flag:sendp(packet) 2.进入虚拟机操作…

C#,入门教程(12)——数组及数组使用的基础知识

上一篇&#xff1a; C#&#xff0c;入门教程(11)——枚举&#xff08;Enum&#xff09;的基础知识和高级应用https://blog.csdn.net/beijinghorn/article/details/123917587 数组是一种数据集合&#xff0c;是一组完全相同的、按顺序存放的数据。 需要记住数组的几个特征&…

Docker学习与应用(四)-容器数据卷

1、容器数据卷 1&#xff09;什么是容器数据卷 docker的理念回顾 将应用和环境打包成一个镜像&#xff01; 数据&#xff1f;如果数据都在容器中&#xff0c;那么我们容器删除&#xff0c;数据就会丢失&#xff01;需求&#xff1a;数据可以持久化 MySQL&#xff0c;容器删…

盘点2023前端技术,谁才是当红炸子鸡

在平时的学习或工作中&#xff0c;有没有那么一些代码让你觉得写的比较好&#xff0c;具有复用性&#xff0c;并且今后的项目可能会用到&#xff1f;肯定会有&#xff0c;如果没有&#xff0c;说明你代码写的太少了。那么这些代码应该保存在哪里比较合适呢&#xff1f;这里我推…

武汉灰京文化的全方位、立体式推广策略解析!

在竞争日趋激烈的市场环境下&#xff0c;武汉灰京文化以独有的创新思考和全方位推广策略&#xff0c;赢得了业界瞩目的成绩。一场打破传统推广思维模式&#xff0c;散发全新光芒的战役正悄然展开。本文将深度解析该企业所采用的一系列卓越策略以及取得的突出成绩&#xff0c;为…

H266/VVC率失真优化与速率控制概述

率失真优化技术 率失真优化&#xff1a; 视频编码的主要目的是在保证一定视频质量的条件下尽量降低视频的编码比特率&#xff0c;或者在一定编码比特率限制条件下尽量地减小编码失真。在固定的编码框架下&#xff0c;为了应对不同的视频内容&#xff0c;往往有多种候选的编码方…

Cross-Site-Request-Forgery

一、CSRF是什么&#xff1f; CSRF&#xff08;Cross-site request forgery&#xff09;是一种网络攻击方法&#xff0c;中文名称&#xff1a;跨站请求伪造&#xff0c;也被称为&#xff1a;one click attack/session riding&#xff0c;缩写为&#xff1a;CSRF/XSRF。 二、CS…

oh-my-zsh nvm command not found

如果你在使用 oh-my-zsh 并且在终端输入 nvm 命令时提示 "command not found"&#xff0c;这可能是因为 oh-my-zsh 没有配置 nvm 插件导致的。 a、确保你已经在系统中安装了 nvm。如果没有安装&#xff0c;请参考 nvm 的文档安装。 b、打开 oh-my-zsh 的配置文件&a…

故障诊断 | 基于FFT频谱与小波时频图的双流CNN轴承故障诊断模型(matlab +python)

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 故障诊断 | 基于FFT频谱与小波时频图的双流CNN轴承故障诊断模型&#xff08;matlab python&#xff09; 基于FFT频谱与小波时频图的双流CNN轴承故障诊断模型 特征拼接 python&#xff08;pytorch&#xff09; 基于2D-…

Flutter桌面软件开发中实现本地通知

Flutter桌面软件开发中实现本地通知可以使用local_notifier &#xff0c;local_notifier这个插件允许 Flutter 桌面 应用显示本地通知。 Flutter桌面软件开发中实现本地通知 第一步安装依赖 dependencies:local_notifier: ^0.1.5 Flutter桌面软件开发中实现本地通知 第二步配…

vue3 响应式api中特殊的api

系列文章目录 TypeScript 从入门到进阶专栏 文章目录 系列文章目录一、shallowRef()二、triggerRef()三、customRef()四、shallowReactive()五、shallowReadonly()六、toRaw()七、markRaw()八、effectScope()九、getCurrentScope() 一、shallowRef() shallowRef()是一个新的响…

Docker 基础

文章目录 1.Docker概述2.Docker安装3.Docker与虚拟机VM4.Docker命令1.帮助命令2.镜像命令1.images2.search3.pull4.rmi 3.容器命令1.run2.ps3.rm4.start5.stop6.restart7.kill 4.常用其他命令1.后台启动容器2.查看日志&#xff08;logs&#xff09;3.查看进程信息&#xff08;t…

双十一的祈祷【算法赛】

问题描述 双十一&#xff0c;不仅是购物狂欢节&#xff0c;更有 "光棍节" 之称。这源于 11:1111:11 由四个 11 构成&#xff0c;象征着单身。 作为大学生的小蓝也想经历甜甜的校园恋爱&#xff0c;于是他找到了爱神丘比特&#xff0c;向他祈祷能为自己带来一段邂逅…
最新文章