博客
关于我
Docker部署postgresql-11以及主从配置
阅读量:786 次
发布时间:2023-01-23

本文共 2178 字,大约阅读时间需要 7 分钟。

Docker部署PostgreSQL-11以及主从配置

一. Docker部署PostgreSQL-11(简单版)

1. 拉取镜像

运行以下命令拉取PostgreSQL-11的镜像:

docker pull docker.io/postgres:11

2. 启动命令脚本

创建并编辑启动脚本startPostgres.sh

vi startPostgres.sh

脚本内容如下:

#!/bin/bashdocker run -d --name postgresql-11 \--restart=always \-v /postgresql/data:/var/lib/postgresql/data \-e POSTGRES_PASSWORD=123456 \-p 5432:5432 \docker.io/postgres:11

3. 给脚本写权限

对脚本进行权限设置:

chmod +x startPostgres.sh

4. 执行启动脚本

在终端执行脚本:

./startPostgres.sh

5. 查看日志或启动报错

查看容器日志或检查启动错误:

docker logs postgresql-11

如果遇到报错,重新启动容器:

docker restart postgresql-11

6. 安装中文编码(如果有报错)

进入容器并安装所需的中文编码:

docker exec -it postgresql-11 /bin/bash#安装localessudo apt-get install locales#设置语言环境sudo dpkg-reconfigure locales

7. 重启动容器

确保所有配置正确后,重新启动容器:

docker start postgresql-11

二. 【最全】从Docker中运行PostgreSQL数据库

1. 使用PostgreSQL数据库

在Docker中使用PostgreSQL有三种方式:通过Dockerfile、Docker Compose或直接命令运行。以下以Docker Compose方式示例:

1. 准备环境

确保Docker和Docker Compose已安装。当Apparently这些工具的版本:

查看内核版本:

uname -a

查看Docker版本:

docker --versiondocker-compose --version

2. 拉取镜像(基于官方镜像)

拉取适用于你的系统的PostgreSQL镜像。例如,在Ubuntu 20.04上运行:

docker pull postgres:15-bullseye

3. 创建目录并启动PostgreSQL

创建PostgreSQL数据目录并启动容器:

mkdir dockerdata/postgresql && cd dockerdata/postgresql

配置docker-compose.yml文件:

vim docker-compose.yml

内容示例:

version: '2.3'services:  pgdb:    image: postgres:15-bullseye    restart: always    environment:      POSTGRES_PASSWORD: ggyy      POSTGRES_USER: ggyy    ports:      - 5439:5439    volumes:      - ./postgres:/data/postgres  postgres-db:    driver: local

4. 启动数据库容器

运行Docker Compose:

docker-compose -f docker-compose.yml up -d

5. 连接数据库

进入PostgreSQL数据库:

docker exec -it postgresql_pgdb_1 psql -U ggyy

(注意:请根据实际设置的用户名和密码替换。)


三. PostgreSQL基础命令

1. SELECT

基础查询语法:

SELECT first_name, last_name, email FROM customer;

可 tùy文风 kaphanurtles viewers 使用\x分隔结果:

SELECT first_name || ' ' || last_name, email FROM customer;

2. WHERE

WHERE子句的基本用法:

SELECT columns_list FROM table_name WHERE query_condition;

举例:

SELECT first_name FROM customer WHERE first_name LIKE 'ANN%';

或使用BETWEENLIKE结合:

SELECT first_name, LENGTH(first_name) name_lengthFROM customerWHERE first_name LIKE 'A%'AND LENGTH(first_name) BETWEEN 3 AND 5ORDER BY name_length;

转载地址:http://vpeyk.baihongyu.com/

你可能感兴趣的文章
第01问:MySQL 一次 insert 刷几次盘?
查看>>
libvirtd:内部错误:Failed to apply firewall rule
查看>>
优先级队列2
查看>>
TiKV 源码解析系列文章(十三)MVCC 数据读取
查看>>
Android 开发常用的工具类(更新ing)
查看>>
EasyUI的简单介绍
查看>>
HTTP 错误 500.21 - Internal Server Error 发布网站遇到这个错误
查看>>
初次安装webpack之后,提示安装webpack-cli
查看>>
使用FileZilla,FTP登录出现错误:FileZilla状态: 不安全的服务器,不支持 FTP over TLS
查看>>
Hbase压力测试
查看>>
C#中的类、方法和属性
查看>>
Python爬虫训练:爬取酷燃网视频数据
查看>>
Python数据分析入门(十九):绘制散点图
查看>>
Callable中call方法和Runnable中run方法的区别
查看>>
Linux yum提示Loaded plugins错误的解决方法
查看>>
Netty的体系结构及使用
查看>>
xshell解决文本粘贴格式错误
查看>>
JAVA BigInteger和BigDecimal类常用方式
查看>>
深度学习框架 各种模型下载集合 -- models list
查看>>
机器学习全教程
查看>>