当前位置: 首页 > web >正文

PostgreSQL 安装与配置全指南(适用于 Windows、macOS 与主流 Linux 发行版)

PostgreSQL 是一个功能强大、开源、稳定的对象关系数据库系统,广泛用于后端开发、数据处理与分布式架构中。本指南将手把手教你如何在 Windows、macOS 以及主流 Linux 发行版 上安装 PostgreSQL,并附上安装验证命令基础配置方法


一、Windows 安装与配置 PostgreSQL

1. 安装步骤

  1. 打开官网下载页面:https://www.postgresql.org/download/windows/

  2. 点击 “Download the installer”,跳转至 EnterpriseDB。

  3. 下载适用于你的版本(例如 PostgreSQL 16)的安装程序。

  4. 双击运行,按提示操作:

    • 选择安装目录(默认即可)
    • 设置数据库超级用户密码(务必记住
    • 设置端口号(默认 5432)
    • 默认选择 UTF-8 编码和英文区域设置

2. 验证安装是否成功

打开命令提示符(CMD)或 PowerShell,输入以下命令:

"C:\Program Files\PostgreSQL\16\bin\psql" --version

如果显示如下类似输出,则表示安装成功:

psql (PostgreSQL) 16.1

可选:将 C:\Program Files\PostgreSQL\16\bin 添加到系统环境变量 PATH,便可直接使用 psql 命令。


二、macOS 安装与配置 PostgreSQL

方法一:使用 Homebrew 安装(推荐)

  1. 确保安装了 Homebrew:https://brew.sh/
  2. 执行以下命令安装 PostgreSQL:
brew update
brew install postgresql

验证安装是否成功:

psql --version

输出示例:

psql (PostgreSQL) 16.1

启动服务:

brew services start postgresql

方法二:使用 Postgres.app(图形界面安装)

  1. 前往:https://postgresapp.com/
  2. 下载并安装后,打开应用即可自动初始化服务。

验证安装是否成功:

/Applications/Postgres.app/Contents/Versions/latest/bin/psql --version

可将其加入 PATH:

echo 'export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin' >> ~/.zshrc
source ~/.zshrc

之后可使用:

psql --version

三、Linux 安装与配置 PostgreSQL(涵盖主流发行版)

以下为不同发行版的详细安装步骤,均包含启动服务及验证命令。


1. Ubuntu / Debian / Linux Mint / Kali 等

sudo apt update
sudo apt install postgresql postgresql-contrib
验证安装:
psql --version
启动 PostgreSQL:
sudo systemctl start postgresql
sudo systemctl enable postgresql

2. CentOS / Rocky / AlmaLinux / RHEL 系列

添加官方仓库并安装 PostgreSQL 16:
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo dnf -qy module disable postgresql
sudo dnf install -y postgresql16-server postgresql16
初始化数据库并启动服务:
sudo /usr/pgsql-16/bin/postgresql-16-setup initdb
sudo systemctl enable --now postgresql-16
验证安装:
/usr/pgsql-16/bin/psql --version

可加入 PATH:

echo 'export PATH=$PATH:/usr/pgsql-16/bin' >> ~/.bashrc
source ~/.bashrc

3. Fedora

sudo dnf install -y postgresql-server postgresql-contrib
初始化数据库:
sudo postgresql-setup --initdb
启动服务:
sudo systemctl enable --now postgresql
验证安装:
psql --version

4. Arch Linux / Manjaro

sudo pacman -Syu postgresql
初始化数据库:
sudo -iu postgres
initdb --locale $LANG -D /var/lib/postgres/data
exit
启动服务:
sudo systemctl enable --now postgresql
验证安装:
psql --version

5. openSUSE / SUSE Linux Enterprise

sudo zypper refresh
sudo zypper install postgresql16-server
初始化数据库(如未自动执行):
sudo -u postgres initdb
启动服务:
sudo systemctl enable --now postgresql
验证安装:
psql --version

四、PostgreSQL 安装后通用配置

1. 登录数据库

切换至 postgres 用户:

sudo -i -u postgres
psql

退出:

\q

2. 创建用户和数据库

CREATE USER myuser WITH PASSWORD 'mypassword';
CREATE DATABASE mydb OWNER myuser;

五、远程连接配置(可选)

适用于服务器部署环境。

1. 修改 postgresql.conf

路径依据系统不同:

  • Ubuntu/Debian: /etc/postgresql/16/main/postgresql.conf
  • CentOS/Fedora/RHEL: /var/lib/pgsql/16/data/postgresql.conf

将:

# listen_addresses = 'localhost'

修改为:

listen_addresses = '*'

2. 修改 pg_hba.conf

添加以下内容以允许远程访问:

host    all             all             0.0.0.0/0               md5

3. 重启服务:

sudo systemctl restart postgresql

六、常见问题排查

问题解决方法
psql: command not found检查是否将 PostgreSQL bin 路径添加至 PATH
连接被拒绝确保 PostgreSQL 已启动并监听地址正确
密码验证失败检查 pg_hba.conf 中是否启用了 md5 认证模式

七、图形化管理工具推荐

  • pgAdmin(官方推荐 GUI 工具)
    https://www.pgadmin.org/download/

  • DBeaver(支持多数据库)
    https://dbeaver.io/

http://www.xdnf.cn/news/13298.html

相关文章:

  • <6>-MySQL表的增删查改
  • Fastapi的swagger文档响应超时无法访问的解决办法
  • mybatisplus.BaseMapper#selectPage 使用方法
  • 服务器内存能不能用在台式机上
  • 模板语法中的插值语法详解
  • innodb 数据页结构
  • SpringBoot集成Tess4j :低成本解锁OCR 图片识别能力
  • 论文略读: CUT YOUR LOSSES IN LARGE-VOCABULARY LANGUAGE MODELS
  • YSYX学习记录(八)
  • 【51单片机】5. 矩阵键盘与矩阵键盘密码锁Demo
  • Debian系统简介
  • R7-4 统计单词的个数
  • 电影感户外柔和旅拍Lr调色教程,手机滤镜PS+Lightroom预设下载!
  • C++ 智能指针
  • postgresql搭建与初始化
  • EtherCAT转CC-Link IE协议转换通讯助力库卡机器人与三菱PLC无缝对接
  • 【Linux篇】细品环境变量与地址空间
  • Qt Widget类解析与代码注释
  • day27/60
  • 可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
  • 前端技术 HTML iframe 详细解读
  • 每日算法 -【Swift 算法】删除链表的倒数第 N 个结点
  • 聊聊 Pulsar:Producer 源码解析
  • STL 6分配器
  • 智能文档结构化技术的应用,重塑合同管理模式
  • CSS Modules使用
  • [特殊字符] 以太坊智能合约:原理、执行与核心机制
  • 新能源汽车智慧充电桩管理方案:智能安全识别的实际应用
  • mysql为什么一个表中不能同时存在两个字段自增
  • Q: dify的QA分段方式,question、answer和keywords哪些内容进入向量库呢?