Docker-compose快速部署PostgreSQL

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连接如下:连接成功
Docker-compose快速部署PostgreSQL_第1张图片
.

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

总之,PostgreSQL 和 MySQL 都有不同的用途,它们之间的选择取决于企业目标和资源。一般来说,PostgreSQL 是一个更强大、更高级的数据库管理系统,非常适合需要在大型环境中快速执行复杂查询的组织。但是,对于预算和空间更受限制的公司来说,MySQL 是一个理想的解决方案。

你可能感兴趣的:(PGSQL,postgresql,docker,数据库)