PostgreSQL(一)环境搭建

文章目录

  • 为什么要使用Docker环境?
  • 书写docker-compose.yml文件
  • 创建.env文件
  • 启动容器
  • 本机安装PgAdmin
    • 利用PgAdmin连接Docker中的Postgre
  • 创建表
    • 进入容器
    • 连接Postgre Server
    • 选择数据库
    • 创建表
    • 查询表
    • 插入数据
  • 其他资源

为什么要使用Docker环境?

我们原来学习一项技术的时候,最开始的时候,最头疼的就是安装软件、并且配置环境变量等。一旦哪一步没做对,或者步骤正确但是就会出一些稀奇古怪的问题。于是就开始在搜索引擎上找各种答案、尝试、未解决、接着循环…等最终环境安装好了,学习的兴趣早就没了。

所以我非常推荐利用Docker来学习各种技术,只要镜像一拉,环境就搭好了。马上就能学习。等学完了,容器一删,干干净净,多方便

书写docker-compose.yml文件

PostgreSQL官方Docker镜像

version: "3.7"
services:
  pgdb:
    # 设置容器使用内存大小限制
    shm_size: '1gb'
    image: postgres:latest
    # 设置容器名字
    container_name: pgdb
    # https://docs.docker.com/compose/compose-file/#restart
    restart: always
    # 映射端口
    ports:
      - 5432:5432
    # 设置PostgreSQL Server时区,默认为GMT,官方文档 https://www.postgresql.org/docs/14/app-postgres.html#id-1.9.5.14.6.3
    command: postgres -c timezone='US/Eastern'
    # https://docs.docker.com/compose/compose-file/#long-syntax-4
    volumes:
      - type: volume
        source: pgdb-data
        # PostgreSQL 所有的配置文件都在/var/lib/postgresql/data下
        target: /var/lib/postgresql
        read_only: false
    # 配置的环境变量文件位置  https://docs.docker.com/compose/compose-file/#env_file
    env_file: 
      - .env
# volume声明
volumes:
  pgdb-data:

更多参数以及解释参考compose文件说明

创建.env文件

vim .env

文件内容为

POSTGRES_PASSWORD=12345
POSTGRES_USER=postgres
POSTGRES_DB=postgres
PGDATA=/var/lib/postgresql/data

更多其他变量参考PostgreSQL官方镜像说明

启动容器

docker-compose up

PostgreSQL(一)环境搭建_第1张图片
可以看到创建volume、创建容器、以及启动成功的信息

本机安装PgAdmin

可直接在pgAdmin官网下载对应操作系统版本

Mac OS也可以直接使用HomeBrew安装

brew search pgadmin
brew install pgadmin4

利用PgAdmin连接Docker中的Postgre

  • 打开pgadmin,在Dashboard中选择Add New Server
  • Host Name为localhost
  • 数据库为postgres
  • 用户名为postgres
  • 密码为12345

这几项都是定义在上述 .env 文件中的

创建表

进入容器

docker exec -it pgdb bash

连接Postgre Server

psql -U postgres

选择数据库

postgres

创建表

CREATE TABLE my_first_table (first_colume text);

查询表

\dt

插入数据

INSERT INTO my_first_table (first_colume) VALUES ('hello PosgreSQL');

这些数据同样可以在pgAdmin中查到
PostgreSQL(一)环境搭建_第2张图片

到此为止,PostgreSQL的学习环境就搭建好了

其他资源

  • 示例代码
  • 配置文件位置,Dokcer内配置文件默认位置见官方镜像PGDATA一节说明,默认为/var/lib/postgresql/data

你可能感兴趣的:(数据库,postgresql,docker,数据库,docker,compose,pgadmin)