PostgreSQL的安装和使用
🛠️ PostgreSQL 核心特性
特性 说明
ACID 事务支持 确保数据操作的原子性、一致性、隔离性和持久性
复杂数据类型 支持 JSON/JSONB、XML、数组、几何图形等
高级索引 B-tree、Hash、GiST(通用搜索树)、GIN(通用倒排索引)等
扩展性 可通过扩展(如 PostGIS、pgcrypto)增强功能
高并发 多版本并发控制(MVCC)避免读写阻塞
全文本搜索 内置支持高效的文本搜索
跨平台 支持 Windows、Linux、macOS 等操作系统
📥 安装 PostgreSQL
以下是不同操作系统下的安装方法:
- Linux (Ubuntu/Debian)
更新软件包列表
sudo apt update
安装 PostgreSQL 和命令行工具
sudo apt install postgresql postgresql-client
验证安装
psql --version
启动服务(通常安装后自动启动)
sudo systemctl start postgresql
设置开机自启
sudo systemctl enable postgresql
- macOS (Homebrew)
安装 PostgreSQL
brew install postgresql
启动服务
brew services start postgresql
验证
psql --version
-
Windows
-
从 https://www.postgresql.org/download/windows/ 下载安装程序。
-
运行安装向导,选择安装目录(默认即可)。
-
设置超级用户(postgres)的密码(务必牢记)。
-
选择端口(默认 5432)。
-
完成安装后,可通过 pgAdmin(图形化管理工具)或命令行使用。
🔌 基本使用
- 连接数据库
默认以 postgres 用户登录
sudo -u postgres psql
或指定用户和数据库
psql -U username -d database_name -h localhost -p 5432
- 常用命令
命令 说明
\l 列出所有数据库
\c database_name 切换到指定数据库
\dt 列出当前数据库的所有表
\d table_name 查看表结构
\du 列出所有用户及其权限
\q 退出 psql 命令行
- 创建用户和数据库
– 创建用户
CREATE USER myuser WITH PASSWORD ‘mypassword’;
– 创建数据库并授权
CREATE DATABASE mydb OWNER myuser;
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
- 基本 SQL 操作
– 创建表
CREATE TABLE users (
id SERIAL PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
– 插入数据
INSERT INTO users (name, email) VALUES (‘Alice’, ‘alice@example.com’);
– 查询数据
SELECT * FROM users WHERE name LIKE ‘A%’;
– 更新数据
UPDATE users SET email = ‘new_email@example.com’ WHERE id = 1;
– 删除数据
DELETE FROM users WHERE id = 1;
🖥️ 图形化管理工具
- pgAdmin:PostgreSQL 官方提供的免费工具,功能全面。
- DBeaver:开源通用数据库工具,支持 PostgreSQL。
- TablePlus:轻量级 GUI,适合快速操作。
⚙️ 配置文件位置
文件 路径(Linux) 作用
postgresql.conf /etc/postgresql/<版本>/main/ 主配置文件(端口、内存等)
pg_hba.conf 同上 客户端认证配置(IP、密码)
🔄 备份与恢复
备份数据库
pg_dump -U username -d dbname -f backup.sql
恢复数据库
psql -U username -d dbname -f backup.sql
- 官方文档:https://www.postgresql.org/docs/
- 实践项目:尝试用 PostgreSQL 作为后端数据库开发一个博客系统或任务管理应用。
- 性能优化:学习 EXPLAIN ANALYZE、索引优化和查询调优。
PostgreSQL 是功能强大且灵活的数据库,适合从初学者到高级开发者的所有用户。