PostgreSQL,通常简称为Postgres,是一款强大且开源的关系型数据库管理系统(RDBMS),它在数据存储和处理方面提供了广泛的功能和灵活性。本文将详细介绍 PostgreSQL 的功能、特性以及如何部署和使用它。

# 什么是 PostgreSQL?

PostgreSQL 是一款开源的、免费的关系型数据库管理系统。它具有以下特点:

  • 高度可扩展: PostgreSQL 允许在不同规模的应用程序中灵活扩展,从小型网站到大型企业级系统都可以使用。

  • 支持复杂数据类型: 除了常见的数据类型外,PostgreSQL 还支持 JSON、数组、范围、几何图形、全文搜索等多种复杂数据类型。

  • ACID 兼容: 它严格遵循 ACID(原子性、一致性、隔离性、持久性)属性,确保数据的完整性和一致性。

  • 丰富的扩展支持: PostgreSQL 提供了丰富的扩展支持,允许开发人员自定义和添加功能,以满足各种需求。

  • 高级优化器: 它具有强大的查询优化器,能够自动优化查询以提高性能。

# PostgreSQL 的功能和特性

  • 多版本并发控制(MVCC) PostgreSQL 使用多版本并发控制来管理事务,这意味着它可以支持高并发访问,每个事务都可以看到一致的快照数据。

  • 外键支持 PostgreSQL 提供了完整的外键支持,可以维护表之间的关联关系,并确保数据的完整性。

  • 复杂查询 PostgreSQL 支持复杂查询,包括联接、子查询、窗口函数等,使您能够灵活地查询和分析数据。

  • 全文搜索 它内置了全文搜索功能,允许您执行高效的文本搜索和分析。

  • 复制和高可用性 PostgreSQL 提供了复制和高可用性解决方案,包括流复制、逻辑复制和自动故障转移。

# PostgreSQL 的部署

创建docker-compose.yml 文件

version: "3.3"
services:
  postgres:
    image: postgres:14.2
    volumes:
      - ./postgres-storage:/var/lib/postgresql
    restart: always
    ports:
      - 5432:5432
    environment:
      POSTGRES_DB: xj
      POSTGRES_USER: xiuji
      POSTGRES_PASSWORD: xj2023
  • POSTGRES_DB:需要创建的数据库名称。
  • POSTGRES_USER:要创建的 PostgreSQL 用户名。
  • POSTGRES_PASSWORD:要分配给该用户的密码。

使用以下命令启动容器:

docker-comnpose up -d 

如此,我们的数据库已经启动了,我使用的是navicat来连接的

_20231005233950.jpg

_20231005232451.jpg

# 总结

PostgreSQL 是一个功能丰富且高度可扩展的关系型数据库管理系统,它适用于各种规模的应用程序,并提供了强大的功能和性能。通过 Docker 容器化部署,您可以快速开始使用 PostgreSQL,并利用其强大的功能来满足不同的数据库需求。希望本文帮助您更好地了解 PostgreSQL 并进行部署。