狂飙Linux平台,PostgreSQL16部署大全

2024-03-12 08:44

本文主要是介绍狂飙Linux平台,PostgreSQL16部署大全,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

📢📢📢📣📣📣
哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验
一位上进心十足的【大数据领域博主】!😜😜😜
中国DBA联盟(ACDU)成员,目前服务于工业互联网
擅长主流Oracle、MySQL、PG、高斯及Greenplum运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。
✨ 如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】💞💞💞
❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️

文章目录

    • 📣 1.源码安装
      • ✨ 1.1 源码包下载
      • ✨ 1.2 创建用户
      • ✨ 1.3 创建目录
      • ✨ 1.4 本地yum源配置
      • ✨ 1.5 操作系统参数设置
      • ✨ 1.6 编译安装
      • ✨ 1.7 配置环境变量
      • ✨ 1.8 初始化DB
      • ✨ 1.9 配置DB参数
      • ✨ 1.10 数据库启动
    • 📣 2.RPM离线安装PG
      • ✨ 2.1 RPM包下载
      • ✨ 2.2 环境变量配置
      • ✨ 2.3 数据库初始化
      • ✨ 2.4 配置DB参数
    • 📣 3.YUM在线安装
      • ✨ 3.1 安装依赖包
      • ✨ 3.2 配置YUM源
      • ✨ 3.3 确认版本
      • ✨ 3.4 安装PG
      • ✨ 3.5 初始化PG
      • ✨ 3.6 DB登陆
      • ✨ 3.7 配置文件修改
    • 4.总结


PostgreSQL16的部署方式可以基于Linux,也可以在Window上部署,作为目前最火的关系型数据库,安装部署是第一步,本文详细介绍了PostgreSQL16基于Linux8操作系统的3种部署方式,并附带了避坑指南,希望带领大家开启PG的学习之路

官方文档指南
https://www.postgresql.org/docs/

📣 1.源码安装

✨ 1.1 源码包下载

官网下载安装包
https://www.postgresql.org/ftp/source/

在这里插入图片描述

✨ 1.2 创建用户

[root@rhel8 ~]# groupadd -g 60000 postgres
[root@rhel8 ~]# useradd -u 60000 -g postgres postgres
[root@rhel8 ~]# echo “postgres” | passwd --stdin postgres

在这里插入图片描述

✨ 1.3 创建目录

[root@rhel8 ~]# mkdir -p /pgccc/{pgdata,archive,scripts,backup,pgsql-16,soft}
[root@rhel8 ~]# chown -R postgres:postgres /pgccc
[root@rhel8 ~]# chmod -R 775 /pgccc

✨ 1.4 本地yum源配置

1.创建挂载路径
[root@rhel8 ~]# mkdir -p /mnt/cdrom2.挂载系统镜像光盘到指定目录
#因为光盘的格式通常是iso9660,意思是/dev/sr0挂载在/mnt/cdrom目录上
[root@rhel8 ~]# mount -t iso9660 /dev/sr0 /mnt/cdrom
mount: /mnt/cdrom: WARNING: device write-protected, mounted read-only.3.修改yum源配置文件
编辑rhel8-local.repo文件
[root@rhel8 ~]# cd /etc/yum.repos.d
[root@rhel8 yum.repos.d]# vi rhel8-local.repo
[localREPO]
name=localhost8
baseurl=file:///mnt/cdrom/BaseOS
enable=1
gpgcheck=0[localREPO_APP]
name=localhost8_app
baseurl=file:///mnt/cdrom/AppStream
enable=1
gpgcheck=04.配置好后重建本地缓存
yum clean all 
yum makecache 
yum repolist安装依赖包
yum install -y openssl openssl-devel pam pam-devel libxml2 libxml2-devel \
libxslt libxslt-devel perl perl-devel python-devel perl-ExtUtils-Embed \
readline readline-devel bzip2 zlib zlib-devel \
gettext gettext-devel bison flex gcc gcc-c++ \
boost-devel gmp* mpfr* libevent* libpython3.6myum install libicu-devel -y
yum install zlib-devel -y

✨ 1.5 操作系统参数设置

--关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld--关闭安全服务
临时关闭:
setenforce 0永久关闭:
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config查看是否成功关闭:
getenforce
cat /etc/selinux/config--资源限制
vi /etc/security/limits.conf
soft    nofile   65535
hard    nofile   65535
soft    nproc   65535
hard    nproc   65535

✨ 1.6 编译安装

[root@rhel8 ~]# cp /opt/postgresql-16.2.tar.gz /pgccc/soft
[root@rhel8 ~]# chown -R postgres:postgres /pgccc/soft
[root@rhel8 ~]# chmod -R 775 /pgccc/soft

[root@rhel8 ~]# su - postgres
[postgres@rhel8 ~]$ cd /pgccc/soft/
[postgres@rhel8 soft]$ tar zxvf postgresql-16.2.tar.gz

