您现在的位置是:首页 > 文章详情

在docker中快速使用各个版本的PostgreSQL数据库

日期:2021-06-04点击:567

安装概述

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 最新的源码。

 

Docker直接使用

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

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

-- 拉取所有镜像 docker pull postgres:9.4 docker pull postgres:9.6 docker pull postgres:10 docker pull postgres:11 docker pull postgres:12 docker pull postgres:13 docker pull postgres:13.3 -- 创建各个版本的Docker容器 docker rm -f lhrpg94 lhrpg96 lhrpg10 lhrpg11 lhrpg12 lhrpg13 docker run --name lhrpg94 -h lhrpg94 -d -p 54321:5432 -e POSTGRES_PASSWORD=lhr -e TZ=Asia/Shanghai postgres:9.4 docker run --name lhrpg96 -h lhrpg96 -d -p 54322:5432 -e POSTGRES_PASSWORD=lhr -e TZ=Asia/Shanghai postgres:9.6 docker run --name lhrpg10 -h lhrpg10 -d -p 54323:5432 -e POSTGRES_PASSWORD=lhr -e TZ=Asia/Shanghai postgres:10 docker run --name lhrpg11 -h lhrpg11 -d -p 54324:5432 -e POSTGRES_PASSWORD=lhr -e TZ=Asia/Shanghai postgres:11 docker run --name lhrpg12 -h lhrpg12 -d -p 54325:5432 -e POSTGRES_PASSWORD=lhr -e TZ=Asia/Shanghai postgres:12 docker run --name lhrpg13 -h lhrpg13 -d -p 54326:5432 -e POSTGRES_PASSWORD=lhr -e TZ=Asia/Shanghai postgres:13 docker run --name lhrpg133 -h lhrpg133 -d -p 54327:5432 -e POSTGRES_PASSWORD=lhr -e TZ=Asia/Shanghai postgres:13.3 -- docker直接登陆 docker exec -it lhrpg133 psql -U postgres -d postgres -- 本地登陆 docker exec -it lhrpg133 bash su - postgres psql -- 远程登陆 psql -U postgres -h 192.168.66.35 -d postgres -p54327 -- 从Postgresql 9.2开始,还可以使用URI格式进行远程连接:psql postgresql://myuser:mypasswd@myhost:5432/mydb psql postgresql://postgres:lhr@192.168.66.35:54327/postgres

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

C:\Users\lhrxxt>psql -U postgres -h 192.168.66.35 -d postgres -p54327 Password for user postgres: psql (13.3) Type 'help' for help. postgres=# select version();                                                      version ------------------------------------------------------------------------------------------------------------------  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-bit (1 row) postgres=# \l                                         List of databases    Name    |  Owner   | Encoding |      Collate      |       Ctype       |   Access privileges -----------+----------+----------+-------------------+-------------------+-----------------------  postgres  | postgres | UTF8     | Chinese_China.936 | Chinese_China.936 |  template0 | postgres | UTF8     | Chinese_China.936 | Chinese_China.936 | =c/postgres          +            |          |          |                   |                   | postgres=CTc/postgres  template1 | postgres | UTF8     | Chinese_China.936 | Chinese_China.936 | =c/postgres          +            |          |          |                   |                   | postgres=CTc/postgres (3 rows) postgres=# CREATE DATABASE lhrdb WITH OWNER=postgres ENCODING='UTF-8'; CREATE DATABASE postgres=# \c lhrdb You are now connected to database 'lhrdb' as user 'postgres'. lhrdb=# lhrdb=# create table student ( lhrdb(#   id integer not null, lhrdb(#   name character(32), lhrdb(#   number char(5), lhrdb(#   constraint student_pkey primary key (id) lhrdb(# ); CREATE TABLE lhrdb=# lhrdb=# \d student                  Table 'public.student'  Column |     Type      | Collation | Nullable | Default --------+---------------+-----------+----------+---------  id     | integer       |           | not null |  name   | character(32) |           |          |  number | character(5)  |           |          | Indexes:     'student_pkey' PRIMARY KEY, btree (id) lhrdb=# lhrdb=# INSERT INTO student (id, name, number) VALUES (1, '张三', '1023'); INSERT 0 1 lhrdb=# SELECT * FROM student WHERE id=1;  id |                name                | number ----+------------------------------------+--------   1 | 张三                               | 1023 (1 row)

是不是很方便呢。

安装配置完成。

原文链接:https://my.oschina.net/postgresqlchina/blog/5069518
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章