基本概览

PostgreSQL 是一个开源的关系型数据库管理系统(RDBMS)。如果你已经听说过 MySQL、SQLite,那么可以把 PostgreSQL 理解成同一类工具:它们都用来存数据、查数据、管理数据。

很多人喜欢把 PostgreSQL 简称为 Postgres。在实际工作里,它常被用在网站后台、业务系统、数据平台和需要复杂查询的应用中。

PostgreSQL 是做什么的

最简单的理解方式是:

  • 应用程序把数据交给 PostgreSQL 保存
  • 需要数据时,再通过 SQL 把数据查出来
  • 当数据越来越多时,仍然可以继续管理、查询和维护

比如用户信息、订单、文章、评论、库存,这些都可以存进 PostgreSQL。

为什么很多人会选择 PostgreSQL

对于初学者来说,PostgreSQL 值得学习,主要因为它有几个明显特点:

  • 标准 SQL 支持较好:适合系统学习关系型数据库
  • 功能完整:不仅能做简单增删改查,也能处理更复杂的查询和数据约束
  • 稳定可靠:在很多正式项目里都被长期使用
  • 生态成熟:客户端工具、驱动、文档都比较完善

你可以把它理解成一种“既适合入门,也足够专业”的数据库。

适合什么场景

PostgreSQL 常见于这些场景:

  • 需要保存结构化业务数据的 Web 应用
  • 需要多表关联、筛选、排序、聚合的后台系统
  • 需要事务支持的订单、账户、内容管理类系统
  • 希望从学习阶段就接触更完整数据库能力的场景

如果你只是做一个非常轻量的本地小工具,SQLite 可能已经够用;但如果你想学习“真正的数据库服务怎么运行”,PostgreSQL 会更合适。

和 MySQL、SQLite 有什么区别

初学时不用记太多细节,先记住下面这几个直观差别就够了。

PostgreSQL vs MySQL

它们都属于关系型数据库,也都支持 SQL。

可以先这样理解:

  • MySQL:在很多互联网项目中很常见,入门资料很多
  • PostgreSQL:也很流行,常被认为在标准 SQL、复杂查询和扩展能力上更强

如果你已经会 MySQL,再学 PostgreSQL 会更容易,因为很多基础概念是互通的。

PostgreSQL vs SQLite

SQLite 和 PostgreSQL 最大的区别在于“它是不是一个独立运行的数据库服务”。

  • SQLite:通常就是一个本地文件,不需要单独启动服务
  • PostgreSQL:是一个服务端程序,需要先安装、启动,然后客户端再去连接它

所以学习 PostgreSQL 时,你会经常接触“服务启动”“端口”“连接参数”这些概念。

先认识几个最基础的词

服务端(server)

服务端就是 PostgreSQL 真正运行的那部分程序。它负责接收连接、执行 SQL、读写数据文件。

你在命令行里执行查询,真正干活的是服务端,不是你眼前这个终端窗口。

客户端(client)

客户端是你用来连接 PostgreSQL 的工具。最常见的客户端就是 psql

你可以把它理解成“和 PostgreSQL 对话的入口”。你输入命令,它把命令发给服务端,再把结果显示出来。

数据库(database)

一个 PostgreSQL 服务里可以有多个数据库。

比如你可以创建:

  • postgres
  • test
  • blog

它们可以理解为同一台数据库服务中的多个独立数据空间。

端口(port)

端口是服务对外提供连接时使用的编号。PostgreSQL 默认端口通常是 5432

当你连接数据库时,如果主机地址是对的,但端口写错了,客户端也连不上。

初学阶段先建立什么认知

学 PostgreSQL,最开始不要急着背很多 SQL。先把下面这条链路想清楚:

  1. PostgreSQL 已经安装好
  2. PostgreSQL 服务已经启动
  3. 你有一个客户端工具,比如 psql
  4. 你知道要连到哪台主机、哪个端口、用什么用户、进哪个数据库
  5. 连上之后,再执行 SQL

只要这条链路打通,后面的学习会顺很多。

下一篇会先讲最容易卡住的部分:安装 PostgreSQL,并确认它真的可用。