PostgreSQL 数据库
PostgreSQL 是 EnderRealm 项目使用的数据库系统,用于存储各种业务数据,包括但不限于配置数据、用户信息等。
什么是数据库?
数据库是按照数据结构来组织、存储和管理数据的仓库。它可以:
- 持久存储:数据保存在磁盘上,不会因为程序关闭而丢失
- 高效查询:支持快速检索和过滤数据
- 并发访问:多个程序可以同时访问数据库
- 数据安全:支持备份、恢复、权限控制
什么是 SQL?
SQL(Structured Query Language)是用于管理关系数据库的标准语言。常用操作包括:
sql
-- 查询数据
SELECT * FROM users WHERE age > 18;
-- 插入数据
INSERT INTO users (name, age) VALUES ('张三', 25);
-- 更新数据
UPDATE users SET age = 26 WHERE name = '张三';
-- 删除数据
DELETE FROM users WHERE name = '张三';什么是 PostgreSQL?
PostgreSQL 是一个功能强大的开源关系数据库管理系统,由加州大学伯克利分校开发。它的特点包括:
- 开源免费:完全免费使用和修改
- 功能强大:支持复杂查询、事务、触发器等
- 标准兼容:高度兼容 SQL 标准
- 可扩展:支持自定义数据类型、函数等
- 高性能:支持索引、查询优化等
为什么选择 PostgreSQL?
PostgreSQL 是业界广泛使用的关系数据库,具有以下优点:
- 可靠性:经过长期发展,非常稳定
- 功能丰富:支持复杂查询、事务、JSON 等高级特性
- 性能优秀:处理大量数据时表现良好
- 开源免费:完全免费使用
安装 PostgreSQL
Windows
方法一:官方安装包(推荐)
- 访问 PostgreSQL 官网
- 下载安装包(推荐使用 EnterpriseDB 安装包)
- 运行安装包,按提示完成安装
- 重要:记住设置的超级用户(postgres)密码
- 默认端口:5432
方法二:使用包管理器
powershell
# 使用 winget
winget install PostgreSQL.PostgreSQL.16
# 使用 scoop
scoop install postgresql
# 使用 chocolatey
choco install postgresqlmacOS
方法一:使用 Homebrew(推荐)
bash
# 安装 Homebrew(如果尚未安装)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 安装 PostgreSQL
brew install postgresql@16
# 启动服务
brew services start postgresql@16方法二:官方安装包
- 访问 PostgreSQL 官网
- 下载安装包
- 运行安装包,按提示完成安装
方法三:使用 Postgres.app
- 访问 Postgres.app
- 下载并安装
- 启动应用即可
Linux
Ubuntu/Debian
bash
# 更新包列表
sudo apt update
# 安装 PostgreSQL
sudo apt install postgresql postgresql-contrib
# 启动服务
sudo systemctl start postgresql
sudo systemctl enable postgresqlCentOS/RHEL/Fedora
bash
# CentOS/RHEL
sudo yum install postgresql-server postgresql-contrib
sudo postgresql-setup --initdb
sudo systemctl start postgresql
sudo systemctl enable postgresql
# Fedora
sudo dnf install postgresql-server postgresql-contrib
sudo postgresql-setup --initdb
sudo systemctl start postgresql
sudo systemctl enable postgresql配置 PostgreSQL
修改密码
安装完成后,首先修改 postgres 用户的密码:
bash
# 切换到 postgres 用户
sudo -u postgres psql
# 修改密码
ALTER USER postgres WITH PASSWORD '你的密码';
# 退出
\q创建数据库
EnderRealm 需要创建一个专用数据库:
bash
# 登录 PostgreSQL
sudo -u postgres psql
# 创建数据库
CREATE DATABASE enderrealm;
# 创建用户
CREATE USER enderrealm WITH PASSWORD '你的密码';
# 授权
GRANT ALL PRIVILEGES ON DATABASE enderrealm TO enderrealm;
# 退出
\q初始化数据库
EnderRealm 项目提供了数据库初始化脚本:
bash
# 进入数据库目录
cd database
# 创建数据库(如果尚未创建)
psql -U postgres -f init_db.sql
# 初始化表结构
psql -U postgres -d enderrealm -f init_schema.sql
# 导入 i18n 数据
psql -U postgres -d enderrealm -f i18n.sql验证安装
命令行验证
bash
# 查看 PostgreSQL 版本
psql --version
# 连接到数据库
psql -U postgres -d enderrealm
# 查看数据库列表
\l
# 查看表列表
\dt
# 退出
\q使用图形工具
推荐使用以下图形化管理工具:
- Navicat:功能强大的数据库管理工具,支持多种数据库(推荐)
- pgAdmin:PostgreSQL 官方图形化管理工具(免费)
- DBeaver:通用数据库管理工具(免费开源)
- DataGrip:JetBrains 出品的数据库 IDE(付费)
常用 PostgreSQL 命令
bash
# 启动服务
sudo systemctl start postgresql
# 停止服务
sudo systemctl stop postgresql
# 重启服务
sudo systemctl restart postgresql
# 查看状态
sudo systemctl status postgresql
# 连接到数据库
psql -U username -d database_name
# 备份数据库
pg_dump -U username database_name > backup.sql
# 恢复数据库
psql -U username database_name < backup.sql常见问题
Q: 忘记了 postgres 用户密码怎么办?
A: 可以通过修改 pg_hba.conf 文件重置密码:
- 找到 pg_hba.conf 文件(通常在 /etc/postgresql/16/main/)
- 将
md5改为trust - 重启 PostgreSQL 服务
- 登录并修改密码
- 恢复 pg_hba.conf 文件
- 再次重启服务
Q: 无法连接到数据库怎么办?
A: 检查以下几点:
- PostgreSQL 服务是否启动
- 端口是否正确(默认 5432)
- 防火墙是否允许连接
- 用户名和密码是否正确
Q: 如何查看数据库大小?
A: 使用以下 SQL 命令:
sql
SELECT pg_database.datname,
pg_size_pretty(pg_database_size(pg_database.datname)) AS size
FROM pg_database;推荐学习资源
下一步
PostgreSQL 安装配置完成后,让我们继续学习 IntelliJ IDEA。