–配置预编译
[postgres@rhel8 postgresql-16.2]$ ./configure --prefix=/pgccc/pgsql-16 --without-readline

在这里插入图片描述

–编译及安装
[postgres@rhel8 postgresql-16.2]$ make -j 4 && make install
#编译及安装正常,则输出结尾如下

在这里插入图片描述

✨ 1.7 配置环境变量

cat >> ~/.bash_profile <<"EOF"
export LANG=en_US.UTF-8
export PS1="[\u@\h \W]\$ "
export PGPORT=5432
export PGDATA=/pgccc/pgdata
export PGHOME=/pgccc/pgsql-16
export PATH=$PGHOME/bin:$PATH:.
export PGUSER=postgres
export PGDATABASE=postgres
EOF[postgres@rhel8 ]$ source  /.bash_profile

✨ 1.8 初始化DB

[root@rhel8 ~]# su - postgres
[postgres@rhel8 ~]# /pgccc/pgsql-16/bin/initdb -D /pgccc/pgdata -E UTF8
–locale=en_US.utf8 -U postgres

在这里插入图片描述

[postgres@rhel8 ~]$ pg_ctl -D /pgccc/pgdata -l logfile start

在这里插入图片描述

✨ 1.9 配置DB参数

两个参数文件:

cat >> /pgccc/pgdata/postgresql.conf <<"EOF"
listen_addresses = '*'
port=5432
#unix_socket_directories='/pgccc/pgdata'
logging_collector = on
log_directory = 'pg_log'
log_filename = 'postgresql-%a.log'
log_truncate_on_rotation = on
EOFcat > /pgccc/pgdata/pg_hba.conf << EOF
# TYPE  DATABASE    USER    ADDRESS       METHOD
local     all       all                    trust
host      all       all   127.0.0.1/32     trust
host      all       all    0.0.0.0/0      md5
host   replication  all    0.0.0.0/0      md5
local  replication  all                    trust
EOF

✨ 1.10 数据库启动

[root@rhel8 ~]# su - postgres
[postgres@rhel8 ~]$ pg_ctl restart
[postgres@rhel8 ~]$ pg_ctl status
[postgres@rhel8 ~]$ netstat -anp | grep 5432
[postgres@rhel8 ~]$ cd /pgccc/pgdata/pg_log --日志文件

在这里插入图片描述

📣 2.RPM离线安装PG

✨ 2.1 RPM包下载

https://ftp.postgresql.org/pub/repos/yum/16/redhat/rhel-8.1-x86_64/

数据库lib库
postgresql16-libs-16.2-1PGDG.rhel8.x86_64.rpm
客户端安装包
postgresql16-16.2-1PGDG.rhel8.x86_64.rpm
数据库主程序
postgresql16-server-16.2-1PGDG.rhel8.x86_64.rpm

下载libzstd依赖包,高于1.4.0版本
https://rpmfind.net/linux/rpm2html/search.php

rpm -ivh libzstd-1.4.4-1.el8.x86_64.rpm
rpm -ivh postgresql16-libs-16.2-1PGDG.rhel8.x86_64.rpm
rpm -ivh postgresql16-16.2-1PGDG.rhel8.x86_64.rpm
rpm -ivh postgresql16-server-16.2-1PGDG.rhel8.x86_64.rpm

在这里插入图片描述

✨ 2.2 环境变量配置

[root@rhel8 ~]# su - postgrescat >> ~/.bash_profile <<"EOF"
export LANG=en_US.UTF-8
export PS1="[\u@\h \W]\$ "
export PGPORT=5432
export PGDATA=/pgccc/pgdata
export PGHOME=/usr/pgsql-16
export PATH=$PGHOME/bin:$PATH:.
export PGUSER=postgres
export PGDATABASE=postgres
EOF[postgres@rhel8 ]$ source  ~/.bash_profile 

✨ 2.3 数据库初始化

mkdir -p /pgccc/{pgdata,archive,scripts,backup,pgsql-16,soft}
chown -R postgres:postgres /pgccc
chmod -R 775 /pgccc

su - postgres
/usr/pgsql-16/bin/initdb -U postgres -E utf8 -D /pgccc/pgdata

在这里插入图片描述

✨ 2.4 配置DB参数

两个参数文件:
/pgccc/pgdata/postgresql.conf
/pgccc/pgdata/pg_hba.conf

cat >> /pgccc/pgdata/postgresql.conf <<"EOF"
listen_addresses = '*'
port=5432
logging_collector = on
log_directory = 'pg_log'
log_filename = 'postgresql-%a.log'
log_truncate_on_rotation = on
EOFcat > /pgccc/pgdata/pg_hba.conf << EOF
# TYPE  DATABASE    USER    ADDRESS       METHOD
local     all       all                    trust
host      all       all   127.0.0.1/32     trust
host      all       all    0.0.0.0/0      md5
host   replication  all    0.0.0.0/0      md5
local  replication  all                    trust
EOF

