Module 03 · MySQL and PostgreSQL
Getting Started with PostgreSQLPostgreSQL 入门
欢迎开始学习 PostgreSQL。通过本视频,您将能够定义 PostgreSQL 及其部署选项,识别用于连接数据库的工具,并深入了解 psql 与 pgAdmin 的具体特性。
什么是 PostgreSQL?
PostgreSQL(简称 Postgres)是一款开源的对象关系型数据库管理系统 (ORDBMS)。它以极高的可靠性、灵活性以及对关系型和非关系型数据类型的强大支持而闻名。
主要应用领域
- OLTP(联机事务处理)
- 数据分析
- 地理信息系统 (GIS)
部署选项 (Deployment Options)
PostgreSQL 提供了多样化的部署方式,用户可以根据需求量身定制:
- 本地安装:直接在 macOS、UNIX 或 Windows 服务器上下载并安装。
- 虚拟化与容器化:通过虚拟机镜像或 Docker 容器进行安装。这种方式能够实现高效的资源利用和出色的可扩展性。
- 云端解决方案:利用主流云平台的托管服务,例如:
- 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'时,此处会显示通道名、载荷和时间。
- Explain (解释):显示 SQL 查询的执行计划。例如,对
3. 实体关系图 (ERD) 工具
pgAdmin 内置了 ERD 工具,极大增强了数据库设计体验:
- 逆向工程:右键点击现有数据库选择 "Generate ERD",即可自动生成表及其关系的视觉图表。
- 设计功能:支持在工具内重新组织表、修改关系、添加注释并自动生成 SQL 语句。
总结回顾
- PostgreSQL 是一款开源、可靠且灵活的数据库系统。
- 部署灵活:涵盖本地安装、虚拟化、容器化以及各类云服务。
- 工具丰富:
- psql:默认 CLI,功能强大。
- pgAdmin:全功能 GUI,包含查询分析工具和可视化 ERD 设计工具。