📣【快捷部署系列】011期信息
编号 | 选型 | 版本 | 操作系统 | 部署形式 | 部署模式 | 复检时间 |
---|---|---|---|---|---|---|
011 | PostgreSQL | 16 | Ubuntu 20.04 | Docker | 单机 | 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)
云原生:重塑未来应用的基石