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

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.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 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
http://www.lryc.cn/news/93547.html

相关文章:

  • rpc 异步非阻塞 io 配置 线程池和队列
  • 【Turfjs的java版本JTS】前面讲了Turfjs可以实现几何计算,空间计算的功能,如果后端要做这项功能也有类似的类库,JTS
  • 从Window中先多瞥几眼
  • 【STM32训练—WiFi模块】第二篇、STM32驱动ESP8266WiFi模块获取天气
  • Maven私服
  • 手写RPC总结篇
  • c++11 标准模板(STL)(std::ios_base)成员类型与常量
  • 我用 ChatGPT 写 2023 高考语文作文:全国卷(一)
  • 4.java转义符,javadoc 标签
  • PinYin4j库的使用
  • 日志框架 --- Logback
  • QML 与 Python 交互
  • React基础教程(三):JSX语法
  • 软件测试岗位都是女孩子在做吗?
  • ARP协议,带你了解ARP协议
  • 基于Java汽车客运站管理系统设计实现(源码+lw+部署文档+讲解等)
  • 0203使用规则-索引-MySQL
  • LVS+Keepalived群集
  • 抖音矩阵系统源代码开发部署--源码搭建
  • 如何用Jmeter进行接口测试 ,这应该是全网最详细的教程了
  • C语言---malloc(0)会产生什么结果,真的是空指针吗?
  • 建模助手618 | 谁不囤点Revit插件我都会生气!
  • 【“职场程序员是否会保护自己的隐私?为何要求程序员之间保密薪资?”】
  • 企业工程管理系统源码之提高工程项目管理软件的效率
  • 创新指南 | 推动销售的17个可落地的集客式营销示例
  • ASEMI代理光宝光耦LTV-0314的应用与优势
  • Apikit 自学日记: Apikit 如何发起测试
  • python-glob模块_表格及代码样例
  • GitHub Copilot 最全安装、使用
  • C语言 指针(特别篇)