跳到主要内容

PostgreSQL 安装与配置

本章节将详细介绍在不同操作系统上安装和配置 PostgreSQL 的方法。

在 Windows 上安装

方法一:使用安装向导

  1. 下载安装包

    访问 PostgreSQL 官方下载页面,下载 Windows 版的安装包。

  2. 运行安装程序

    双击下载的 .exe 文件,启动安装向导。

  3. 安装步骤

  4. 组件选择

    推荐选择以下组件:

    • PostgreSQL Server:数据库服务器
    • pgAdmin 4:图形化管理工具
    • Stack Builder:额外的工具和驱动
    • Command Line Tools:命令行工具
  5. 配置超级用户

    PostgreSQL 默认创建一个超级用户 postgres。安装时需要设置密码,请务必记住这个密码。

  6. 完成安装

    安装完成后,可以选择启动 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

  1. 下载 Postgres.app

    访问 Postgres.app 官网 下载 macOS 版的 PostgreSQL 应用。

  2. 安装步骤

    • 打开 .dmg 文件
    • 将 PostgreSQL 图标拖到 Applications 文件夹
    • 双击打开应用
    • 点击 "Initialize" 初始化数据库
  3. 配置环境变量

    将以下内容添加到 ~/.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 官方推荐的图形化管理工具,功能强大且免费。

主要功能

  1. 数据库管理:创建、修改、删除数据库对象
  2. SQL 编辑器:编写和执行 SQL 语句
  3. 数据查看和编辑:可视化查看和编辑表数据
  4. 备份和恢复:图形化界面的备份恢复工具
  5. 性能监控:查询分析和性能监控
  6. 用户管理:用户和权限管理

访问 pgAdmin

安装完成后,通过浏览器访问:

  • Windows:开始菜单 -> pgAdmin 4 -> pgAdmin 4
  • 默认地址http://127.0.0.1:5050(首次访问需要设置主密码)

pgAdmin 基本操作

  1. 添加服务器

    • 右键 "Servers" -> "Create" -> "Server"
    • 填写连接信息:
      • General:服务器名称
      • Connection:主机、端口、用户名、密码
  2. 创建数据库

    • 右键 "Databases" -> "Create" -> "Database"
  3. 执行 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

小结

本章我们学习了:

  1. 在 Windows、Linux、macOS 上安装 PostgreSQL
  2. 使用 Docker 快速部署 PostgreSQL
  3. pgAdmin 4 图形化管理工具的使用
  4. 基本配置和用户管理
  5. 常见问题的解决方法

安装完成后,现在你可以开始学习 PostgreSQL 的基础语法了。