【快捷部署】011_PostgreSQL(16)

ITHW011.jpg


📣【快捷部署系列】011期信息

编号选型版本操作系统部署形式部署模式复检时间
011PostgreSQL16Ubuntu 20.04Docker单机2024-03-28

一、快捷部署

#!/bin/bash
#################################################################################
# 作者:cxy@toc 2024-03-27                                                  
# 功能:自动部署PostgreSQL(Docker方式) 
# 说明:如果已安装了Docker,请注释掉 install_docker,避免重复安装                                                                 
#################################################################################

install_docker(){
#更新apt源
apt-get update

#安装依赖包以允许APT通过HTTPS使用存储库
apt-get install -y apt-transport-https ca-certificates curl software-properties-common

#添加Docker的官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

#设置stable存储库
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

#更新apt源
apt-get update

#查看docker-ce可安装的版本
#apt-cache madison docker-ce

#安装指定版本
apt-get -y install docker-ce=5:25.0.5-1~ubuntu.20.04~focal docker-ce-cli=5:25.0.5-1~ubuntu.20.04~focal containerd.io

#查看Docker版本
docker -v

#添加开机自启动
systemctl enable docker

echo "Docker 安装完毕!"
}

info(){
  echo -e "\033[34m 【`date '+%Y-%m-%d %H:%M:%S'`\033[0m" "\033[35m$1\033[0m "
}



install_postgres(){

 mkdir -p /opt/postgres/data
 sudo chown 777 /opt/postgres/data

 read -p "请输入postgres容器启动的root密码(123qwE):" postgres_password
 read -p "请输入postgres容器启动的初始端口(55421):" postgres_port


 postgres_password="${postgres_password:-123qwE}"
 postgres_port="${postgres_port:-55421}"


 info "开始部署启动postgres..."

 docker run -d --name pg16 \
 -p $postgres_port:5432 \
 --privileged=true \
 -e POSTGRES_USER=root \
 -e POSTGRES_PASSWORD="${postgres_password}" \
 -e PGDATA="/var/lib/postgresql/data" \
 -v /opt/postgres/data:/var/lib/postgresql/data \
 postgres:16

 info "postgres部署完毕。端口:${postgres_port},密码:${postgres_password}"

}

install_docker
install_postgres

使用方法:

$ vim install-pg16-ubuntu20.sh
$ chmod +x install-pg16-ubuntu20.sh
$ ./install-pg16-ubuntu20.sh
# 感谢淘客科技提供的实验资源环境


二、入门体验

#进入容器
docker exec -it pg16 bash

#连接pg
psql -U root
#创建一个叫demo的数据库
CREATE DATABASE demo;

#列出数据库
\l

#切换数据库
\c demo

#创建表
CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
);

#查看所有表格
\d

#查看表结构
\d COMPANY

#插入数据
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Paul', 32, 'California', 20000.00);

#查询数据
select * from COMPANY;

#退出
exit

由于是入门系列,所以仅列举了几个简单的场景。
更多信息可访问官网:https://www.postgresql.org
或关注后续相关博文



往期精彩内容推荐

【快捷部署】010_MySQL(5.7.27)
【快捷部署】009_Redis(6.2.14)
【快捷部署】008_Docker(25.0.5)
【快捷部署】007_Tomcat(8.5.79)
【快捷部署】006_DolphinScheduler(3.2.0)
云原生:重塑未来应用的基石


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

