Coursera 笔记

Module 03 · MySQL and PostgreSQL

Getting Started with PostgreSQLPostgreSQL 入门

Coursera ↗

欢迎开始学习 PostgreSQL。通过本视频,您将能够定义 PostgreSQL 及其部署选项,识别用于连接数据库的工具,并深入了解 psql 与 pgAdmin 的具体特性。


什么是 PostgreSQL?

PostgreSQL(简称 Postgres)是一款开源的对象关系型数据库管理系统 (ORDBMS)。它以极高的可靠性、灵活性以及对关系型和非关系型数据类型的强大支持而闻名。

主要应用领域

  • OLTP(联机事务处理)
  • 数据分析
  • 地理信息系统 (GIS)

部署选项 (Deployment Options)

PostgreSQL 提供了多样化的部署方式,用户可以根据需求量身定制:

  1. 本地安装:直接在 macOS、UNIX 或 Windows 服务器上下载并安装。
  2. 虚拟化与容器化:通过虚拟机镜像或 Docker 容器进行安装。这种方式能够实现高效的资源利用和出色的可扩展性。
  3. 云端解决方案:利用主流云平台的托管服务,例如:
    • Amazon RDS
    • Google Cloud SQL
    • Microsoft Azure
    • IBM Cloud Databases
    • EnterpriseDB Cloud

连接与管理工具

多种工具可以帮助您连接并管理 PostgreSQL 数据库:

  • psql:默认的命令行界面(CLI),非常适合偏好文本交互的用户。
  • pgAdmin:开源的图形化管理工具(GUI),支持桌面版和 Web 版,操作简便。
  • 商业选项:如 Navicat 和 DBeaver,提供支持多数据库的图形界面。
  • 云管理控制台:如 Amazon RDS 提供的 Web 控制台和 API。

深入了解 psql (命令行界面)

psql 是与 Postgres 交互的标准工具。通过简单的命令(指定用户名、数据库、主机和端口)即可连接服务器。

  • 交互式 Shell:连接后,终端将变为交互式环境,支持实时执行 SQL。
  • 核心功能:支持创建数据库、表以及执行复杂查询。
  • 增强特性:提供自动补全和语法高亮功能。
  • 默认数据库:
    • postgres:默认的用户数据库。
    • template0 / template1:Postgres 在创建新数据库时使用的内部模板。

深入了解 pgAdmin (图形界面)

pgAdmin 提供了一个功能全面的平台,旨在简化开发和管理任务。

1. 核心功能

  • 创建数据库与表、数据加载、执行查询。
  • 开发存储过程与函数。
  • 管理数据库对象、安全性设置及使用情况监控。

2. 查询工具 (Query Tool)

查询工具允许用户输入 SQL 并直接与结果交互:

  • 编辑功能:如果结果集是可编辑的,可以直接在空间内修改数据。
  • 重要选项卡:
    • Explain (解释):显示 SQL 查询的执行计划。例如,对 SELECT * FROM employees WHERE department = 'Sales' 执行 Explain,可能会显示“顺序扫描 (Sequential Scan)”,这有助于识别效率低下并进行性能调优。
    • Messages (消息):显示最近执行查询的反馈,如执行成功或错误提示(例如:ERROR: relation "non_existing_table" does not exist)。
    • Notifications (通知):显示来自 LISTEN 和 NOTIFY 命令的异步通知。例如,当触发器发出 NOTIFY mychannel, 'payload' 时,此处会显示通道名、载荷和时间。

3. 实体关系图 (ERD) 工具

pgAdmin 内置了 ERD 工具,极大增强了数据库设计体验:

  • 逆向工程:右键点击现有数据库选择 "Generate ERD",即可自动生成表及其关系的视觉图表。
  • 设计功能:支持在工具内重新组织表、修改关系、添加注释并自动生成 SQL 语句。

总结回顾

  • PostgreSQL 是一款开源、可靠且灵活的数据库系统。
  • 部署灵活:涵盖本地安装、虚拟化、容器化以及各类云服务。
  • 工具丰富:
    • psql:默认 CLI,功能强大。
    • pgAdmin:全功能 GUI,包含查询分析工具和可视化 ERD 设计工具。