【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 serverLoaded: 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 agoDocs: 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=# \duList of rolesRole 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
重启完成之后,就可以使用第三方数据库管理工具进行远程登录访问了。
相关文章:
【Linux】之搭建 PostgreSQL 环境
前言 在 Linux 系统下安装 PostgreSQL,可以选择快捷方便的 Docker 安装,但正常的服务器都是直接原生安装的,所以,这里我将讲解如何正常安装 PostgreSQL 以及安装之后的一些配置。如果想了解 Docker 安装的话,可以查看我…...
docker 安装elasticsearch、kibana、cerebro、logstash
安装步骤 第一步安装 docker 第二步 拉取elasticsearch、kibana、cerebro、logstash 镜像 docker pull docker.elastic.co/elasticsearch/elasticsearch:7.10.2 docker pull docker.elastic.co/kibana/kibana:7.10.2 docker pull lmenezes/cerebro:latest docker pull l…...
C/C++ 联合体
目录 联合体概述 联合体的内存分配 联合体大小计算 联合体概述 联合与结构非常的相似,主要区别就在于联合这两个字。 联合的特征:联合体所包含的成员变量使用的是同一块空间。 联合体定义 //联合类型的声明 union Un {char c;int i; }; //联合变量…...
基于SSM的基金投资交易管理网站的设计与实现
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…...
JS数据类型转换成Boolean型
在javaScript中 布尔值用到的很频繁 接下来让我稍微为大家介绍一下数据类型转换为布尔型 转换成布尔值为false的类型 console.log(Boolean("")) //falseconsole.log(Boolean(0)) //falseconsole.log(Boolean(undefined)) //falseconsole.log(Boolean(null)) //false…...
uni-app页面数据传参方式
uni-app 是一个使用 Vue.js 开发所有前端应用的框架,可以编译到 iOS、Android、H5、小程序等多个平台。当你在多个页面间传递参数时,通常有多种方法,例如通过 uni.navigateTo、路由参数、本地存储等方式。下面是一些方法的说明和示例代码。 …...
计算机网络实验(二):Wireshark网络协议分析
一、实验名称:Wireshark网络协议分析 二、实验原理 HTTP协议分析 1.超文本传输协议(Hypertext Transfer Protocol, HTTP)是万维网(World Wide Web)的传输机制,允许浏览器通过连接Web服务器浏览网页。目…...
Spark内核解析-数据存储5(六)
1、Spark的数据存储 Spark计算速度远胜于Hadoop的原因之一就在于中间结果是缓存在内存而不是直接写入到disk,本文尝试分析Spark中存储子系统的构成,并以数据写入和数据读取为例,讲述清楚存储子系统中各部件的交互关系。 1.1存储子系统概览 …...
ASP.NET Core高级之认证与授权(一)--JWT入门-颁发、验证令牌
阅读本文你的收获 了解认证和授权的作用了解在ASP.NET Core中实现身份认证的技术都有哪些学习基于JWT认证并学会颁发和验证JWT令牌 一、重要的前置概念 在一个系统中,不是所有的功能和资源都能够被自由地访问,比如你存在银行系统里面的资金,…...
实例:NodeJS 操作 Kafka
本人是C#出身的程序员,c#很简单就能实现,有需要的可以加我私聊。但是就目前流行的开发语言,尤其是面向web方向应用的,我感觉就是Nodejs最简单了。下面介绍: 本文将会介绍在windows环境下启动Kafka,并通过n…...
AI实景无人直播创业项目:开启自动直播新时代,一部手机即可实现增长
在当今社会,直播已经成为了人们日常生活中不可或缺的一部分。无论是商家推广产品、明星互动粉丝还是普通人分享生活,直播已经渗透到了各行各业。然而,传统直播方式存在着一些不足之处,如需现场主持人操作、高昂的费用等。近年来&a…...
YOLOv5改进 | 损失函数篇 | InnerIoU、InnerSIoU、InnerWIoU、FocusIoU等损失函数
一、本文介绍 本文给大家带来的是YOLOv5最新改进,为大家带来最近新提出的InnerIoU的内容同时用Inner的思想结合SIoU、WIoU、GIoU、DIoU、EIOU、CIoU等损失函数,形成 InnerIoU、InnerSIoU、InnerWIoU等新版本损失函数,同时还结合了Focus和AIpha思想,形成的新的损失函数,其…...
构建高效PythonWeb:GraphQL+Sanic
1.1 简介:在当今快速发展的技术时代,Web应用的性能和灵活性变得越来越重要。在众多技术中,GraphQL和Sanic以其独特的优势脱颖而出。GraphQL,作为一个强大的数据查询语言,为前端和后端之间的通信提供了极大的灵活性。而…...
【通义千问】大模型Qwen GitHub开源工程学习笔记(5)-- 模型的微调【全参数微调】【LoRA方法】【Q-LoRA方法】
摘要: 训练数据的准备 你需要将所有样本放到一个列表中并存入json文件中。每个样本对应一个字典,包含id和conversation,其中后者为一个列表。示例如下所示: [{"id": "identity_0","conversations": [{"from": "user",…...
PCL 大地坐标转空间直角坐标(C++详细过程版)
目录 一、算法原理二、代码实现三、结果展示四、测试数据本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT生成的文章。 一、算法原理 二、代码实现 头文件及读取保存函数见:PCL 空间直角坐标转大地坐标(直接求解法C…...
Linux之Shell编程
shell是什么 shell是一个命令行解释器,他为用户提供一个向linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动,挂起,停止甚至编写一些程序。 shell脚本的执行方式 脚本格式要求 脚本以#!/bin/bash开头脚本需…...
Unity组件开发--传送点
本组件仅实现A传送点到B传送的功能,是可以双向传送的,如果只要单向传送,可以另外改脚本实现; 先看效果: unity组件传送点演示 1.传送组件shader是怎么写的:这种效果的实现方案 shader编辑器是这样的&#…...
vue结合Cesium加载gltf模型
Cesium支持什么格式? Cesium支持的格式包括:3D模型格式(如COLLADA、gITF、OBJ)、影像格式(如JPEG、PNG、GeoTIFF)、地形格式(如STL、Heightmap)、矢量数据格式(如GeoJSON…...
逆置算法和数组循环移动算法
元素逆置 概述:其实就是将 第一个元素和最后一个元素交换,第二个元素和倒数第二个元素交换,依次到中间位置。用途:可用于数组的移动,字符串反转,链表反转操作,栈和队列反转等操作。 逆置图解 …...
【MATLAB】数豆子
Matlab数豆子 创建一个变量来表示豆子的数量。例如,可以使用豆子数量 100;来表示有100颗豆子。 使用disp函数打印出豆子的数量。例如,可以使用disp([目前有 num2str(豆子数量) 颗豆子])来打印出当前豆子的数量。 进行豆子的计数操作。例如,…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...
深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...
