当前位置: 首页 > news >正文

【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令牌 一、重要的前置概念 在一个系统中,不是所有的功能和资源都能够被自由地访问,比如你存在银行系统里面的资金&#xff0c…...

实例: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(豆子数量) 颗豆子])来打印出当前豆子的数量。 进行豆子的计数操作。例如&#xff0c…...

QT C++中调用python脚本时,import第三方库失败问题解决

QT C中调用python脚本时,import第三方库失败问题解决 文章目录 QT C中调用python脚本时,import第三方库失败问题解决前言一、问题复现二、调试过程三、问题解决1 numpy问题解决2 matplotlib问题解决 四、补充说明五、参考资料 前言 项目需要&#xff0c…...

【AI视野·今日Robot 机器人论文速览 第七十期】Thu, 4 Jan 2024

AI视野今日CS.Robotics 机器人学论文速览 Thu, 4 Jan 2024 Totally 17 papers 👉上期速览✈更多精彩请移步主页 Daily Robotics Papers Many-Objective-Optimized Semi-Automated Robotic Disassembly Sequences Authors Takuya Kiyokawa, Kensuke Harada, Weiwei …...

Flutter中的布局组件介绍及使用

1. 引言 Flutter 是一款由 Google 开发的开源 UI 软件开发工具,可用于在单个代码库中构建漂亮、本机编译的应用程序。在 Flutter 中,布局是构建用户界面的核心部分之一。本文将介绍 Flutter 中的全部布局组件,以及它们的使用方式。 2. 基础…...

【面试高频算法解析】算法练习2 回溯(Backtracking)

前言 本专栏旨在通过分类学习算法,使您能够牢固掌握不同算法的理论要点。通过策略性地练习精选的经典题目,帮助您深度理解每种算法,避免出现刷了很多算法题,还是一知半解的状态 专栏导航 二分查找回溯(Backtracking&…...

认识Git

🌎初识Git 初识Git 什么是Git Git的安装       Centos平台安装Git       Ubuntu平台安装Git Git的基本操作       创建远程仓库       配置Git 认识工作区、暂存区与版本库       添加文件到暂存区       将暂存区文件提交至本…...

@RequestParam,@RequestBody和@PathVariable 区别

RequestParam,RequestBody和PathVariable 这三者是spring常见的接受前端数据的注解,那么他们分别是接受什么的前端数据呢? RequestParam:这个注解主要用于处理请求参数,尤其是GET请求中的查询参数和表单参数。它可以用…...

vue3组件传参

1、props: 2、自定义事件子传父 3、mitt任意组件通讯 4、v-model通讯(v-model绑定在组件上) (1)V2中父子组件的v-model通信,限制了popos接收的属性名必须为value和emit触发的事件名必须为input,所以有时会有冲突; 父组件: 子组件: (2)V3中:限制了popos接收的属性名…...

React16源码: React中创建更新的方式及ReactDOM.render的源码实现

React当中创建更新的主要方式 ReactDOM.render || hydrate 这两个API都是我们要把整个应用第一次进行渲染到我们的页面上面能够展现出来我们整个应用的样子的一个过程这是初次渲染 setState 后续更新应用 forceUpdate 后续更新应用 replaceState 在后续被舍弃 关于 ReactDOM…...

CentOS 7 系列默认的网卡接口名称

CentOS 7 系列默认的网卡接口是随机的,如果要修改网卡名称以 eth 开头,有两种方式。 方法一:安装系统时 在安装界面移动光标到 Install Centos 7.按 TAB 键 在出现的代码的末尾添加:net.ifnames0 biosdevname0.按下回车开始安装即…...

多文件上传

HTML中实现多文件上传是通过用<input type"file">元素的multiple属性&#xff0c;以下简单描述多文件上传的步骤 HTML表单准备&#xff0c;使用<input type"file">元素&#xff0c;并为其添加multiple属性&#xff0c;以允许用户选择多个文件…...

pc网站是什么/百度账户托管运营

如今&#xff0c;使用微信的月活跃用户达到九亿之多&#xff0c;商家们都知道&#xff0c;流量在哪里&#xff0c;利益就在哪里&#xff0c;所以商家们都纷纷定制开发出自己的微信平台&#xff0c;分微信九亿用户流量红利的蛋糕&#xff0c;抢占市场先机。但是&#xff0c;究竟…...

雅虎网站收录提交入口/郑州网站建设推广优化

语法 SELECT a.值1 as 别名1,a.值2 as 别名2,a.值3 as 别名3,a.值... as 别名..., FROMtable_name ---就是数据源 ---开始使用函数 PIVOT ( ---这里可用聚合函数来统计 sum(要统计的列名) FOR --列名1就是要行转列的列名 列名1 IN ([值1],[值2],[值3],[...])---值1等来自列名…...

平邑的网站都是谁做的/资源最全的网盘搜索引擎

Django中的ORM简介 ORM概念:对象关系映射&#xff08;Object Relational Mapping,简称ORM&#xff09;&#xff1a; 用面向对象的方式描述数据库&#xff0c;去操作数据库&#xff0c;甚至可以达到不用编写SQL语句就能够对数据库进行增删改查&#xff0c;进行各种操作。我们只需…...

郑州做网站和app的公司/广州seo推广培训

步骤&#xff1a; 1利用栈的“先进后出的功能”,将数据依次入栈stack1 2.将stack1元素依次出栈&#xff0c;依次进入stack2 3.将stack3依次出栈...

nginx网站301重定向怎么做/湖北网络营销网站

可能很多人和老张一样&#xff0c;第一次接触DIY是因为显卡。为了更高的游戏性能&#xff0c;带动更高画质的游戏&#xff0c;我们攒了好久的钱、研究了好久的显卡&#xff0c;最终收来一张低价高性能的卡。但到手以后&#xff0c;又渐渐开始不满足&#xff0c;显卡是到位了&am…...

增加访客的网站/太原seo计费管理

Ubuntu系统 打开System Settings--Details--Removable Media--勾选“never prompt or start programs on media insertion” 完成&#xff01;...