​​​​Linux Shell 实现一键部署postgres15

news/2024/2/21 3:08:18

postgres 前言

PostgreSQL 是一个功能强大的开源对象关系数据库系统,拥有超过 35 年的积极开发经验 这为其赢得了可靠性、功能稳健性和性能的良好声誉。

通过官方文档可以找到大量描述如何安装和使用 PostgreSQL 的信息。 开源社区提供了许多有用的地方来熟悉PostgreSQL, 了解其运作方式,并寻找职业机会。了解更多有关 如何与社区互动。

 download postgres

postgres allpgadmin all文档
downloaddownload参考

Linux 各系统下载使用参考

Red HatRocky Linux Oracle Linux

AlmaLinux 

ubuntususelinuxesxiRHEL标准安装系统安装参考YUM参考

MobaXterm 远程连接工具

Red Hat Enterprise 9.0 文档Kickstart 生成器
downloaddownloaddownloaddownloaddownloaddownloaddownload参考参考配置参考download参考Kickstart 
版本兼容性

postgres 一键自动化部署

  • 最终实现在线下载postgres,编译安装postgres,环境变量,初始化postgres数据库,用户密码配置,用户权限设置,远程连接设置,数据库创建postdb,启动脚本创建,防火墙配置,安装包删除。
  • postgres/Report@123 #postgres用户名密码
  • postgres / postgres #用户名,组
  • /opt/pgsql/data #数据目录
  • /opt/pgsql #安装目录
  • postgresql 5432 #postgresql端口
  • /opt/pgsql/data/pg_hba.conf #远程连接授权
  • /opt/pgsql/data/postgresql.conf #远程连接授权
  • /usr/lib/systemd/system/postgresql.service #postgresql启动服务脚本
  • su  - postgres -c 'psql -c "SELECT version();"' #postgres版本获取
  • if 判断是否存在postgres用户(if ! compgen -u postgres  &> /dev/null)
  • increase indent:Tab
  • decrease indent:Shift+Tab
vim /postgres_15_install.sh
#!/bin/bash
# -*- coding: utf-8 -*-
# Author: CIASM
# update 2023/06/02
# increase indent:Tab
# decrease indent:Shift+Tab
# install source postgresinstall_postgres (){if ! compgen -u postgres  &> /dev/nullthenif [ $? -eq 0 ];thenpostgres_user=postgres
postgres_password=postgres@123pgsql_opt=/opt
pgsql_url=https://ftp.postgresql.org/pub/source/v15.3/
pgsql_gz=postgresql-15.3.tar.gz
pgsql_data=data
pgsql_download=download
pgsql_pgsql=pgsql
pgsql_decompression_directory=postgresql-15.3
pgsql_installation_directory=/opt/pgsqlecho "Create user and groups for postgres Database service"
groupadd $postgres_user
useradd -m -g $postgres_user -d $pgsql_installation_directory $postgres_usermkdir -p $pgsql_installation_directory/{/$pgsql_data,/$pgsql_download}
chown -R $postgres_user:$postgres_user $pgsql_installation_directory/$pgsql_dataecho "Firewall port development"
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
firewall-cmd --zone=public --add-port=5432/tcp --permanent && firewall-cmd --reloadecho "Add postgres users to users and user groups"
echo "$postgres_password" | passwd --stdin $postgres_userecho "Dependent installation"
yum install -y http://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
yum install -y ncurses-devel readline-devel zlib zlib-devel perl-ExtUtils-Embed
yum install -y lz4-devel openssl openssl-devel libxml2 libxml2-devel pam pam-devel systemd-devel
yum install -y gcc gcc-c++ net-tools make cmakeecho "download pgsql"
wget -N -P $pgsql_opt/$pgsql_download $pgsql_url$pgsql_gzecho "install pgsql"
tar -zxf $pgsql_opt/$pgsql_download/$pgsql_gz -C $pgsql_opt
cd $pgsql_opt/$pgsql_decompression_directory
./configure --prefix=$pgsql_installation_directory && make && make installecho "pgsql environment variable"
su - postgres <<EOF
echo 'umask 022' >>  ~/.bash_profile
echo 'export PGHOME=/opt/pgsql' >>  ~/.bash_profile
echo 'export PGDATA=/opt/pgsql/data' >>  ~/.bash_profile
echo 'export PATH=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/pgsql/bin' >>  ~/.bash_profile
echo 'export MANPATH=/opt/pgsql/share/man' >>  ~/.bash_profile
echo 'export LD_LIBRARY_PATH=/opt/pgsql/lib' >>  ~/.bash_profile
echo 'export LANG=en_US.utf8' >>  ~/.bash_profile
source  ~/.bash_profile
/opt/pgsql/bin/initdb -D /opt/pgsql/data
/opt/pgsql/bin/pg_ctl -D /opt/pgsql/data -l logfile start
psql -c "ALTER USER postgres WITH PASSWORD 'Report@123'"
sed -i "59a\listen_addresses = '*'" /opt/pgsql/data/postgresql.conf
echo 'host    all             all             0.0.0.0/0             md5' >> /opt/pgsql/data/pg_hba.conf 
psql -c "SELECT version();"
psql -c "create database postdb owner postgres;"
psql -c "grant all privileges on database postdb to postgres;"
/opt/pgsql/bin/pg_ctl -D /opt/pgsql/data -l logfile reload
EOFecho "postgresql.service add system"
cat >>/usr/lib/systemd/system/postgresql.service<<EOF
[Unit]
Description=PostgreSQL database server
After=network.target[Service]
Type=forking
User=postgres
Group=postgres
Environment=PGHOME=/opt/pgsql
Environment=PGDATA=/opt/pgsql/data
ExecStart=/opt/pgsql/bin/pg_ctl -D /opt/pgsql/data start
ExecStop=/opt/pgsql/bin/pg_ctl -D /opt/pgsql/data -l logfile stop
ExecReload=/opt/pgsql/bin/pg_ctl -D /opt/pgsql/data -l logfile reload
Restart=always[Install]
WantedBy=multi-user.target
EOFsystemctl daemon-reload && systemctl enable postgresqlecho "Deleting an installation package"
rm -rf $pgsql_opt/$pgsql_download $pgsql_opt/$pgsql_decompression_directoryecho -e "\033[32mThe postgresql Install Success...\033[0m" elseecho -e "\033[31mThe postgresql Install Failed...\033[0m" exit 1fi
elseecho -e "\033[33mThe postgresql Install already...\033[0m"
fi
}main (){install_postgres
}main

 执行一键安装postgres

