暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【DB宝69】在docker中快速使用各个版本的PostgreSQL数据库

DB宝 2021-09-06
428

目录

    1、安装概述
    2、Docker中下载创建
    3、登陆测试
    复制

    1、安装概述

    PG安装方法很多,和MySQL类似,给用户提供很大的选择空间。如:RPM包安装(在线、离线)、源码编译安装、系统自带、二进制、NDB安装等。

    https://www.postgresql.org/

    https://yum.postgresql.org/rpmchart.php

    https://yum.postgresql.org/11/redhat/rhel-6-x86_64/repoview/postgresqldbserver11.group.html

    https://www.postgresql.org/ftp/source/

    打开 PostgreSQL 官网 https://www.postgresql.org/,点击菜单栏上的 Download ,可以看到这里包含了很多平台的安装包,包括 Linux、Windows、Mac OS等 。

    各个安装包:https://www.postgresql.org/ftp/source/

    Linux 我们可以看到支持 Ubuntu 和 Red Hat 等各个平台,点击具体的平台链接,即可查看安装方法:

    点击上图中的 file browser,我们还能下载 PostgreSQL 最新的源码。

    2、Docker中下载创建

    Docker Hub的官网地址:https://hub.docker.com/_/postgres

    GitHub的地址:https://github.com/docker-library/postgres

     1-- 拉取所有镜像 2docker pull postgres:9.4 3docker pull postgres:9.6 4docker pull postgres:10 5docker pull postgres:11 6docker pull postgres:12 7docker pull postgres:13 8docker pull postgres:13.3 9101112-- 创建各个版本的Docker容器13docker rm -f lhrpg94 lhrpg96 lhrpg10 lhrpg11 lhrpg12 lhrpg1314docker run --name lhrpg94 -h lhrpg94 -d -p 54321:5432 -e POSTGRES_PASSWORD=lhr -e TZ=Asia/Shanghai postgres:9.415docker run --name lhrpg96 -h lhrpg96 -d -p 54322:5432 -e POSTGRES_PASSWORD=lhr -e TZ=Asia/Shanghai postgres:9.616docker run --name lhrpg10 -h lhrpg10 -d -p 54323:5432 -e POSTGRES_PASSWORD=lhr -e TZ=Asia/Shanghai postgres:1017docker run --name lhrpg11 -h lhrpg11 -d -p 54324:5432 -e POSTGRES_PASSWORD=lhr -e TZ=Asia/Shanghai postgres:1118docker run --name lhrpg12 -h lhrpg12 -d -p 54325:5432 -e POSTGRES_PASSWORD=lhr -e TZ=Asia/Shanghai postgres:1219docker run --name lhrpg13 -h lhrpg13 -d -p 54326:5432 -e POSTGRES_PASSWORD=lhr -e TZ=Asia/Shanghai postgres:1320docker run --name lhrpg133 -h lhrpg133 -d -p 54327:5432 -e POSTGRES_PASSWORD=lhr -e TZ=Asia/Shanghai postgres:13.3
    复制

    3、登陆测试

     1-- docker直接登陆 2docker exec -it lhrpg133 psql -U postgres -d postgres 3 4-- 本地登陆 5docker exec -it lhrpg133 bash 6su - postgres 7psql 8 910-- 远程登陆11psql -U postgres -h 192.168.66.35 -d postgres -p543271213-- 从Postgresql 9.2开始,还可以使用URI格式进行远程连接:psql postgresql://myuser:mypasswd@myhost:5432/mydb14psql postgresql://postgres:lhr@192.168.66.35:54327/postgres
    复制

    其中-h参数指定服务器地址,默认为127.0.0.1,默认不指定即可,-d指定连接之后选中的数据库,默认也是postgres,-U指定用户,默认是当前用户,-p 指定端口号,默认是"5432",其它更多的参数选项可以执行:./bin/psql --help 查看。

     1C:\Users\lhrxxt>psql -U postgres -h 192.168.66.35 -d postgres -p54327 2Password for user postgres: 3psql (13.3) 4Type "help" for help. 5 6postgres=# select version(); 7                                                     version 8------------------------------------------------------------------------------------------------------------------ 9 PostgreSQL 13.3 (Debian 13.3-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit10(1 row)1112postgres=# \l13                                        List of databases14   Name    |  Owner   | Encoding |      Collate      |       Ctype       |   Access privileges15-----------+----------+----------+-------------------+-------------------+-----------------------16 postgres  | postgres | UTF8     | Chinese_China.936 | Chinese_China.936 |17 template0 | postgres | UTF8     | Chinese_China.936 | Chinese_China.936 | =c/postgres          +18           |          |          |                   |                   | postgres=CTc/postgres19 template1 | postgres | UTF8     | Chinese_China.936 | Chinese_China.936 | =c/postgres          +20           |          |          |                   |                   | postgres=CTc/postgres21(3 rows)222324postgres=# CREATE DATABASE lhrdb WITH OWNER=postgres ENCODING='UTF-8';25CREATE DATABASE26postgres=# \c lhrdb27You are now connected to database "lhrdb" as user "postgres".28lhrdb=#29lhrdb=# create table student (30lhrdb(#   id integer not null,31lhrdb(#   name character(32),32lhrdb(#   number char(5),33lhrdb(#   constraint student_pkey primary key (id)34lhrdb(# );35CREATE TABLE36lhrdb=#37lhrdb=# \d student38                 Table "public.student"39 Column |     Type      | Collation | Nullable | Default40--------+---------------+-----------+----------+---------41 id     | integer       |           | not null |42 name   | character(32) |           |          |43 number | character(5)  |           |          |44Indexes:45    "student_pkey" PRIMARY KEY, btree (id)464748lhrdb=#49lhrdb=# INSERT INTO student (id, name, number) VALUES (1, '张三', '1023');50INSERT 0 151lhrdb=# SELECT * FROM student WHERE id=1;52 id |                name                | number53----+------------------------------------+--------54  1 | 张三                               | 102355(1 row)56
    复制

    是不是很方便呢。

    安装配置完成,若有不懂,可以私聊麦老师。

        

    本文结束。


    • 微信公众号:DB宝,作者:小麦苗,作者微信:db_bao

    • 作者博客地址:http://blog.itpub.net/26736162/

    • 作者QQ:646634621,QQ群:230161599、618766405
    • 提供Oracle OCP、OCM、高可用(rac+dg+ogg)、MySQL DBA和PostgreSQL DBA培训
    • 版权所有,欢迎分享本文,转载请保留出处

    • 若有侵权请联系小麦苗删除

      ★DB宝分享的IT资料:https://mp.weixin.qq.com/s/Iwsy-zkzwgs8nYkcMz29ag
      ★DB宝笔试面试详解:https://mp.weixin.qq.com/s/Vm5PqNcDcITkOr9cQg6T7w
      复制

      长按下图识别二维码,关注小麦苗的微信公众号:DB宝,学习最实用的数据库技术。

      文章转载自DB宝,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

      评论