Docker-compose快速部署PostgreSQL:
利用docker-compose编排工具部署:
docker-compose.yml 文件
version: "3.1"
services:
postgresql:
image: postgres:12-alpine
container_name: postgresql
environment:
POSTGRES_DB: postgres
POSTGRES_USER: "root"
POSTGRES_PASSWORD: "root"
ports:
- 5432:5432
volumes:
- ./data:/var/lib/postgresql/data
通过docker-compose up -d 启动容器,用navicate数据库连接即可,注意端口号5432,如果使用云数据库,注意安全组放行5432端口访问
.
一:终端连接数据库:
[root@docker PostgreSQL]# docker exec -it postgresql bash
bash-5.1# psql -U root -W
Password:
psql (12.9)
Type "help" for help.
root=#
# 查询当前时间
root=# select now();
now
-------------------------------
2022-04-23 16:42:10.781947+00
(1 row)
#查询亚洲/上海地区时间
root=# select now() at time zone 'Asia/Shanghai';
timezone
----------------------------
2022-04-24 00:42:20.457047
(1 row)
# 设置postgres数据库的时区
root=# ALTER DATABASE "postgres" SET timezone TO 'Asia/Shanghai';
.
二:使用Navicate连接如下:连接成功
.
PostgreSQL与Mysql的区别?
PostgreSQL 和 MySQL 之间有很多不同之处。特性、功能和优势方面的一些差异如下:
数据库类型
MySQL:关系型
PostgreSQL:对象关系
编程语言
MySQL: C/C++
PostgreSQL: C
支持级联
MySQL:没有
PostgreSQL:是的
用户界面
MySQL:工作台 GUI
PostgreSQL: PgAdmin
支持的过程复杂度
MySQL: SQL 语法和存储过程
PostgreSQL:高级过程和存储过程
支持的索引类型
MySQL:二叉搜索树(B-Tree)
PostgreSQL:很多,包括 GIN 和 Hash
客户端和服务器之间的加密
MySQL:传输层安全 (TLS) 协议
PostgreSQL: SSL
XML 数据类型支持
MySQL:没有
PostgreSQL:是的
支持物化视图和表继承
MySQL:没有
PostgreSQL:是的
支持高级数据类型
MySQL:没有
PostgreSQL:有的 :hstore 和 用户定义的 tdtaa
支持多版本并发控制 (MVCC)
MySQL:没有
PostgreSQL:是的
总之,PostgreSQL 和 MySQL 都有不同的用途,它们之间的选择取决于企业目标和资源。一般来说,PostgreSQL 是一个更强大、更高级的数据库管理系统,非常适合需要在大型环境中快速执行复杂查询的组织。但是,对于预算和空间更受限制的公司来说,MySQL 是一个理想的解决方案。