sh /postgres_15_install.sh

pgadmin连接postgres

  • 端口5432
  • 用户名密码postgres/Report@123
  • postgres IP地址

 


http://www.ppmy.cn/news/162927.html

相关文章

wireshark抓包测试:海康摄像机

之前反馈海康威视的网络监控摄像机数据在平台拉流异常&#xff0c;读取不到数据&#xff0c;问题所在范围很大&#xff0c;一步步查找&#xff0c;跟着领导学抓包测试&#xff0c;在学校接触过wireshark抓包&#xff0c;不过只是小打小闹入门而已&#xff0c;真正实战的还是得跟…

小蚁智能摄像机服务器故障,小蚁智能摄像机app怎么和摄像头连接

小蚁智能摄像机APP是一个服务特别齐全的移动监控应用。该应用包含了远程控制、语音控制、手势识别、实时回放等功能。在APP内&#xff0c;使用者不光能够任意控制硬件设备&#xff0c;还可以把录下的视频进行抓拍。并且该应用采取双重加密的形式线上管理视频数据。 小蚁智能摄像…

ping 丢包 网络摄像头_网络摄像机频繁掉线的处理方法

在实际工作中&#xff0c;摄像机装好后&#xff0c;用的好好的&#xff0c;忽然掉线了&#xff0c;过了一会儿自己又上线了&#xff0c;然后趁你不注意又莫名其妙的掉线了。如何解决网络摄像机或者说网络设备频繁掉线的问题?从下面五个方面首手处理这个问题&#xff1a; 第一、…

unity摄像机控制脚本

一、摄像机结构 二、安卓端已验证,可以使用;调整旋转的速度和阻尼值的时候需谨慎,否则会出现反转现象(完整包下载链接) 三、代码 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems

IOS,Xcode打包添加调用摄像机权限

ios系统更新之后&#xff0c;如果开发程序需要使用摄像头麦克风等权限&#xff0c;需要设置下权限问题&#xff0c;要不然&#xff0c;程序会没有任何提示的直接崩溃&#xff01; 可添加的属性 &#xff1a; 麦克风权限&#xff1a;Privacy - Microphone Usage Description …

宇视网络视频录像机添加摄像机提示离线

通道状态&#xff1a;摄像机显示“离线&#xff08;网络不通&#xff09;” 排查步骤&#xff1a; 一、首先确认NVR是否正常配置IP地址。 进入【配置】---【网络配置】---【TCP/IP】 确认是否开启&#xff0c;自动获取IPv4地址&#xff0c;若开启&#xff0c;则需要对应局域网…

gige相机二次开发_GigE Vision接口摄像机及其应用

摘 要: GigE Vision接口技术成为了机器视觉工业的一项非常具有吸引力的技术,Basler scout系列GigE Vision摄像机具有卓越的性能, Basler提供了Pylon驱动包开发包,可方便用户二次开发。将该摄像机应用于10 m水位试验台铟钢尺图像获取并在计算机上显示。 关键词: GigE Visi…

手机摄像模组基本知识

1.手机摄像模组工作原理概述 工作原理&#xff1a; 景物通过镜头&#xff08;lens&#xff09;生成的光学图像投射到感光芯片上&#xff0c;然后转为电信号&#xff0c;经过A/D&#xff08;模数 转换&#xff09;转换后变成数字图像信号&#xff0c;再送到数字信号处理…

