Centos7下安装postgresql(tar包形式安装)

1、官网下载地址:

https://www.postgresql.org/ftp/source/

2、将下载来tar包上传到linux服务器上

3、将tar包解压到指定目录下

# -C 后面是解压后存放的目录
tar -zxvf postgresql-14.4.tar.gz -C /opt/module/

4、编译,进入到postgresql-14.2目录下,执行下面的命令

  1. 执行编译命令前先安装依赖
  • 安装C语言编译器
yum install gcc -y
  • 安装编译需要的依赖
yum install -y readline-devel
yum install zlib-devel
  1. 执行编译命令
./configure --prefix=/usr/local/postgresql

安装完编译所需的依赖后,执行以上编译命令就可以编译成功喽!

5、安装

make && make install

执行完毕,在/usr/local目录下就会有pgsql这个目录

6、创建data和log目录

 mkdir /usr/local/postgresql/data
mkdir /usr/local/postgresql/log

7、加入系统环境变量

  1. 打开系统环境配置文件
# 本安装示例中此处的my_env.sh是自己新建的,也可以直接在/etc/profile 中配置
vim /etc/profile.d/my_env.sh
  1. 配置环境变量
export PGHOME=/usr/local/postgresql
export PGDATA=/usr/local/postgresql/data
export PATH=$PATH:$JAVA_HOME/bin:$PGHOME/bin

  1. 使配置生效
source /etc/profile

8、增加用户 postgres 并赋权

useradd postgres
chown -R postgres:root /usr/local/postgresql/

9、初始化数据库

# 切换为自己前面创建的用户
su postgres
# 初始化数据库操作
/usr/local/postgresql/bin/initdb -D /usr/local/postgresql/data/

注:不能在 root 用户下初始数据库,否则会报错

[root@develop-env~]# /usr/local/postgresql/bin/initdb -D /usr/local/postgresql/data/
initdb: cannot be run as root
Please log in (using, e.g., "su") as the (unprivileged) user that will
own the server process.

10、编辑配置文件

  1. 打开postgresql.conf配置文件
vim /usr/local/postgresql/data/postgresql.conf
  1. 修改配置信息
# 设置所有ip可连接
listen_addresses = '*' # 设置监听端口
port = 5432

  1. 打开pg_hba.conf配置文件
vim /usr/local/postgresql/data/pg_hba.conf
  1. 修改配置信息
# 所有数据库(all)、所有用户(all)、从本机(127.0.0.1/32)均可免密访问(trust)
host all all 0.0.0.0/0 trust

注:

TYPE:pg的连接方式,local:本地unix套接字,host:tcp/ip连接

DATABASE:指定数据库

USER:指定数据库用户

ADDRESS:ip地址,可以定义某台主机或某个网段,32代表检查整个ip地址,相当于固定的ip,24代表只检查前三位,最后一位是0~255之间的任何一个

METHOD:认证方式,常用的有ident,md5,password,trust,reject。

  • md5是常用的密码认证方式。

  • password是以明文密码传送给数据库,建议不要在生产环境中使用。

  • trust是只要知道数据库用户名就能登录,建议不要在生产环境中使用。

  • reject是拒绝认证。

11、启动服务

pg_ctl start -l /usr/local/postgresql/log/pg_server.log

12、查看版本

 psql -v

13、登录数据库

psql -U postgres -d postgres

14、第三方可视化工具连接

Navicat Premium

15、无法远程访问

取消了远程访问ip的限制后,还是无法远程访问的问题

可能原因:5432端口未开放

解决措施:

  1. 直接关闭防火墙
# 关闭防火墙
systemctl stop firewalld
# 开启防火墙
systemctl start firewalld
# 查看防火墙状态
systemctl status firewalld
# 重启防火墙
systemctl restart firewalld
  1. 配置防火墙,开启5432端口
  • 开放5432端口
firewall-cmd --zone=public --add-port=5432/tcp --permanent
  • 关闭5432端口
firewall-cmd --zone=public --remove-port=5432/tcp --permanent
  • 让配置立即生效
firewall-cmd --reload
  • 重启防火墙
systemctl restart firewalld
  • 查看已开放的端口
firewall-cmd --list-ports

至此postgresql安装完成O(∩_∩)O哈哈~ヾ(◍°∇°◍)ノ゙

