CentOS 7安装 Postgre
零、前置条件
- 系统CentOS 7,并已联网,已安装gcc或者g++编译器,GNU make版本3.80或以上,系统有至少一个除root之外的普通用户
user
- gcc安装-参考链接
- 查看make命令的版本——
make --version
- 更新make版本-参考链接
- postgresql的使用一般不用
root
用户,而是普通用户,这里假设普通用户名为user
。Linux创建新用户-参考链接
- Xshell建立起与CentOS 7系统的会话
- Xftp同样建立了与CentOS 7的链接
一、下载、转移、解压
下载
- 首先在本地打开以链接,下载
postgresql-xx.x
,readline-7.0
,zlib-1.2.xx
https://www.postgresql.org/ftp/source/
PostgresSQL
建议下载最新版本,打开后的版本列表中,选择最新的正式版本,最好不要选带beta的
http://ftp.gnu.org/gnu/readline/readline-7.0.tar.gz
- 下载
zlib
前,先开官网http://www.zlib.net/
看一下最新版本号,比如这里是1.2.13
,那么下面下载链接中的版本号就改成最新的版本号
http://www.zlib.net/zlib-1.x.xx.tar.gz
转移
- 在root用户下的
/root
目录下操作
[root@localhost ~]# mkdir pgsoft
- 打开xftp,将刚刚下载好的三个压缩包拖到刚刚建立目录下面
/root/pgsoft
解压
[root@localhost pgsoft]# tar -xf readline-7.0.tar.gz
[root@localhost pgsoft]# tar -xf zlib-1.x.xx.tar.gz
[root@localhost pgsoft]# tar -xf postgresql-xx.x.tar.gz
- 版本号根据实际情况来
二、安装
readline安装
[root@localhost pgsoft]# cd readline-7.0
[root@localhost readline-7.0]# ./configure
[root@localhost readline-7.0]# make
[root@localhost readline-7.0]# make install
- 安装readline开发包
readline-devel
,不然后面安装postgresql
时会提示错误configure: error: readline library not found
[root@localhost readline-7.0]# yum install readline-devel
zlib安装
[root@localhost readline-7.0]# cd /root/pgsoft/zlib-1.x.xx
[root@localhost zlib-1.x.xx]# ./configure
[root@localhost zlib-1.x.xx]# make
[root@localhost zlib-1.x.xx]# make install
postgresql安装
# 为pg安装新建一个目录/opt/pgsql-xx.x
[root@localhost ~]# mkdir -p /opt/pgsql-xx.x# 将opt目录的拥有权给予给普通用户user
[root@localhost ~]# chown user -R /opt # 进入下载转移解压后的postgresql目录
[root@localhost ~]# cd /root/pgsoft/postgresql-xx.x# 配置postgresql
[root@localhost postgresql-xx.x]# ./configure --prefix=/opt/pgsql-xx.x# 编译postgresql,这一步耗时稍微较长
[root@localhost postgresql-xx.x]# make world# 安装postgresql
[root@localhost postgresql-xx.x]# make install -world
- 验证postgres是否安装成功
# 查看安装目录/opt/pgsql-xx.x,安装成功的话会出现以下四个目录
[root@localhost postgresql-15.3]# ll /opt/pgsql-xx.x/
总用量 16
drwxr-xr-x. 2 root root 4096 6月 9 09:29 bin
drwxr-xr-x. 6 root root 4096 6月 9 09:29 include
drwxr-xr-x. 4 root root 4096 6月 9 09:29 lib
drwxr-xr-x. 6 root root 4096 6月 9 09:29 share# 查看安装的postgres版本是否对应,这里以15.3版本为例
[root@localhost postgresql-15.3]# /opt/pgsql-15.3/bin/postgres --version
postgres (PostgreSQL) 15.3
三、安装数据目录
- 数据目录,即后续数据库使用中数据存放的目录
# 递归创建新目录,版本号记得根据实际情况更换
[root@localhost ~]# mkdir -p /pgdata/15.3/poc/{data,archive,scripts,backup}# 将该目录的拥有权赋给普通用户user
[root@localhost ~]# chown -R user /pgdata/15.3/# 初始化数据目录
# 首先由root切换到普通用户
[root@localhost pgsoft]# su - user
上一次登录:五 6月 9 09:32:48 CST 2023pts/0 上
# 进入数据目录,用initdb命令初始化该目录,初始化成功后最后出现Success字样
[user@localhost ~]$ cd /pgdata/15.3/poc
[user@localhost poc]$ /opt/pgsql-15.3/bin/initdb -D /pgdata/15.3/poc/data/ -E UTF-8
……
……
Success. You can now start the database server using:/opt/pgsql-15.3/bin/pg_ctl -D /pgdata/15.3/poc/data/ -l logfile start# 对数据目录开放读写执行权限
[userb@localhost poc]$ chmod 0700 data/# 启动PostgreSQL,启动成功后最后一行会出现server started
[userb@localhost poc]$ /opt/pgsql-15.3/bin/pg_ctl -D /pgdata/15.3/poc/data/ start
waiting for server to start....2023-06-09 09:43:50.826 CST [18923] LOG: starting PostgreSQL 15.3 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44), 64-bit
2023-06-09 09:43:50.828 CST [18923] LOG: listening on IPv6 address "::1", port 5432
2023-06-09 09:43:50.828 CST [18923] LOG: listening on IPv4 address "127.0.0.1", port 5432
2023-06-09 09:43:50.832 CST [18923] LOG: listening on Unix socket "/tmp/.s.PGSQL.5432"
2023-06-09 09:43:50.836 CST [18926] LOG: database system was shut down at 2023-06-09 09:42:19 CST
2023-06-09 09:43:50.855 CST [18923] LOG: database system is ready to accept connectionsdone
server started
四、创建PostgreSQL第一个数据库实例
# 使用createdb命令创建第一个数据库实例,如果不产生任何响应则表示该步骤成功
[userb@localhost poc]$ /opt/pgsql-15.3/bin/createdb my_first_pgdb
五、将PostgreSQL的安装路径添加到Shell的搜索路径
# 注意切换到root用户
[root@localhost ~]# su - root
password:# 当前环境变量中的路径
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin# 将postgres安装目录/opt/pgsql-xx.x/bin添加到环境变量中
[root@localhost ~]# export PATH="$PATH:/opt/pgsql-15.3/bin"# 再次查看环境变量PATH值
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/pgsql-15.3/bin# 验证是否有效,不在安装目录下,直接运行postgres --version如果能出现相关信息,则表示已经添加成功
[root@localhost ~]# postgres --version
postgres (PostgreSQL) 15.3# 添加完成路径后可以直接使用/opt/pgsql-15.3/bin下的命令,而不需要加绝对路径,例如上面创建数据库实例,可以直接写成
[userb@localhost poc]$ createdb my_first_pgdb
相关文章:

