CentOS 7安装 Postgre

news2024/12/24 21:14:05

零、前置条件

  • 系统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.xreadline-7.0zlib-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 69 09:29 bin
drwxr-xr-x. 6 root root 4096 69 09:29 include
drwxr-xr-x. 4 root root 4096 69 09:29 lib
drwxr-xr-x. 6 root root 4096 69 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
上一次登录:五 69 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 connections
 done
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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【nginx】网页上传文件报错413 Request Entity Too Lange

前言 413 Request Entity Too Lange,由于您的请求实体太长,服务器无法处理。请尝试缩短请求体的内容或者采取其他方式进行操作。如果问题仍然存在,请检查您的请求是否符合服务器的限制和要求,并尝试联系服务器管理员寻求帮助 可以…

轻松掌握 Postman Newman API 测试技巧

目录 前言: Postman Newman 是什么? Postman Newman 的作用 如何使用 Postman Newman? 第一步:安装 Node.js 第二步:全局安装 Newman 第三步:导出集合或环境变量为 JSON 格式 第四步:使…

Python-Selenium-定位详解

目录 前言: 一、id定位 二、name定位 三、class_name定位 四、xpath定位 五、css_selector定位 六、tag_name定位 七、link_text 定位 八、Xpath&Css定位方法速查表 九、By定位 十、elements复数定位 十一、JS的定位 前言: Python是一种…

Jetpack Compose中的LaunchedEffect与rememberCoroutineScope

Jetpack Compose中的LaunchedEffect与rememberCoroutineScope 深入了解Compose副作用API LaunchedEffect和rememberCoroutineScope。 探索使用LaunchedEffect和rememberCoroutineScope的区别和使用场景。 什么是副作用? 副作用是指在可组合函数范围之外发生的任何…

2024考研408-计算机组成原理第三章-存储系统

文章目录 前言一、存储器概述1.1、层次结构1.2、存储器分类1.2.1、层次分类1.2.2、存储介质分类1.2.3、存取方式1.2.4、按照信息的可更改性(读写、只读区别) 1.3、存储器性能指标知识回顾 二、主存储器2.1、主存储器的基本组成(介绍DRAM&…

Axios和Spring MVC[前端和后端的请求和响应处理]

在前后端交互中,Axios和Spring MVC扮演着不同的角色,分别负责前端和后端的请求和响应处理。它们之间的作用如下: Axios(前端): 发送HTTP请求:前端使用Axios库发送HTTP请求到后端。可以使用Axi…

HarmonyOS 极客马拉松2023 正式启动,诚邀极客们用键盘码出无限可能!

原文:HarmonyOS 极客马拉松2023 正式启动,诚邀极客们用键盘码出无限可能!,点击链接查看原文进入报名通道。 2023年6月15日, HarmonyOS极客马拉松2023开赛!期待各位开发者极客朋友一起,探索移动应…

IT自动化运维工具优势与劣势分析-行云管家

随着自动化技术的进步,目前市面上出现了不少IT自动化运维工具。但很多人对于IT自动化运维工具优劣势不是很清楚,这里我们就来一起简单分析分析。 IT自动化运维工具优势 1、提高IT运维工作人员工作效率,提升整体项目效率; 2、提…

HQChart使用教程30-K线图如何对接第3方数据37-如何绘制圆点

HQChart使用教程30-K线图如何对接第3方数据37-如何绘制圆点 效果图步骤json格式nametypeDrawDraw.DrawTypeDraw.DrawData[] HQChart代码地址 效果图 步骤 步骤和第3方指标替换一样, 通过网络协议回调,知道需要执行的指标, 替换自己的数据。这…

chatgpt赋能python:Python中的整数筛选与小数筛选

Python中的整数筛选与小数筛选 Python是一种高级编程语言,常见于各种领域的编程工作中。在Python中,我们可以很方便地筛选整数和小数,用于数据分析、算法计算、图像处理等多个方向。本文将从Python中的整数筛选和小数筛选两个方面进行介绍和…

90%电子工程师都没学透的3W规则,这篇文章一次性告诉你

在PCB设计中,了解和应用3W规则是非常重要的,能帮助工程师在设计阶段时考虑到电路板的功率分布、热管理和可靠性,但很多电子工程师对3W规则只处于皮毛学习阶段,没有做到真正掌握,导致电子设计技术没长进,所以…

​一些常见网络安全术语​

1、黑帽 为非法目的进行黑客攻击的人,通常是为了经济利益。他们进入安全网络以销毁,赎回,修改或窃取数据,或使网络无法用于授权用户。这个名字来源于这样一个事实:老式的黑白西部电影中的恶棍很容易被电影观众识别&…

Mac中开发常用的软件

Mac中开发常用的软件 https://pan.baidu.com/ 开发软件 IDEA2021IntelliJ IDEA 2022 for Mac(最好用的Java开发工具)永久激活版SnailSVNRedisDesktopManagerTermius终端SourceTree(Git)Microsoft Remote Desktop(远程桌面) 数据…

flutter系列之:做一个图像滤镜

文章目录 简介我们的目标带滤镜的图片打造filter按钮打造可滑动按钮最后要解决的问题 简介 很多时候,我们需要一些特效功能,比如给图片做个滤镜什么的,如果是h5页面,那么我们可以很容易的通过css滤镜来实现这个功能。 那么如果在…

复合垂直纳米线中硅锗的选择性湿法蚀刻

引言 目前,对高效能和高性能微电子组件的持续需求是晶体管小型化和芯片密度增加的关键驱动因素。这些纳米级晶体管的性能取决于其架构和材料特性。由于更好的静电性能,全栅场效应晶体管(GAAFET)有望取代当前的FinFET架构。 垂直GAAFET很难集成到当前的…

vue 树形结构,后端返回平级数据 一个页面向另一个页面传递数据

代码 Index.vue页面 methods: {/** 查询会议列表 */getList() {// this.loading true;listMeeting(this.queryParams).then(response > {this.meetingList response.rowsthis.total response.totalthis.loading false})//后端请求树形数据listNoPage().then(response &…

Vue- mixin(混入)

mixin(混入) mixin:翻译过来叫混入,也有人叫混合,官方叫混入 作用:两个组件共享一个配置(配置必须是一样的),本质就是复用配置 通过案例理解学习如何使用以及作用 1 编写案例 提出需求,新增一个组件&a…

css平面转换

目录 平面转换transform(2D转换) CSS3 过渡(重点) 平面转换-平移 平移实现居中效果 平移转换-旋转 平面多重转换 旋转-改变转换原点 平移转换-缩放 平移转换-倾斜 平面转换transform(2D转换) 作用:给元素添加动态效果,一…

阿里云ECS弹性公网IP临时升级带宽

背景 618到来,公司服务器近一周内会出现IO暴增,需要临时升级带宽以满足需求。但由于使用的是EIP,无法直接在实例控制台进行升配。 方案 在弹性公网IP进行扩容 阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

redis面试题详解

缓存 缓存穿透 缓存穿透:查询一个不存在的数据,MySQL查询不到数据也不会直接写入缓存,就会导致每次请求都查数据库。 解决方案一:缓存空数据,查询返回的数据为空,仍把这个空结果进行缓存 解决方案二&am…