leetcode代码记录(买卖股票的最佳时机

目录 1. 题目:2. 我的代码:小结: 1. 题目: 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股…

动物造句子

动物造句子 附小看重家校互动,有时候会邀请各行各业的家长到班里讲课。德德上小学二年级时,有一次,班主任提出邀请我去讲课。 我那时候只给研究生讲一门课《信息论》,这是一门对于研究生来说都比较抽象的课。我怎么把信息论的内…

让ECC升级S/4HANA一步到位的“全面升级方案包”

SAP最新一代商务套件S/4HANA比ECC系统拥有更高性能的存储数据库HANA、更个性化的Fiori用户界面设计系统,能够大大提升系统效率,带来便捷、高效、良好的用户体验。但企业原先使用的ECC系统里面保存了积累多年的关键流程和数据,让企业面对系统升…

力扣爆刷第111天之CodeTop100五连刷41-45

力扣爆刷第111天之CodeTop100五连刷41-45 文章目录 力扣爆刷第111天之CodeTop100五连刷41-45一、232. 用栈实现队列二、4. 寻找两个正序数组的中位数三、31. 下一个排列四、69. x 的平方根五、8. 字符串转换整数 (atoi) 一、232. 用栈实现队列 题目链接:https://le…

Android 代码自定义drawble文件实现View圆角背景

简介 相信大多数Android开发都会遇到一个场景,给TextView或Button添加背景颜色,修改圆角,描边等需求。一看到这样的实现效果,自然就是创建drawble文件,设置相关属性shap,color,radius等。然后将…

观察者模式 C++

👂 Honey Honey - 孙燕姿 - 单曲 - 网易云音乐 目录 🌼前言 🌼描述 🎂问题 💪解决方案 🈲现实场景 代码 场景1 -- 报纸发行 场景 解释 代码 场景2 -- 气象资料发布 场景3 -- 过红绿灯 &#x…

渗透测试:数据库UDF提权(linux)

目录 开头: 1.UDF提权简介: 1.1共享库文件(UDF文件)指定目录: 版本特征: 操作系统版本: 2.靶场UDF提权复现 提权前提 1.要有一个高权限的MySQL的账号 ​编辑 2.MySQL的权限配置secure_file_priv为空 3.必须有存放UDF文件的…

nginx详细配置,高可用

Nginx是一款高性能的Web服务器和反向代理服务器,通常用来进行负载均衡,提供高可用的服务。而Keepalived是一款开源的高可用性解决方案,可以提高系统的可靠性和稳定性。使用Nginx和Keepalived来配置高可用服务的具体步骤如下:1. 安…

题库管理系统-基于Springboot实现JAVA+SQL离散数学题库管理系统(完整源码+LW+翻译)

基于Springboot实现JAVASQL离散数学题库管理系统(完整源码LW翻译) 概述: 本系统具体完成的功能如下: 1题库的管理与维护:新题的录入,修改,删除等功能。 2生成试卷:包括自动生成与手工改动,要…

vue创建项目下载动态路由v-for mounted websocket :style :class store使用说明

在Vue中创建一个项目,并整合动态路由、v-for、mounted生命周期钩子、WebSocket、:style、:class以及Vuex的store,涉及到多个Vue核心特性的使用。下面我将简要说明如何逐步整合这些特性。 1. 创建Vue项目 使用Vue CLI创建项目: 2. 配置动态路…

react状态管理库---zustand

一个简单的,快速的状态管理解决方案,api设计基于函数式和hooks 安装: npm install zustand 基础使用 让我们实现一个非常简单的计数器案例完成我们的第一个store 1- 创建一个counterStore create( ) 有三个参数:函数、布尔值…

某音乐平台歌曲信息逆向之参数寻找

如何逆向加密参数:某音乐平台歌曲信息逆向之webpack扣取-CSDN博客 参数构建 {"comm": {"cv": 4747474,"ct": 24,"format": "json","inCharset": "utf-8","outCharset": "ut…

从0到1实现RPC | 04 负载均衡和静态注册中心

一、Router的定义 Router路由用于预筛选,Dubbo有这样的设计,SpringCloud没有。 二、LoadBanlancer定义 负载均衡器:默认取第一个 当前支持随机和轮询两种负载均衡器。 随机:从所有provider中随机选择一个。 轮询:每…

ctf奇淫巧计

%00截断: %00在urldecode后就是0x00,一些函数诸如preg_match遇到0x00会直接停止。 String tartget_url req.getParameter("url");String pri tartget_url.substring(0, tartget_url.indexOf(":"));System.out.println(pri);if (p…

使用Python转换图片中的颜色

说明:最近在看梵高的画册,我手上的这本画册(《文森特梵高》杨建飞 主编)书中说,梵高用的颜料里有不耐久的合成颜料,原本的紫色褪成了我们现在所看到的灰蓝色。于是我想,能不能用程序将画中的颜色…

备战蓝桥杯---贡献法刷题

话不多说,直接看题: 什么是贡献法?这是一种数学思想,就是看每一个元素对总和的贡献。 1. 我们可以先枚举区间再统计次数,但这显然TLE。我们可以发现,每一个孤独的区间对应一个孤独的牛,因此我…

计组第三版书例题

基础知识过一下 存储器与CPU的连接主要通过数据总线、地址总线和控制总线实现。CPU首先向存储器发送地址信号,然后发出读写控制信号,最后在数据总线上进行数据的读写操作 。这种连接方式确保了CPU能够正确地访问和控制存储器中的数据。 https://blog.cs…

2024免费Mac电脑用户的系统清理和优化软件CleanMyMac

作为产品营销专家,对于各类产品的特性与优势有着深入的了解。CleanMyMac是一款针对Mac电脑用户的系统清理和优化软件,旨在帮助用户轻松管理、优化和保护Mac电脑。以下是关于CleanMyMac的详细介绍: CleanMyMac X2024全新版下载如下: https://…

蓝桥-时间显示

目录 题目链接 代码 题目链接 1.时间显示 - 蓝桥云课 (lanqiao.cn) 代码 #include <bits/stdc.h> using namespace std;int main() {long long x;cin>>x;int h,m,s;x x / 1000 % (3600*24); // 毫秒化秒&#xff0c;并且保留最后一天的时间h x / 3600; //求得…

使用pip install替代conda install将packet下载到anaconda虚拟环境

问题描述 使用conda install 下载 stable_baseline3出现问题 一番搜索下是Anaconda.org缺少源 解决方法 首先使用管理员权限打开 anaconda prompt 然后激活目标环境&#xff1a;conda activate env_name 接着使用&#xff1a;conda env list查看目标env的位置 如D:\anacon…