CentOS 7安装 Postgre
零、前置条件 系统CentOS 7,并已联网,已安装gcc或者g编译器,GNU make版本3.80或以上,系统有至少一个除root之外的普通用户user gcc安装-参考链接查看make命令的版本——make --version更新make版本-参考链接postgresql的使用一般…...
rpc 异步非阻塞 io 配置 线程池和队列
相关 雪崩 - 如何重试 - sla和重试风暴的双保证_个人渣记录仅为自己搜索用的博客-CSDN博客 接口耗时公式 耗时 cpu时间 io时间 线程池数量 最佳数目 1s / 平均cpu时间 * 内核数. 最大平均cpu时间 接口耗时- all外部io时间. 结合gc , linux本身其他线程, 只会还少点. …...

【Turfjs的java版本JTS】前面讲了Turfjs可以实现几何计算,空间计算的功能,如果后端要做这项功能也有类似的类库,JTS
JTS Java Topology Suite 几何计算: 1. 前端js就用这个 Turfjs的类库。参考网站: 计算两线段相交点 | Turf.js中文网 2. 后端java语言就可以用 JTS这个类库,参考网站: JTS参考网站: 1. https://github.com/locatio…...

从Window中先多瞥几眼
JavaFx17官方文档中有如下的描述: Window类是一个顶层窗口类,在其中可以承载场景,并与用户交互。窗口可以是Stage、PopupWindow或其他类似的顶层窗口。 JavaFX Stage类是顶级的JavaFX容器。初级阶段由平台搭建。其他Stage对象可以由应用程序构造。 许多Stage属性是只读的…...

【STM32训练—WiFi模块】第二篇、STM32驱动ESP8266WiFi模块获取天气
目录 第一部分、前言 1、获取心知天气API接口 2、硬件准备 第二部分、电脑串口助手调试WIFI模块获取天气 1、ESP8266获取天气的流程 2、具体步骤 第三部分、STM32驱动ESP8266模块获取天气数据 1、天气数据的解析 1.1、什么函数来解析天气数据? 2.1、解析后…...

Maven私服
Maven 私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,用来代理位于外部的远程仓库(中央仓库、其他远程公共仓库)。 建立了 Maven 私服后,当局域网内的用户需要某个构件时,会按照如下顺序进行请求…...

