• 配置postgres数据库 和数据库web管理pgAdmin4 在 Windows上wsl2 Docker


    配置postgres数据库 和数据库web管理pgAdmin4 在 Windows上wsl2 Docker


    
    
    // 创建docker虚拟网络 
    
    
    docker network create --subnet=172.16.0.0/16 docker-network
    
    
    // 关于虚拟网络这块 详细可以用 docker network inspect 虚拟网络id
    
    
    docker network ls
    
    
    docker pull postgres
    
    
    mkdir -p E:\Postgres\master
    
    
    
    
    // -it( --interactive 即使没有连接,也要保持STDIN打开 + --tty 分配一个虚拟的终端 ) -d (–-detach(后台运行))
    
    
    // --auth-** 就是加验证  --network虚拟网络名 --ip 虚拟ip -h 容器主机名 -p 本地端口:容器端口 --name 容器名
    
    
    // -e (environment设置环境变量) 密码9527 数据库名PudgeDB 用户pudge -v其实就是--link做文件夹映射, postgres镜像名
    
    
    ```
    
    
    docker run -d --network docker-network --ip 172.16.0.101 -h postgres-maste -p 5432:5432 --name postgres_master  -e POSTGRES_PASSWORD="9527" -e POSTGRES_DB="admin" -e POSTGRES_USER="pudge" -e LANG="C.UTF-8" -e 'TZ=Asia/Shanghai' -v /E/Postgres/master:/var/lib/postgresql/data  postgres
    
    
    ```
    安装管理 pgAdmin官方 https://www.pgadmin.org/download/
    
    
    // docker 安装
    docker pull dpage/pgadmin4
    // 运行容器 PGADMIN_DEFAULT_EMAIL=设置个邮箱 PGADMIN_DEFAULT_PASSWORD密码
    
    
    ```
    
    
    docker run -d --network docker-network --ip 172.16.0.111 -p 5433:80 --name pgadmin4_ui -e "PGADMIN_DEFAULT_EMAIL=EternalNightYeah@yeah.net" -e "PGADMIN_DEFAULT_PASSWORD=9527" dpage/pgadmin4
    
    
    ```
    
    
    // 浏览器输入  http://EternalNightYeah@yeah.net:9527@localhost:5433
    http://localhost:5433/login? 输入邮箱和密码
    这里firefox 就是坑,我还以为我docker配置出错了呢。
    我docker pull 了个pgAdmin 在firefox 上面映射5433端口 发现打不开, 后面想起 公司的网页也有相关限制,也解决了。 于是乎 

     

     

     

     

     

     

     

    // 这是系统默认创建的模板,后面我们得插入参数
    CREATE TABLE IF NOT EXISTS public.users
    (
        name character(100),
        status boolean,
        id integer NOT NULL,
        CONSTRAINT my_key PRIMARY KEY (id)
    );
    
    
    ALTER TABLE public.users
        OWNER to pudge;
    
    
    COMMENT ON TABLE public.users
        IS '用户列表';

    INSERT INTO public.users(name, status, id)VALUES('pudge', true, 1);

     

     

     最后附上相关的命令行

    // 进入docker 容器
    docker exec -it postgres_master bash
    // 进入postgresql
    psql -U pudge -d PudgeDB -h localhost -p 5432
    // 创建账号
    CREATE USER pudge2 WITH PASSWORD '9527';
    // 授权DBGRANT ALL ON DATABASE postgres TO pudge2;
    // 单条授权表
    GRANT ALL ON public.users TO pudge2;
    // 批量授权表
    GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO pudge2;
    // 单条授权sequence
    GRANT ALL ON SEQUENCE public.users_id_seq to pudge2;
    // 批量授权sequence
    GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO pudge2;
    # 修改库的所有者
    alter database PudgeDB owner to pudge2;
    #修改schema所有者
    alter schema wechat owner to pudge2

    操作表单

    // 创建表单模板
    // 这是系统默认创建的模板,后面我们得插入参数
    CREATE TABLE IF NOT EXISTS public.Users3
    (
        name character(100),
        status boolean,
        id integer NOT NULL,
        CONSTRAINT my_key3 PRIMARY KEY (id)
    );
    ALTER TABLE public.Users3
        OWNER to pudge2;
    
    COMMENT ON TABLE public.Users3
        IS '用户列表';
    
    // 插入 注:如果表中字段有大写的字段,则需要对应的加上双引号。例: INSERT INTO public.Users3("Name", status, id)VALUES('pudge', true, 2);
    
    INSERT INTO public.Users3(name, status, id)VALUES('pudge', true, 2);
    // 查看
    SELECT * FROM public.Users3;
    
    // 删除表
    drop table public.Users3;
    // 清空表名
    delete from public.Users3;

    1379号监听员 Pudge

     
     
     
  • 相关阅读:
    网页中 弹出提示框
    三级联动
    pdo预处理
    ajax返回数据类型 text json xml
    PHP语言 -- 数据访问 好友列表
    2.17 牛牛你个渣渣这种题都做不出来 尹老师教你的你全还给他了吗?
    1.25 作业
    1.22作业
    1.20 作业
    js 学习笔记
  • 原文地址:https://www.cnblogs.com/eternalnight/p/15253594.html
Copyright © 2020-2023  润新知