PostgreSQL(一)环境搭建

为什么要使用Docker环境?

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

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

书写docker-compose.yml文件

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:

更多参数以及解释参考

创建.env文件

vim .env

文件内容为

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

更多其他变量参考

启动容器

docker-compose up

可以看到创建volume、创建容器、以及启动成功的信息

本机安装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的学习环境就搭建好了

其他资源

    ,Dokcer内配置文件默认位置见官方镜像PGDATA一节说明,默认为/var/lib/postgresql/data
经验分享 程序员 微信小程序 职场和发展