手写RPC总结篇
协议制定:client到server做交互的通信协议,比如request response 网络端点peer 难点1 : Jetty嵌入 ◆jetty Server ◆ServletContextHandler ◆ServletHolder jetty server 起到网络监听的作用ServletContextHandler注册到jetty server中ServletHolde…...
c++11 标准模板(STL)(std::ios_base)成员类型与常量
流打开模式类型 std::ios_base::openmode typedef /*implementation defined*/ openmode; static constexpr openmode app /*implementation defined*/ static constexpr openmode binary /*implementation defined*/ static constexpr openmode in /*implementation defi…...
我用 ChatGPT 写 2023 高考语文作文:全国卷(一)
【2023】新高考|卷 “好的故事,可以帮我们更好地表达和沟通,可以触动心灵、启迪智慧:好的故事以改变一个人的命运,可以展现一个民族的形象故事是有力量的。” 以上材料引发了你怎样的联想和思考?请写一篇文章 要求&…...
4.java转义符,javadoc 标签
java常用转义字符 在控制台,输入tab键,可以实现命令补全 (如何解决cmd中Tab键不能自动补充的问题?百度一下) \t : 一个制表符,实现对齐功能\n : 换行符\ \ : 一个\\ " :一个"\ ’ : 一个’\r : 一个回车 …...

PinYin4j库的使用
一、PinYin4j库简介 1、PinYin4j简介 Pinyin4j 是一个流行的 Java 库,支持汉字和大多数流行的拼音系统之间的转换(汉语拼音,罗马拼音等)。可自定义拼音输出格式,功能强大。 官网地址:http://pinyin4j.sou…...

日志框架 --- Logback
文章目录 1. 什么是logback2. logback的日志级别3. 日志级别的层级4. logback配置文件4.1 logger标签4.2 root标签4.3 appender标签4.4 filter标签4.5 encoder标签 5. 整体演示5.1 配置文件5.2 运行结果 1. 什么是logback Logback是一个用于Java应用程序的日志框架,…...

QML 与 Python 交互
在 Qt 中,C 和 QML 交互一般有如下三种方法 上下文属性:setContextProperty( )向引擎注册类型:调用 qmlRegisterType( )QML 扩展插件:虽然有很大的灵活性,但是用 Python 创建 QML 插件比较麻烦,所以这种方法…...

React基础教程(三):JSX语法
React基础教程(三):JSX语法 1、JSX简介 全称:JavaScript XMLreact定义的一种类似于XML的JS扩展语法:JSXML本质是React.createElement(component, props, ...children)方法的语法糖作用:用来简化创建虚拟DOM(注意&…...

软件测试岗位都是女孩子在做吗?
听我一朋友说,测试岗位基本都是女孩子做。” 不知道是不是以前“软件测试岗”给人印象是“不需要太多技术含量”的错觉,从而大部分外行认为从业软件测试的人员中女生应占了大多数。比如有人就觉得:软件测试主要是细心活,所以女生…...

ARP协议,带你了解ARP协议
目录 一、ARP协议概述 二、使用ARP的四种情况 三、ARP缓存 四、ARP的工作原理 1. 地址解析 2. 地址缓存 五、ARP报文格式 1. ARP请求报文格式 2. ARP响应报文格式 六、免费ARP 七、代理ARP 一、ARP协议概述 ARP(Address Resolution Protocol)地…...

基于Java汽车客运站管理系统设计实现(源码+lw+部署文档+讲解等)
博主介绍: ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精…...
0203使用规则-索引-MySQL
文章目录 1 联合索引1.1 最左前缀法则1.2 范围查询 2 索引失效2.1 常见情况2.2 数据分布影响 3 SQL提示4 覆盖索引和回表查询5 前缀索引6 单列和联合索引7 设计原则结语 1 联合索引 1.1 最左前缀法则 在Mysql数据库中创建了联合索引(或称复合索引,即包含…...

LVS+Keepalived群集
一、Keepalived概述 Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题。 在一个LVS服务集群中通常有主服务器(MASTER)和备份服务器(BACKUP)两种角色的服务器,…...

抖音矩阵系统源代码开发部署--源码搭建
抖音矩阵系统是一个具有强大功能的开放性平台,通过数据挖掘技术能够实现精准的用户画像和个性化推荐,这也是抖音成为国内最受欢迎的短视频平台之一的原因之一。矩阵系统的开发需要大量的技术支持和数据分析,同时也需要综合运用大数据、机器学…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...

Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
3403. 从盒子中找出字典序最大的字符串 I
3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝
目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...
WebRTC从入门到实践 - 零基础教程
WebRTC从入门到实践 - 零基础教程 目录 WebRTC简介 基础概念 工作原理 开发环境搭建 基础实践 三个实战案例 常见问题解答 1. WebRTC简介 1.1 什么是WebRTC? WebRTC(Web Real-Time Communication)是一个支持网页浏览器进行实时语音…...
基于鸿蒙(HarmonyOS5)的打车小程序
1. 开发环境准备 安装DevEco Studio (鸿蒙官方IDE)配置HarmonyOS SDK申请开发者账号和必要的API密钥 2. 项目结构设计 ├── entry │ ├── src │ │ ├── main │ │ │ ├── ets │ │ │ │ ├── pages │ │ │ │ │ ├── H…...