#启动
[root@rhel8 ~]# su - postgres
[postgres@rhel8 ~]$ pg_ctl restart
[postgres@rhel8 ~]$ pg_ctl status
[postgres@rhel8 ~]$ netstat -anp | grep 5432
[postgres@rhel8 ~]$ cd /pgccc/pgdata/pg_log --日志文件

在这里插入图片描述

📣 3.YUM在线安装

✨ 3.1 安装依赖包

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo

yum install -y cmake make gcc zlib gcc-c++ perl readline readline-devel
yum install -y zlib-devel perl python36 tcl openssl ncurses-devel openldap pam
yum install -y zlib libicu

✨ 3.2 配置YUM源

sudo dnf install -y \
https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

✨ 3.3 确认版本

dnf update
yum repolist all | grep pgdg
yum repolist enabled | grep pgdg

在这里插入图片描述

✨ 3.4 安装PG

离线安装
rpm -ivh libzstd-1.4.4-1.el8.x86_64.rpm
yum install -y postgresql16 postgresql16-server
#环境变量
–root下操作
echo “export PATH=/usr/pgsql-16/bin:$PATH” >> /etc/profile

✨ 3.5 初始化PG

/usr/pgsql-16/bin/postgresql-16-setup initdb
systemctl enable postgresql-16
systemctl start postgresql-16
systemctl status postgresql-16

在这里插入图片描述

✨ 3.6 DB登陆

su - postgres
[postgres@rhel8 ~]$ psql
postgres=# \l

在这里插入图片描述

✨ 3.7 配置文件修改

cat >> /var/lib/pgsql/16/data/postgresql.conf <<"EOF"
listen_addresses = '*'
port=5432
#unix_socket_directories='/var/lib/pgsql/16/data'
logging_collector = on
log_directory = 'pg_log'
log_filename = 'postgresql-%a.log'
log_truncate_on_rotation = on
EOF##黑名单配置
cat << EOF > /var/lib/pgsql/16/data/pg_hba.conf
# TYPE  DATABASE    USER    ADDRESS       METHOD
local     all       all                    trust
host      all       all   127.0.0.1/32     trust
host      all       all    0.0.0.0/0      md5
host   replication  all    0.0.0.0/0      md5
local  replication  all                    trust
EOF

systemctl restart postgresql-16 --重启
systemctl status postgresql-16 --查看状态

4.总结

安装部署是关键,只有环境才能更好的训练,以上内容我已经在B站制作了详细视频

B站直播间:
https://www.bilibili.com/video/BV1yj421Z7iJ

这篇关于狂飙Linux平台,PostgreSQL16部署大全的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/800718

相关文章

python管理工具之conda安装部署及使用详解

《python管理工具之conda安装部署及使用详解》这篇文章详细介绍了如何安装和使用conda来管理Python环境,它涵盖了从安装部署、镜像源配置到具体的conda使用方法,包括创建、激活、安装包... 目录pytpshheraerUhon管理工具:conda部署+使用一、安装部署1、 下载2、 安装3

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

k8s部署MongDB全过程

《k8s部署MongDB全过程》文章介绍了如何在Kubernetes集群中部署MongoDB,包括环境准备、创建Secret、创建服务和Deployment,并通过Robo3T工具测试连接... 目录一、环境准备1.1 环境说明1.2 创建 namespace1.3 创建mongdb账号/密码二、创建Sec

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

Linux Mint Xia 22.1重磅发布: 重要更新一览

《LinuxMintXia22.1重磅发布:重要更新一览》Beta版LinuxMint“Xia”22.1发布,新版本基于Ubuntu24.04,内核版本为Linux6.8,这... linux Mint 22.1「Xia」正式发布啦!这次更新带来了诸多优化和改进,进一步巩固了 Mint 在 Linux 桌面

LinuxMint怎么安装? Linux Mint22下载安装图文教程

《LinuxMint怎么安装?LinuxMint22下载安装图文教程》LinuxMint22发布以后,有很多新功能,很多朋友想要下载并安装,该怎么操作呢?下面我们就来看看详细安装指南... linux Mint 是一款基于 Ubuntu 的流行发行版,凭借其现代、精致、易于使用的特性,深受小伙伴们所喜爱。对

什么是 Linux Mint? 适合初学者体验的桌面操作系统

《什么是LinuxMint?适合初学者体验的桌面操作系统》今天带你全面了解LinuxMint,包括它的历史、功能、版本以及独特亮点,话不多说,马上开始吧... linux Mint 是一款基于 Ubuntu 和 Debian 的知名发行版,它的用户体验非常友好,深受广大 Linux 爱好者和日常用户的青睐,