当前位置: 首页 > news >正文

Linux\Docker部署Postgres

PostgrteSQL是什么

PostgreSQL是以加州大学伯克利分校计算机系开发的POSTGRES, 版本 4.2为基础的对象关系型数据库管理系统(ORDBMS)

为什么用PostgreSQL

  1. 用户多,许多开源项目采用PostgreSQl
    https://survey.stackoverflow.co/2024
  2. PostgreSQl复杂查询性能更好,Mysql单查性能更好
  3. PostgreSQl支持的数据类型更丰富,如数组、JSON、XML,还可以自定义类型;Mysql 5.7开始支持JSON但性能较差
  4. PostgreSQl并发控制和事务隔离功能更多,支持序列化的事务隔离级别,可以保证高并发下的数据一致性
  5. 开源、免费商用,很多国产数据库基于PostgreSQl分发
  6. 使用SQL(Structured Query Language,结构化查询语言)

安装Postgres

  • 本例采用Debian Linux或Docker安装PostgreSQL,不装本机主要是为了隔离环境,如果使用Win,建议使用虚拟机、WSL、Docker
    官网:https://www.postgresql.org/download/

1、 Debian Linux安装Postgres

导入存储库签名

sudo apt install curl ca-certificatessudo install -d /usr/share/postgresql-common/pgdgsudo curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc

创建存储库配置文件

sudo sh -c 'echo "deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

更新软件包列表

sudo apt update

安装Postgres

指定版本sudo apt -y install postgresql-16

sudo apt -y install postgresql

卸载Postgres

# 卸载软件包
sudo apt remove --purge postgresql\*
# 清理数据(可选,如果你想保留数据)
sudo rm -rf /var/lib/postgresql
清理 用户和用户组
sudo userdel postgressudo groupdel postgres
# 清理缓存
sudo apt autoremovesudo apt clean

2、 Docker部署Postgres

  1. 直接运命令部署,需要提前创建自定义网络,自定义网络可以通过容器名称通信

docker network ls查看已有网络,使用默认bridge只能通过ip通信,这里加入了自定义网络,自定义网络可以自动解析容器名

创建自定义网络docker network create pub-network

手动连接网络docker network connect pub-network container_name_or_id

删除网络docker network rm network_name_or_idid

docker run -it -d \
--name postgres \
--network pub-network \
--restart always \
-e POSTGRES_PASSWORD='root123456' \
-v /var/lib/postgresql/data:/var/lib/postgresql/data \
-v /var/log/postgresql:/var/lib/postgresql/log \
-p 5432:5432 \
postgres

-v 宿主机路径:容器路径

默认账号名:postgres

部署pgAdmin

修改你的邮件和密码

docker run -d \
--name pgAdmin \
--network pub-network \
--restart always \
-p 5050:80 \
-e PGADMIN_DEFAULT_EMAIL=user@domain.com \
-e PGADMIN_DEFAULT_PASSWORD=root123456 \
dpage/pgadmin4

访问:http://localhost:5050/

账号密码:指定的user@domain.com/root123456

  1. 使用docker-compose.yml部署
services:postgres:image: postgrescontainer_name: postgresrestart: alwaysenvironment:POSTGRES_PASSWORD: 'root123456'volumes:- /var/lib/postgresql/data:/var/lib/postgresql/data- /var/log/postgresql:/var/lib/postgresql/logports:- 5432:5432networks:- pub-networkpgadmin:image: dpage/pgadmin4container_name: pgAdminrestart: alwaysports:- 5050:80environment:PGADMIN_DEFAULT_EMAIL: user@domain.comPGADMIN_DEFAULT_PASSWORD: root123456networks:- pub-networknetworks:pub-network:name: pub-network

部署

docker-compose -f docker-compose.yml up

删除postgres

docker stop postgresdocker rm postgres

连接postgres

使用pgAdmin连接postgres

在这里插入图片描述

使用Navicat连接postgres

在这里插入图片描述


http://www.mrgr.cn/news/18694.html

相关文章:

  • 开源模型应用落地-LlamaIndex学习之旅-LLMs-集成vLLM(一)
  • 思维导图软件界的top4黑马!让你的创意如泉涌,项目不再拖沓
  • 【大数据】生活中三大数据的概念及其关系
  • vue-router基本流程及其案例分析
  • 【百日算法计划】:每日一题,见证成长(007)
  • 【位运算】--- 进阶题目赏析
  • 【数据分享】地级市-国际互联网用户数(2001-2019年)
  • 【Git】IDEA代码合并|merge into
  • 自动生成视频的软件有哪些??5款工具助你快速成片
  • ElasticSearch-数据建模
  • Java 入门指南:Java 并发编程 —— StampedLock 读写锁
  • 将python项目打包成一个可执行文件(包含需要的资源文件)
  • 无人机地理测绘技术详解
  • 自定义实现log4j的appender
  • React 更新界面
  • 前端框架的演变与选择
  • 大模型开发转行全攻略:必备知识、技能与学习路径详解,大模型零基础入门到精通
  • 视频合并怎么操作?这篇文章告诉你
  • 快速写一个自己的flutter应用(新手入门)
  • 数据首发!车载手机无线充前装搭载率破40%,哪些玩家在领跑