基于Docker安装关系型数据库PostgrelSQL替代Mysql
PostgreSQL相对于MySQL的优势
1、在SQL的标准实现上要比MySQL完善,而且功能实现比较严谨;
2、存储过程的功能支持要比MySQL好,具备本地缓存执行计划的能力;
3、对表连接支持较完整,优化器的功能较完整,支持的索引类型很多,复杂查询能力较强;
4、PG主表采用堆表存放,MySQL采用索引组织表,能够支持比MySQL更大的数据量。
5、PG的主备复制属于物理复制,相对于MySQL基于binlog的逻辑复制,数据的一致性更加可靠,复制性能更高,对主机性能的影响也更小。
6、MySQL的存储引擎插件化机制,存在锁机制复杂影响并发的问题,而PG不存在。
PostgreSQL安装
第一步安装Docker 详情可参考博客: win10系统下把玩折腾DockerToolBox以及更换国内镜像源(各种神坑)。
安装Docker成功之后我们可以拉取镜像了
拉取镜像
docker pull postgres:11.1 #我们拉取的镜像是11.1版本的
拉取成功后,输入命令查看镜像
docker images
启动命令:
docker run -d --name dev-postgres -e POSTGRES_PASSWORD=root -p 6432:5432 postgres:11.1
解释:
- run,创建并运行一个容器;
- --name,指定创建的容器的名字;
- -e POSTGRES_PASSWORD=root,设置环境变量,指定数据库的登录口令为root;
- -p 6432:5432,端口映射将容器的5432端口映射到外部机器的6432端口;
- -d postgres:11.1,指定使用postgres:11.1作为镜像。
这里POSTGRES_PASSWORD是PostgrelSQL的用户密码,自己制定一个就可以了,默认端口号是5432,由于笔者的宿主机上已经安装好一个PostgrelSQL服务端,所以这里通过端口映射改成了6432。
PostgreSQL数据库其他内容查看博客:https://v3u.cn/a_id_171