centos离线使用源码安装Postgre SQL

1源代码包获取

https://www.postgresql.org/ftp/source/
在这里插入图片描述
这里我以下载14.5版本的tar.gz为例
在这里插入图片描述

2源码包上传服务器

将下载的源码上传至目标服务器,这里我上传到:/usr/local/postgres14.5/src,我们可以创建这个目录,然后在上传到这个目录下

mkdir -p /usr/local/postgres14.5/src

在这里插入图片描述

3解压源代码

cd /usr/local/postgres14.5/src
gunzip postgresql-14.5.tar.gz
tar -xf postgresql-14.5.tar
cd 

在这里插入图片描述

4检查、编译、安装

进入解压的源代码目录,然后再该目录下执行configure

cd postgresql-14.5

安装目录:prefix=/usr/local/pgsql-14.5
端口:15432
without-readline:如果你没有安装readline,并且也不打算安装readline,执行检查configure时,可以跳过

#需要有readline
./configure --prefix=/usr/local/pgsql-14.5 --with-pgport=15432#跳过readline
./configure --prefix=/usr/local/pgsql-14.5 --with-pgport=15432 --without-readline

备注:以下是没有readline,并且也没有跳过readline安装时,会报错,此时,需要安装readline,重新进行检查
在这里插入图片描述
接下来,使用跳过readline,执行检查过一会儿,如下,没有报错即可
在这里插入图片描述
接下来执行编译和安装(编译的时间有点长,等会儿)

make
make install

执行完install以后,无报错即可
在这里插入图片描述

5创建用户和组

用户组:postgres

groupadd postgres

用户:postgres_dky
添加用户到用户组中:添加postgres_dky到postgres

useradd -g postgres postgres_dky

6数据库初始化

创建数据库存储文件

mkdir -p /run/media/postgres/data

为了防止后续操作中出现一些列权限问题,这里我们需要提前赋权

chmod -R 777 /run/media/
chmod -R 777 /usr/local/pgsql-14.5/bin/chown postgres_dky /run/media/postgres/data
chown postgres_dky /usr/local/pgsql-14.5/bin/initdb

切换到用户postgres_dky

su - postgres_dky

在这里插入图片描述

执行初始化命令

/usr/local/pgsql-14.5/bin/initdb -D /run/media/postgres/data

在这里插入图片描述
至此,初始化完毕

7启动关闭数据库

注意,启动关闭需要保证是在我们postgres用户之下,仔细看我们之前执行的一系列命令,可以发现前缀在root和postgres_dky是不一样的在这里插入图片描述
如果我们在root用户下执行,会出现如下错误
在这里插入图片描述
因此需要切换到我们创建的postgres_dky用户下执行

 su - postgres_dky

启动数据库,我们可以启动之后通过ps命令查看服务是否已经启动

/usr/local/pgsql-14.5/bin/pg_ctl -D /run/media/postgres/data -l logfile start

在这里插入图片描述

在这里插入图片描述

关闭数据库,关闭数据库之后,我们可以通过ps命令查看服务是否已经没了

/usr/local/pgsql-14.5/bin/pg_ctl -D /run/media/postgres/data -l logfile stop

在这里插入图片描述

8修改数据库密码

首先保证pg数据库已经启动(防止前面已经关闭了)

首先创建psql连接,这里需要在root用户下执行,否则会提示拒绝
在这里插入图片描述

ln -s /usr/local/pgsql-14.5/bin/psql /usr/bin/psql

在root下执行,就不会拒绝了。
在这里插入图片描述
创建连接以后,在切回到pg数据库用户

su - postgres_dky

查看数据库信息

psql -l

在这里插入图片描述
可以看到我们有数据库postgres,所有者postgres_dky,现在我们登录postgres数据库

#psql -U <username> -d <database> -h <hostname> -p <port>
psql -U postgres_dky -d postgres

在这里插入图片描述
接下来,我们将postgres_dky用户的密码重置

alter role postgres_dky with password '2024.com';

在这里插入图片描述
最后退出数据库:exit

exit

在这里插入图片描述

9开启远程访问

编辑postgresql.conf
需要切换至root用户,将listen_addresses的注释放开,并且localhost改为:*,同时端口注释也放开

su root
cd /run/media/postgres/data
vim postgresql.conf

在这里插入图片描述
编辑pg_hba.conf
修改pg_hba.conf 添加远程访问的认证方式,未尾添加 host all all 0.0.0.0/0 md5

