PostgreSQL 安装与配置
本章节将详细介绍在不同操作系统上安装和配置 PostgreSQL 的方法。
在 Windows 上安装
方法一:使用安装向导
-
下载安装包
访问 PostgreSQL 官方下载页面,下载 Windows 版的安装包。
-
运行安装程序
双击下载的
.exe文件,启动安装向导。 -
安装步骤
-
组件选择
推荐选择以下组件:
- PostgreSQL Server:数据库服务器
- pgAdmin 4:图形化管理工具
- Stack Builder:额外的工具和驱动
- Command Line Tools:命令行工具
-
配置超级用户
PostgreSQL 默认创建一个超级用户
postgres。安装时需要设置密码,请务必记住这个密码。 -
完成安装
安装完成后,可以选择启动 pgAdmin 4 或通过命令行连接。
方法二:使用 Chocolatey
如果你已经安装了 Chocolatey,可以使用命令行快速安装:
# 安装 PostgreSQL
choco install postgresql
# 安装完成后,初始化数据库
& "C:\Program Files\PostgreSQL\16\bin\initdb.exe" -D "C:\Program Files\PostgreSQL\16\data"
# 启动服务
& "C:\Program Files\PostgreSQL\16\bin\pg_ctl.exe" -D "C:\Program Files\PostgreSQL\16\data" -l logfile start
在 Linux 上安装
Ubuntu/Debian
# 1. 添加 PostgreSQL APT 仓库
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
# 2. 导入签名密钥
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
# 3. 更新软件包列表
sudo apt-get update
# 4. 安装 PostgreSQL
sudo apt-get install postgresql-16
# 5. 安装额外组件(可选)
sudo apt-get install postgresql-client-16 # 客户端工具
sudo apt-get install postgresql-contrib-16 # 扩展工具
CentOS/RHEL/Rocky Linux
# 1. 添加 PostgreSQL YUM 仓库
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# 2. 安装 PostgreSQL 服务器
sudo yum install -y postgresql16-server
# 3. 初始化数据库
sudo /usr/pgsql-16/bin/postgresql-16-setup initdb
# 4. 启动服务
sudo systemctl enable postgresql-16
sudo systemctl start postgresql-16
# 5. 检查服务状态
sudo systemctl status postgresql-16
Arch Linux
# 安装 PostgreSQL
sudo pacman -S postgresql
# 初始化数据库(以 postgres 用户)
sudo -u postgres initdb -D /var/lib/postgres/data
# 启动服务
sudo systemctl start postgresql
# 设置开机自启
sudo systemctl enable postgresql
在 macOS 上安装
方法一:使用 Homebrew
# 1. 安装 Homebrew(如果尚未安装)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 2. 安装 PostgreSQL
brew install postgresql@16
# 3. 启动 PostgreSQL 服务
brew services start postgresql@16
# 4. 检查服务状态
brew services list
方法二:使用 Postgres.app
-
下载 Postgres.app
访问 Postgres.app 官网 下载 macOS 版的 PostgreSQL 应用。
-
安装步骤
- 打开
.dmg文件 - 将 PostgreSQL 图标拖到 Applications 文件夹
- 双击打开应用
- 点击 "Initialize" 初始化数据库
- 打开
-
配置环境变量
将以下内容添加到
~/.zshrc或~/.bash_profile:export PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"
安装后的基本配置
连接 PostgreSQL
# 连接到本地 PostgreSQL(使用 postgres 用户)
sudo -u postgres psql
# 或者使用当前系统用户连接
psql -U postgres
# 连接到指定数据库
psql -U postgres -d mydatabase
# 指定主机和端口
psql -h localhost -p 5432 -U postgres
修改 postgres 用户密码
-- 连接后修改密码
ALTER USER postgres WITH PASSWORD 'your_new_password';
-- 或者使用命令行的方式
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'your_new_password';"
创建新用户和数据库
-- 创建新用户
CREATE USER myuser WITH PASSWORD 'password123';
-- 创建新数据库
CREATE DATABASE mydb OWNER myuser;
-- 授予用户数据库的所有权限
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
使用命令行工具创建
# 创建用户
createuser -P myuser
# 创建数据库
createdb -O myuser mydb
pgAdmin 4 图形化工具
pgAdmin 是 PostgreSQL 官方推荐的图形化管理工具,功能强大且免费。
主要功能
- 数据库管理:创建、修改、删除数据库对象
- SQL 编辑器:编写和执行 SQL 语句
- 数据查看和编辑:可视化查看和编辑表数据
- 备份和恢复:图形化界面的备份恢复工具
- 性能监控:查询分析和性能监控
- 用户管理:用户和权限管理
访问 pgAdmin
安装完成后,通过浏览器访问:
- Windows:开始菜单 -> pgAdmin 4 -> pgAdmin 4
- 默认地址:
http://127.0.0.1:5050(首次访问需要设置主密码)
pgAdmin 基本操作
-
添加服务器
- 右键 "Servers" -> "Create" -> "Server"
- 填写连接信息:
- General:服务器名称
- Connection:主机、端口、用户名、密码
-
创建数据库
- 右键 "Databases" -> "Create" -> "Database"
-
执行 SQL
- 选择数据库 -> 点击 "Tools" -> "Query Tool"
Docker 安装 PostgreSQL
使用 Docker 可以快速搭建 PostgreSQL 环境:
# 1. 拉取 PostgreSQL 镜像
docker pull postgres:16
# 2. 运行 PostgreSQL 容器
docker run -d \
--name my-postgres \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=password123 \
-e POSTGRES_DB=mydb \
-p 5432:5432 \
postgres:16
# 3. 连接 PostgreSQL
docker exec -it my-postgres psql -U postgres
# 4. 常用 Docker 命令
docker stop my-postgres # 停止容器
docker start my-postgres # 启动容器
docker rm my-postgres # 删除容器
使用 Docker Compose
创建 docker-compose.yml 文件:
version: '3.8'
services:
postgres:
image: postgres:16
container_name: my-postgres
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password123
POSTGRES_DB: mydb
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
volumes:
postgres_data:
启动服务:
docker-compose up -d
常见问题
1. 无法连接数据库
检查以下几点:
- PostgreSQL 服务是否正在运行
- 防火墙是否允许 5432 端口
pg_hba.conf是否允许你的连接postgresql.conf中的listen_addresses配置
2. 忘记 postgres 密码
# 1. 停止 PostgreSQL 服务
sudo systemctl stop postgresql
# 2. 以跳过认证的方式启动
sudo -u postgres /usr/lib/postgresql/16/bin/postgres -D /var/lib/postgresql/16/main -c "listen_addresses=''"
# 3. 修改密码
psql -U postgres -c "ALTER USER postgres WITH PASSWORD 'newpassword';"
# 4. 重启服务
sudo systemctl start postgresql
3. 端口被占用
修改 postgresql.conf 中的端口:
# 编辑配置文件
sudo nano /etc/postgresql/16/main/postgresql.conf
# 找到以下行并修改
port = 5433
小结
本章我们学习了:
- 在 Windows、Linux、macOS 上安装 PostgreSQL
- 使用 Docker 快速部署 PostgreSQL
- pgAdmin 4 图形化管理工具的使用
- 基本配置和用户管理
- 常见问题的解决方法
安装完成后,现在你可以开始学习 PostgreSQL 的基础语法了。