Centos7下安装postgresql(tar包形式安装)的更多相关文章

  1. inux centos7下源码 tar安装5.7.26详解

    inux centos7下源码 tar安装5.7.26图文详解 官网地址 https://dev.mysql.com/downloads/mysql/ 1.卸载Linux系统上自带的mysql插件(o ...

  2. centos7下使用x11远程带窗口安装Oracle

    目录 centos7静默安装oracle11gR2 文章目录 一.检查硬件要求 1.内存要求: 2.安装包: 二.环境准备 1.安装必要的工具 2.关闭防火墙 3.关闭Selinux 4.安装Orac ...

  3. 记录centos7下tomcat部署war包过程

    记录centos7下tomcat部署war包过程 1.官网下载tomcat安装包.gz结尾的 2.上传到/usr/local/ ,并解压到tomcat目录下 3.进入tomcat/bin目录,运行./ ...

  4. linux centos7下源码 tar安装mysql5.7.22或mysql5.7.20 图文详解

    之前用的rpm安装的每次安装都是最新的,,,导致每次版本不统一... 现在用tar包安装5.7.22和5.7.20一样的   5.7.20之后的和之前的版本还是有点不一样的 官网地址 https:// ...

  5. centos7下使用mysql离线安装包安装mysql5.7

    服务器环境: centos7 x64 需要安装mysql5.7+ 一.卸载CentOS7系统自带mariadb # 查看系统自带的Mariadb [root@CDH-141 ~]# rpm -qa|g ...

  6. linux下gdal的python包的安装

    由于python包是从C++包编译出来的,所以需要先下载源码进行编译安装.1. gdal下载http://download.osgeo.org/gdal/CURRENT/sudo ./configur ...

  7. Linux系统:Centos7下搭建PostgreSQL关系型数据库

    本文源码:GitHub·点这里 || GitEE·点这里 一.PostgreSQL简介 1.数据库简介 PostgreSQL是一个功能强大的开源数据库系统,具有可靠性.稳定性.数据一致性等特点,且可以 ...

  8. Linux_CentOS软件安装调试 源代码包编译安装和 二进制包配置

    Linux 下源代码(C 语言)如何编译(安装) 1. 先安装源代码编译的软件 gcc,make,openssl 如下: yum install -y gcc make gcc-c++ openssl ...

  9. linux安装源码包指定安装目录

    当下载完一个源码包并且解压后 文件夹下会有一个重要的文件configure configure 文件是一个可执行的脚本文件,它将检查目标系统的配置和可用功能,比如一些检查依赖或者启用禁用一些模块,它有 ...

随机推荐

  1. 用Python做了个图片识别系统(附源码)

    本项目将使用python3去识别图片是否为色情图片,会使用到PIL这个图像处理库,并且编写算法来划分图像的皮肤区域 介绍一下PIL: PIL(Python Image Library)是一种免费的图像 ...

  2. Unity3D学习笔记6——GPU实例化(1)

    目录 1. 概述 2. 详论 3. 参考 1. 概述 在之前的文章中说到,一种材质对应一次绘制调用的指令.即使是这种情况,两个三维物体使用同一种材质,但它们使用的材质参数不一样,那么最终仍然会造成两次 ...

  3. Django定时任务Django-crontab的使用

    在使用的django做测试平台时,,多多少少都会遇到需要定时任务的功能,比如定时执行任务,检查订单之类 的.可能是一段时间,比如每隔 10分钟执行一次,也可能是定点时间,比如 14:00 执行,也可能 ...

  4. SimpleDateFormat类介绍和 DateFormat类的format方法和parse方法

    使用 SimpleDateFormat格式化日期 SimpleDateFormat 是一个以语言环境敏感的方式来格式化和分析日期的类.SimpleDateFormat 允许你选择任何用户自定义日期时间 ...

  5. JavaWEB-02-MySQL高级

    内容 约束 多表关系 一对一 一对多 多对多 多表联查 ==多表联查== 事务 1. 约束 1.1 概念 限制,在数据库中是对某一列(多列)进行限制. 对表中的数据进行限定,保证正确性.有效性.完整性 ...

  6. HTTPS请求不被信用

    sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath ...

  7. NOI / 2.5基本算法之搜索-6044:鸣人和佐助详解

    总时间限制: 1000ms 内存限制: 65536kB 题目 佐助被大蛇丸诱骗走了,鸣人在多少时间内能追上他呢? 已知一张地图(以二维矩阵的形式表示)以及佐助和鸣人的位置.地图上的每个位置都可以走到, ...

  8. Netty源码解读(三)-NioEventLoop

    先看看EventLoop类图 我们在Netty第二篇文章中的代码中,看到有多次用到eventLoop.execute()方法,这个方法就是EventLoop开启线程执行任务的关键,跟踪进去看看 // ...

  9. css基础03

    就近原则执行粉色.而不是全覆盖,只有样式冲突的地方才会覆盖. 会执行粉色和12px.后来者居上 高度宽度内外边距这些不会继承. 子元素会继承行高, 1.5是行高是字体大小的1.5倍的意思. 有了!im ...

  10. SQL 字符串去除空格函数汇总

    SQL 中使用ltrim()去除左边空格 ,rtrim()去除右边空格 ,没有同时去除左右空格的函数,要去除所有空格可以用replace(字符串,' ',''),将字符串里的空格替换为空 . 例:去除 ...