host    all             all             0.0.0.0/0               md5

在这里插入图片描述
重启数据库

# start stop restart
/usr/local/pgsql-14.5/bin/pg_ctl -D /run/media/postgres/data -l logfile restart

在这里插入图片描述
开放端口
如果你是普通的服务器则可以如下自己开启端口

#查看已开放的端口
firewall-cmd --list-ports#开放
firewall-cmd --permanent --zone=public --add-port=15432/tcp#重启防火墙
firewall-cmd --reload

如果你是阿里云服务器,则去阿里云上开放端口,同理腾讯云也一样,如果是自己公司内部的云服务器,则找你们对应的网管给你们开通端口权限。

测试连接
在这里插入图片描述

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

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

相关文章

Kali Linux下载与安装

目录 1 kali官网下载镜像文件 2 VMware打开kali linux文件 3 启动kali-linux-2023.4操作系统 1 kali官网下载镜像文件 kali官网&#xff1a;https://www.kali.org/get-kali/#kali-platforms 进入kali官网主页后看到如图所示界面&#xff0c;左边“Installer Images”界面是…

【MATLAB】tvf_emd_ MFE_SVM_LSTM 神经网络时序预测算法

有意向获取代码&#xff0c;请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 TVF-EMD_MFE_SVM_LSTM 神经网络时序预测算法是一种结合了变分模态分解&#xff08;TVF-EMD&#xff09;、多尺度特征提取&#xff08;MFE&#xff09;、聚类后展开支持向量机&#xff08;…

基于MQTT协议实现微服务架构事件总线

一、场景描述 昨天在博客《客户端订阅服务端事件的实现方法》中提出了利用websocket、服务端EventEmitter和客户端mitt实现客户端订阅服务端事件&#xff0c;大大简化了客户端对服务端数据实时响应的逻辑。上述方案适用于单服务节点的情形。 对于由服务集群支撑的微服务架构&…

一文讲清DTO、BO、PO、VO

DTO、BO、PO、VO是什么&#xff1f; 在后端开发中&#xff0c;比如传统的MVC架构和现在流行的DDD架构&#xff0c;经常会使用到下列几种对象的概念 DTO (Data Transfer Object) 数据传输对象&#xff1a; DTO设计模式用于将数据从服务端传输到客户端&#xff0c;或者在不同的…

代码随想录训练营第31天 | 理论基础、LeetCode 455.分发饼干、

目录 理论基础 视频讲解&#xff1a;手把手带你学会操作链表 | 贪心算法理论基础&#xff01;_哔哩哔哩_bilibili LeetCode 455.分发饼干 文章讲解&#xff1a;代码随想录(programmercarl.com) 视频讲解&#xff1a;贪心算法&#xff0c;你想先喂哪个小孩&#xff1f;| Le…

物业智能水电抄表管理系统

物业智能水电抄表管理系统是物业管理行业的关键技术之一&#xff0c;其结合了智能化、远程监控和数据分析等功能&#xff0c;为物业管理公司和业主提供了高效、精准的水电抄表管理解决方案。该系统具有多项优势&#xff0c;能够提升物业管理效率&#xff0c;降低成本&#xff0…

深入理解计算机系统学习笔记

1.算术和逻辑操作 下图是一些整数和逻辑操作 这些操作被分为四组&#xff1a;加载有效地址、一元操作、二元操作和移位。二元操作有两个操作数&#xff0c;而一元操作有一个操作数。 1.1加载有效地址 加载有效地址&#xff08;load effective address)指令 leaq 实际上是 mo…

Pulsar3.2 Function的介绍与使用

概念 Function 步骤 Pulsar Functions是运行在Pulsar上面的计算框架&#xff0c;输入和输出都是基于Pulsar的Topic。通过使用Function可以对进入Pulsar集群的消息进行简单的清洗、计算&#xff0c;这样不仅避免额外部署单独的流处理引擎(SPE)&#xff0c;最大限度的提高开发/…

【力扣hot100】刷题笔记Day14

前言 又是新的一周&#xff0c;快乐的周一&#xff0c;快乐地刷题&#xff0c;今天把链表搞完再干活&#xff01; 114. 二叉树展开为链表 - 力扣&#xff08;LeetCode&#xff09; 前序遍历 class Solution:def flatten(self, root: Optional[TreeNode]) -> None:if not r…

Bicycles(变形dijkstra,动态规划思想)