摄像机几何学(二)

一、图像坐标&#xff1a;我想和世界坐标谈谈(A) 玉米竭力用轻松具体的描述来讲述双目三维重建中的一些数学问题。希望这样的方式让大家以一个轻松的心态阅读玉米的《计算机视觉学习笔记》双目视觉数学架构系列博客。这个系列博客旨在捋顺一下已标定的双目视觉中的数学主线。数…

Unity 图形 - 摄像机

文章目录 1. Camera1.1 透视和正交1.2 视口区域形状1.3 背景 2. 使用多个摄像机2.1 多个摄像机切换2.2 全屏渲染部分屏幕区域渲染 3. 使用物理摄像机 Using Physical cameraLens ShiftsGate FitGate Fit ModesVerticalHorizontalNoneFill and Overscan 4. 使用技巧 Camera Tric…

Qt中的窗口类及其特点

目录 常用的窗口类 窗口的显示内嵌窗口 QWidget内嵌窗口演示 QWidget不内嵌窗口演示 QDialog类型的窗口特点 QMainWindows窗口的特点 总结 常用的窗口类 常用的窗口类有 3 个 在创建 Qt 窗口的时候&#xff0c;需要让自己的窗口类继承上述三个窗口类的其中一个QWidget 所有…

摄像机标定

一、概述 1、摄像机标定内容 摄像机标定实际上是要求出6个外参数、5个内参数&#xff0c;即旋转和平移矩阵 R 和 T 中的三个坐标系旋转角度和坐标系平移量 (fu f/Sx, fv f/Sy, u0, v0, u)&#xff0c;以及各种畸变系数 k1、k2、p1、p2、s1、s2 等。若不考虑离散后像素变形&a…

ccd摄像机基础知识

ccd摄像机基础知识 前言 什么是ccd&#xff1f; 在闭路监控系统中&#xff0c;摄像机又称摄像头或ccd&#xff08;charge coupled device&#xff09;即电荷耦合元器件。严格来说&#xff0c;摄像机是摄像头和镜头的总称&#xff0c;而实际上&#xff0c;摄像头与镜头大部分是…

OpenGL--摄像机漫游

理论基础 在3D游戏中&#xff0c;我们通常可以通过鼠标或键盘操纵角色英雄在场景中移动&#xff0c;从不同的角度观察物体&#xff0c;这其实就是本章要介绍的摄像机漫游。 关于摄像机漫游其实就是围绕一个函数实现的(通过改变视点以及观察方向来实现)&#xff0c;具体的函数…

摄像机标定学习笔记

摄像机标定学习笔记&#xff0c;后面部分参考链接&#xff1a;http://www.sigvc.org/why/book/3dp/chap6.3.1.htm&#xff0c;如有侵权&#xff0c;立删。同时强烈推荐阅读该链接文章http://www.cnblogs.com/gemstone/articles/2293806.html 利用单目视觉测量模型解算出目标距离…

Unity摄像机详解

摄像机包含五个组件&#xff1a; Transform 变换组件Camera 摄像机&#xff1a;向玩家捕获并展示世界Audio Listener 音频监听器&#xff1a;接受场景输入的音频源并通过计算机的扬声器播放声音。Flare Layer&#xff1a;激活可显示光源耀斑GUI Layer&#xff1a;激活可渲染二…

网络摄像机-ISP基础一

&#xfeff;&#xfeff; 什么是ISP&#xff0c;他的工作原理是怎样的&#xff1f; ISP是Image Signal Processor的缩写&#xff0c;全称是影像处理器。在相机成像的整个环节中&#xff0c;它负责接收感光元件&#xff08;Sensor&#xff09;的原始信号数据&#xff0c;可以理…

URP——摄像机

Unity中的相机就像现实世界中的相机一样工作:它捕捉三维空间中的物体&#xff0c;然后将其展平&#xff0c;显示在二维平面上。 通用渲染管线(URP)中的摄像头基于Unity的标准摄像头功能&#xff0c;但有一些显著的区别。URP相机与标准Unity相机最显著的区别是: 通用附加相机数…

UE4摄像机系统解析

一&#xff0e;摄像机工作原理 在游戏中&#xff0c;摄像机是玩家的眼睛&#xff0c;他控制了玩家的视点&#xff08;POV即PointOfView&#xff0c;后面简称POV&#xff09;位置以及玩家的视野大小&#xff08;FOV即FieldOfView&#xff0c;后面简称FOV&#xff09;。一句话&a…

unity摄影机depth模式_摄像机的深度图

Camera可以创建深度图、深度+法向纹理、运动向量图。这算是一种简化版的G-buffer,这些纹理图可以用在post-processing中,从而实现自定义的光照模型。我们也可以使用Shader Replacement创建这类纹理图。 Camera虽然内置了创建深度图的功能,但是通常该功能是关闭的,需要在脚本…
最新文章