PostgreSQL 是一个开源的关系型数据库管理系统(RDBMS)。如果你已经听说过 MySQL、SQLite,那么可以把 PostgreSQL 理解成同一类工具:它们都用来存数据、查数据、管理数据。
很多人喜欢把 PostgreSQL 简称为 Postgres。在实际工作里,它常被用在网站后台、业务系统、数据平台和需要复杂查询的应用中。
最简单的理解方式是:
比如用户信息、订单、文章、评论、库存,这些都可以存进 PostgreSQL。
对于初学者来说,PostgreSQL 值得学习,主要因为它有几个明显特点:
你可以把它理解成一种“既适合入门,也足够专业”的数据库。
PostgreSQL 常见于这些场景:
如果你只是做一个非常轻量的本地小工具,SQLite 可能已经够用;但如果你想学习“真正的数据库服务怎么运行”,PostgreSQL 会更合适。
初学时不用记太多细节,先记住下面这几个直观差别就够了。
它们都属于关系型数据库,也都支持 SQL。
可以先这样理解:
如果你已经会 MySQL,再学 PostgreSQL 会更容易,因为很多基础概念是互通的。
SQLite 和 PostgreSQL 最大的区别在于“它是不是一个独立运行的数据库服务”。
所以学习 PostgreSQL 时,你会经常接触“服务启动”“端口”“连接参数”这些概念。
服务端就是 PostgreSQL 真正运行的那部分程序。它负责接收连接、执行 SQL、读写数据文件。
你在命令行里执行查询,真正干活的是服务端,不是你眼前这个终端窗口。
客户端是你用来连接 PostgreSQL 的工具。最常见的客户端就是 psql。
你可以把它理解成“和 PostgreSQL 对话的入口”。你输入命令,它把命令发给服务端,再把结果显示出来。
一个 PostgreSQL 服务里可以有多个数据库。
比如你可以创建:
postgrestestblog它们可以理解为同一台数据库服务中的多个独立数据空间。
端口是服务对外提供连接时使用的编号。PostgreSQL 默认端口通常是 5432。
当你连接数据库时,如果主机地址是对的,但端口写错了,客户端也连不上。
学 PostgreSQL,最开始不要急着背很多 SQL。先把下面这条链路想清楚:
psql只要这条链路打通,后面的学习会顺很多。
下一篇会先讲最容易卡住的部分:安装 PostgreSQL,并确认它真的可用。