Codeforces Round 918 (Div. 4) G. Bicycles G. Bicycles 题意&#xff1a; 斯拉夫的所有朋友都打算骑自行车从他们住的地方去参加一个聚会。除了斯拉维奇&#xff0c;他们都有一辆自行车。他们可以经过 n n n 个城市。他们都住在城市 1 1 1 &#xff0c;想去参加位于城市…

【Java程序员面试专栏 算法思维】四 高频面试算法题:回溯算法

一轮的算法训练完成后,对相关的题目有了一个初步理解了,接下来进行专题训练,以下这些题目就是汇总的高频题目,本篇主要聊聊回溯算法,主要就是排列组合问题,所以放到一篇Blog中集中练习 题目关键字解题思路时间空间全排列回溯算法【元素无重不可复选】构造全排列树,用使…

kafka三节点集群平滑升级过程指导

一、前言 Apache Kafka作为常用的开源分布式流媒体平台&#xff0c;可以实时发布、订阅、存储和处理数据流,多用于作为消息队列获取实时数据&#xff0c;构建对数据流的变化进行实时反应的应用程序&#xff0c;已被数千家公司用于高性能数据管道、流分析、数据集成和任务关键型…

Redis String 类型底层揭秘

目录 前言 String 类型低层数据结构 节省内存的数据结构 前言 Redis 的 string 是个 “万金油” &#xff0c;这么评价它不为过. 它可以保存Long 类型整数&#xff0c;字符串&#xff0c; 甚至二进制也可以保存。对于key&#xff0c;value 这样的单值&#xff0c;查询以及插…

详解Kotlin中run、with、let、also与apply的使用和区别

Kotlin作为一种现代、静态类型的编程语言&#xff0c;不仅提供了丰富的特性&#xff0c;还提供了极具表现力的函数&#xff1a;run, with, let, also, 和 apply。理解这些函数的不同之处对于编写高效、易于维护的代码至关重要。 函数对比表 函数对象引用返回值使用场景runthi…

猜数游戏(个人学习笔记黑马学习)

案例需求 定义一个数字(1~10&#xff0c;随机产生)&#xff0c;通过3次判断来猜出来数字 案例要求&#xff1a; 1.数字随机产生&#xff0c;范围1-10 2.有3次机会猜测数字&#xff0c;通过 3.层嵌套判断实现每次猜不中&#xff0c;会提示大了或小了 提示&#xff0c;通过如下代…

【海贼王的数据航海:利用数据结构成为数据海洋的霸主】链表—单链表

目录 1 -> 链表 1.1 -> 链表的概念及结构 1.2 -> 链表的分类 2 -> 无头单向非循环链表(单链表) 2.1 -> 接口声明 2.2 -> 接口实现 2.2.1 -> 动态申请一个结点 2.2.2 -> 单链表的打印 2.2.3 -> 单链表的尾插 2.2.4 -> 单链表的头插 2.…

消息中间件篇之RabbitMQ-消息不丢失

一、生产者确认机制 RabbitMQ提供了publisher confirm机制来避免消息发送到MQ过程中丢失。消息发送到MQ以后&#xff0c;会返回一个结果给发送者&#xff0c;表示消息是否处理成功。 当消息没有到交换机就失败了&#xff0c;就会返回publish-confirm。当消息没有到达MQ时&…

2.27数据结构

1.链队 //link_que.c #include "link_que.h"//创建链队 Q_p create_que() {Q_p q (Q_p)malloc(sizeof(Q));if(qNULL){printf("空间申请失败\n");return NULL;}node_p L(node_p)malloc(sizeof(node));if(LNULL){printf("申请空间失败\n");return…

DETR(1):论文详解

文章目录 1. DETR 模型结构2.损失函数2.1 预测结果和GT 的匹配2.2 训练的loss计算3.实验3.1 大物体表现效果好3.2 Transformer Encoder 和Decoder的作用3.3 object query4. 伪代码5. 结论

【《高性能 MySQL》摘录】第 2 章 MySQL 基准测试

文章目录 2.1 为什么需要基准测试2.2 基准测试的策略2.2.1 测试何种指标 2.3 基准测试方法2.3.1 设计和规划基准测试2.3.2 基准测试应该运行多长时间2.3.3 获取系统性能和状态2.3.4 获得准确的测试结果2.3.5 运行基准测试并分析结果2.3.6 绘图的重要性 2.4 基准测试工具…