跳到主要内容 PostgreSQL 18 本地安装与配置指南 | 极客日志
SQL
PostgreSQL 18 本地安装与配置指南 本文介绍了 PostgreSQL 18 在 Windows、Linux 和 macOS 上的本地安装方法、初始化配置及常用命令,并对比了其与 SQL Server、MySQL 的安装差异。内容涵盖系统要求、安装包下载、服务启动、用户权限设置及远程访问配置,旨在帮助开发者快速搭建数据库环境。
涅槃凤凰 发布于 2026/3/28 更新于 2026/4/14 1 浏览1.4.1 PostgreSQL 本地安装概述
PostgreSQL 可以在多种操作系统上安装,包括 Windows、Linux 和 macOS。本地安装 PostgreSQL 是学习和使用 PostgreSQL 的基础,通过本地安装,你可以在自己的计算机上运行和管理 PostgreSQL 数据库。
本章节将详细介绍在不同操作系统上安装 PostgreSQL 18 的方法,包括:
Windows 系统安装
Linux 系统安装(Ubuntu 24.04)
macOS 系统安装
PostgreSQL 初始化配置
本地安装实践项目
1.4.2 Windows 系统安装 PostgreSQL 18
1.4.2.1 系统要求
Windows 10 或 Windows Server 2016 及以上版本
至少 2GB RAM
至少 10GB 可用磁盘空间
64 位操作系统
1.4.2.2 下载安装包
1.4.2.3 安装步骤
双击下载的安装包,启动安装向导
点击"Next"按钮,进入安装目录选择页面
选择安装目录,默认安装在 C:\Program Files\PostgreSQL\18
选择要安装的组件,建议选择所有组件:
PostgreSQL Server:PostgreSQL 服务器
pgAdmin 4:PostgreSQL 图形化管理工具
Stack Builder:用于安装额外的 PostgreSQL 扩展
Command Line Tools:命令行工具,包括 psql、pg_dump 等
选择数据目录,默认位于 C:\Program Files\PostgreSQL\18\data
设置 PostgreSQL 超级用户(postgres)的密码
设置端口号,默认端口为 5432
选择区域设置,建议选择"Default locale"
点击"Next"按钮,开始安装
安装完成后,选择是否启动 Stack Builder(可以选择不启动)
点击"Finish"按钮,完成安装
1.4.2.4 验证安装 psql -U postgres -h localhost
输入超级用户密码,成功连接后会显示 PostgreSQL 命令行界面
如果安装成功,会显示 PostgreSQL 的版本信息
1.4.3 Linux 系统安装 PostgreSQL 18
1.4.3.1 Ubuntu 24.04 系统安装
1.4.3.1.1 添加 PostgreSQL 官方仓库 echo "deb [signed-by=/usr/share/keyrings/postgresql-keyring.gpg] http://apt.postgresql.org/pub/repos/apt/ jammy-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /usr/share/keyrings/postgresql-keyring.gpg
sudo apt install -y wget ca-certificates
sudo apt update && sudo apt upgrade -y
1.4.3.1.2 安装 PostgreSQL 18 sudo systemctl enable postgresql
sudo systemctl status postgresql
sudo apt install -y postgresql-18 postgresql-contrib-18
1.4.3.1.3 配置 PostgreSQL sudo systemctl restart postgresql
sudo vi /etc/postgresql/18/main/pg_hba.conf
host all all 0.0.0.0/0 scram-sha-256
配置 PostgreSQL 允许远程连接(可选):
sudo vi /etc/postgresql/18/main/postgresql.conf
ALTER USER postgres PASSWORD 'new_password' ;
1.4.4 macOS 系统安装 PostgreSQL 18
1.4.4.1 使用 Homebrew 安装 brew services start postgresql@18
brew install postgresql@18
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh) "
1.4.4.2 使用 DMG 安装包安装
1.4.4.3 验证安装 psql -U postgres -h localhost
1.4.5 PostgreSQL 初始化配置
1.4.5.1 修改超级用户密码 ALTER USER postgres PASSWORD 'new_password' ;
psql -U postgres -h localhost
1.4.5.2 创建新用户和数据库 GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
ALTER DATABASE mydb OWNER TO myuser;
CREATE USER myuser WITH PASSWORD 'mypassword' ;
psql -U postgres -h localhost
1.4.5.3 配置远程访问
1.4.6 实践项目:本地安装 PG18
1.4.6.1 项目目标 通过本次实践,掌握在不同操作系统上安装 PostgreSQL 18 的方法,包括:
Windows 系统安装 PostgreSQL 18
Linux 系统安装 PostgreSQL 18
macOS 系统安装 PostgreSQL 18
PostgreSQL 初始化配置
创建用户和数据库
配置远程访问
1.4.6.2 实践步骤
1.4.6.2.1 选择合适的安装方式
Windows:使用安装包安装
Linux:使用包管理器安装
macOS:使用 Homebrew 或 DMG 安装包安装
1.4.6.2.2 安装 PostgreSQL 18 按照上述相应操作系统的安装步骤,完成 PostgreSQL 18 的安装。
1.4.6.2.3 初始化配置
修改超级用户密码
创建新用户和数据库
配置远程访问
1.4.6.2.4 验证安装
使用 psql 连接到 PostgreSQL
创建一个测试表
插入测试数据
查询测试数据
1.4.6.2.5 备份和恢复测试 psql -U postgres -d mydb -f mydb_backup.sql
pg_dump -U postgres -d mydb -f mydb_backup.sql
1.4.7 PostgreSQL 常用命令
1.4.7.1 服务管理命令 操作系统 启动命令 停止命令 重启命令 查看状态 开机自启 Windows net start postgresql-x64-18net stop postgresql-x64-18net stop postgresql-x64-18 && net start postgresql-x64-18sc query postgresql-x64-18安装时自动配置 Ubuntu 24.04 sudo systemctl start postgresqlsudo systemctl stop postgresqlsudo systemctl restart postgresqlsudo systemctl status postgresqlsudo systemctl enable postgresqlmacOS (Homebrew) brew services start postgresql@18brew services stop postgresql@18brew services restart postgresql@18brew services list安装时自动配置
1.4.7.2 客户端命令 命令 描述 示例 psqlPostgreSQL 命令行客户端 psql -U postgres -h localhostpg_dump备份数据库 pg_dump -U postgres -d mydb -f mydb.sqlpg_restore恢复数据库 pg_restore -U postgres -d mydb mydb.dumpcreatedb创建数据库 createdb -U postgres mydbdropdb删除数据库 dropdb -U postgres mydbcreateuser创建用户 createuser -U postgres myuser -Pdropuser删除用户 dropuser -U postgres myuserpg_ctlPostgreSQL 服务器控制工具 pg_ctl start -D /usr/local/pgsql/datainitdb初始化 PostgreSQL 数据库集群 initdb -D /usr/local/pgsql/data
1.4.8 主流数据库本地安装对比 为了帮助你更全面地了解不同数据库的本地安装和配置方法,本节将对比 PostgreSQL 18、SQL Server 2019+ 和 MySQL 8.0+ 在本地安装方面的差异。
1.4.8.1 安装方法对比 操作系统 PostgreSQL 18 SQL Server 2019+ MySQL 8.0+ Windows 通过 EDB 安装包安装,或使用 Chocolatey 通过 SQL Server 安装向导,或使用 Chocolatey 通过 MySQL Installer,或使用 Chocolatey Ubuntu 24.04 通过 apt 仓库安装:sudo apt install postgresql-18 使用 apt 仓库或 Docker 通过 apt 仓库安装:sudo apt install mysql-server macOS 通过 Homebrew 安装:brew install postgresql@18,或使用 EnterpriseDB 安装包 使用 Docker 或 Azure Data Studio 通过 Homebrew 安装:brew install mysql,或使用 MySQL Installer 安装包大小 约 200MB 约 1GB(完整安装) 约 600MB 安装时间 较快,约 5-10 分钟 较慢,约 20-30 分钟(完整安装) 中等,约 10-15 分钟 默认安装目录 Windows: C:\Program Files\PostgreSQL\18,Linux: /var/lib/postgresql/18/main,macOS: /usr/local/var/postgresql@18 Windows: C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER,Linux: /var/opt/mssql Windows: C:\Program Files\MySQL\MySQL Server 8.0,Linux: /var/lib/mysql,macOS: /usr/local/var/mysql
1.4.8.2 初始化配置对比 配置方面 PostgreSQL 18 SQL Server 2019+ MySQL 8.0+ 初始化命令 Windows: 安装时自动初始化,Linux (Ubuntu 24.04): 安装时自动初始化,macOS: initdb /usr/local/var/postgresql@18 安装时自动初始化 Windows: 安装时自动初始化,Linux: sudo mysqld --initialize 默认端口 5432 1433 3306 默认超级用户 postgres sa root 密码设置 安装时设置 postgres 用户密码,或使用 pg_ctl 设置 安装时设置 sa 用户密码 安装时设置 root 用户密码,或初始化时生成临时密码 字符集 默认 UTF-8 默认 Latin1 或 UTF-8 默认 Latin1 或 UTF-8 默认存储引擎 堆表存储引擎 Rowstore(B-Tree) InnoDB 初始化数据目录 自动创建,包含配置文件和数据文件 自动创建,包含数据库文件和日志文件 自动创建,包含数据文件和配置文件
1.4.8.3 服务管理对比 服务方面 PostgreSQL 18 SQL Server 2019+ MySQL 8.0+ 服务名称 Windows: postgresql-x64-18,Linux (Ubuntu 24.04): postgresql,macOS: postgresql@18 Windows: MSSQLSERVER,Linux: mssql-server Windows: MySQL80,Linux: mysqld 启动命令 Windows: net start postgresql-x64-18,Linux (Ubuntu 24.04): sudo systemctl start postgresql,macOS: brew services start postgresql@18 Windows: net start MSSQLSERVER,Linux: sudo systemctl start mssql-server Windows: net start MySQL80,Linux: sudo systemctl start mysqld 停止命令 Windows: net stop postgresql-x64-18,Linux (Ubuntu 24.04): sudo systemctl stop postgresql,macOS: brew services stop postgresql@18 Windows: net stop MSSQLSERVER,Linux: sudo systemctl stop mssql-server Windows: net stop MySQL80,Linux: sudo systemctl stop mysqld 重启命令 Windows: net stop postgresql-x64-18 && net start postgresql-x64-18,Linux (Ubuntu 24.04): sudo systemctl restart postgresql,macOS: brew services restart postgresql@18 Windows: net stop MSSQLSERVER && net start MSSQLSERVER,Linux: sudo systemctl restart mssql-server Windows: net stop MySQL80 && net start MySQL80,Linux: sudo systemctl restart mysqld 开机自启 Windows: 安装时自动配置,Linux (Ubuntu 24.04): sudo systemctl enable postgresql,macOS: brew services start postgresql@18 Windows: 安装时自动配置,Linux: sudo systemctl enable mssql-server Windows: 安装时自动配置,Linux: sudo systemctl enable mysqld 状态查看 Windows: sc query postgresql-x64-18,Linux (Ubuntu 24.04): sudo systemctl status postgresql,macOS: brew services list Windows: sc query MSSQLSERVER,Linux: sudo systemctl status mssql-server Windows: sc query MySQL80,Linux: sudo systemctl status mysqld
1.4.8.4 配置文件结构对比 配置文件 PostgreSQL 18 SQL Server 2019+ MySQL 8.0+ 主配置文件 postgresql.conf:包含数据库服务器的主要配置mssql.conf(Linux),Windows: 通过 SQL Server Configuration Manager 管理my.cnf 或 my.ini:包含 MySQL 服务器的主要配置认证配置文件 pg_hba.conf:控制客户端认证方式通过 SQL Server Management Studio 或 Transact-SQL 管理 通过 my.cnf 和权限表管理 访问控制文件 pg_ident.conf:用于映射系统用户到数据库用户通过 SQL Server Management Studio 或 Transact-SQL 管理 通过权限表和防火墙管理 日志文件 Windows: C:\Program Files\PostgreSQL\18\data\pg_log,Linux: /var/log/postgresql,macOS: /usr/local/var/log/postgresql@18 Windows: C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Log,Linux: /var/opt/mssql/log Windows: C:\ProgramData\MySQL\MySQL Server 8.0\Data,Linux: /var/log/mysql,macOS: /usr/local/var/mysql 配置文件修改方式 直接编辑配置文件,需要重启服务 Windows: 使用 SQL Server Configuration Manager,Linux: 编辑 mssql.conf,部分配置需要重启服务 直接编辑配置文件,部分配置需要重启服务
1.4.8.5 用户和数据库管理对比 管理方面 PostgreSQL 18 SQL Server 2019+ MySQL 8.0+ 创建用户 CREATE USER username WITH PASSWORD 'password';CREATE LOGIN username WITH PASSWORD = 'password'; CREATE USER username FOR LOGIN username;CREATE USER username@'localhost' IDENTIFIED BY 'password';创建数据库 CREATE DATABASE dbname;CREATE DATABASE dbname;CREATE DATABASE dbname;授权 GRANT ALL PRIVILEGES ON DATABASE dbname TO username;ALTER AUTHORIZATION ON DATABASE::dbname TO username;GRANT ALL PRIVILEGES ON dbname.* TO username@'localhost'; FLUSH PRIVILEGES;客户端工具 psql(命令行),pgAdmin(图形化)sqlcmd(命令行),SQL Server Management Studio(图形化)mysql(命令行),MySQL Workbench(图形化)远程访问配置 修改 postgresql.conf 的 listen_addresses 和 pg_hba.conf 修改 SQL Server 配置管理器的网络配置,配置防火墙 修改 my.cnf 的 bind-address,配置防火墙,创建远程用户
1.4.8.6 常用命令对比 命令类型 PostgreSQL 18 SQL Server 2019+ MySQL 8.0+ 连接数据库 psql -U username -d dbname -h hostsqlcmd -S server -U username -P password -d dbnamemysql -u username -p -h host dbname备份数据库 pg_dump -U username -d dbname -f backup.sqlsqlcmd -S server -U username -P password -Q "BACKUP DATABASE dbname TO DISK = 'backup.bak'"mysqldump -u username -p dbname > backup.sql恢复数据库 pg_restore -U username -d dbname backup.dump,或 psql -U username -d dbname -f backup.sqlsqlcmd -S server -U username -P password -Q "RESTORE DATABASE dbname FROM DISK = 'backup.bak'"mysql -u username -p dbname < backup.sql列出数据库 psql -l,或在 psql 中:lsqlcmd -S server -U username -P password -Q "SELECT name FROM sys.databases;"mysql -u username -p -e "SHOW DATABASES;"列出用户 在 psql 中:du sqlcmd -S server -U username -P password -Q "SELECT name FROM sys.server_principals WHERE type IN ('S','U');"mysql -u username -p -e "SELECT user FROM mysql.user;"查看版本 psql --version,或在 psql 中:SELECT version();sqlcmd -S server -U username -P password -Q "SELECT @@VERSION;"mysql --version,或在 mysql 中:SELECT VERSION();
1.4.8.7 适用场景对比 场景类型 PostgreSQL 18 SQL Server 2019+ MySQL 8.0+ 开发环境 适合,安装简单,配置灵活 适合,尤其是与.NET 开发环境集成 适合,安装简单,资源占用低 测试环境 适合,易于部署和配置 适合,支持多种配置选项 适合,易于自动化部署 生产环境 适合,稳定性高,支持高可用配置 适合,企业级支持,功能全面 适合,高性能,适合高并发场景 大数据量 适合,支持分区表和并行查询 适合,支持列存储和内存优化表 适合,InnoDB 引擎支持大数据量 复杂查询 适合,强大的查询优化器和高级 SQL 特性 适合,优秀的查询优化器和分析功能 适合,基本的复杂查询支持 成本敏感 适合,开源免费,无许可费用 不适合,企业版许可费用高 适合,开源免费,无许可费用 跨平台需求 适合,完全跨平台支持 适合,支持 Windows 和 Linux 适合,完全跨平台支持
1.4.9 总结 本章节详细介绍了在不同操作系统上安装 PostgreSQL 18 的方法,包括:
Windows 系统安装 PostgreSQL 18
Linux 系统安装 PostgreSQL 18(Ubuntu 24.04)
macOS 系统安装 PostgreSQL 18
PostgreSQL 初始化配置
创建用户和数据库
配置远程访问
PostgreSQL 常用命令
一个完整的本地安装实践项目
主流数据库本地安装对比
在不同操作系统上成功安装 PostgreSQL 18
进行基本的 PostgreSQL 配置
创建用户和数据库
配置远程访问
使用常用的 PostgreSQL 命令
了解 PostgreSQL 18 与 SQL Server 2019+ 和 MySQL 8.0+ 在本地安装方面的差异
PostgreSQL 的本地安装是学习和使用 PostgreSQL 的基础,掌握本地安装方法可以帮助你快速搭建开发和测试环境,为后续学习 PostgreSQL 的高级特性打下坚实的基础。同时,通过与其他主流数据库的对比,你可以更好地理解 PostgreSQL 的特点和优势,选择最适合你需求的数据库。
在接下来的章节中,我们将学习 PostgreSQL 的 SQL 基础语法和高级查询,帮助你掌握 PostgreSQL 的数据操作和查询技能。
1.4.10 思考与练习
1.4.10.1 思考问题
比较 PostgreSQL 18 与 SQL Server 2019+ 和 MySQL 8.0+ 在本地安装方面的差异
为什么需要配置 PostgreSQL 允许远程访问?配置远程访问时需要注意哪些安全问题?
PostgreSQL 的主要配置文件有哪些?它们的作用是什么?
如何管理 PostgreSQL 服务?不同操作系统的命令有什么区别?
什么是数据库备份和恢复?为什么需要定期备份数据库?
1.4.10.2 练习题
在你的操作系统上安装 PostgreSQL 18
创建一个新用户和数据库
配置 PostgreSQL 允许远程访问
使用 psql 连接到 PostgreSQL,创建表并插入数据
使用 pg_dump 备份数据库
使用 pg_restore 恢复数据库
了解 PostgreSQL 的常用命令
比较不同操作系统上安装 PostgreSQL 的异同
编写一个脚本,自动备份 PostgreSQL 数据库
简述 PostgreSQL 18 与 SQL Server 2019+ 和 MySQL 8.0+ 在用户和数据库管理方面的差异
1.4.11 参考资源 微信扫一扫,关注极客日志 微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
相关免费在线工具 SQL 美化和格式化 在线格式化和美化您的 SQL 查询(它支持各种 SQL 方言)。 在线工具,SQL 美化和格式化在线工具,online
SQL 转 CSV/JSON/XML 解析 INSERT 等受限 SQL,导出为 CSV、JSON、XML、YAML、HTML 表格(见页内语法说明)。 在线工具,SQL 转 CSV/JSON/XML在线工具,online
CSV 工具包 CSV 与 JSON/XML/HTML/TSV/SQL 等互转,单页多 Tab。 在线工具,CSV 工具包在线工具,online
Base64 字符串编码/解码 将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
Base64 文件转换器 将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
Markdown 转 HTML 将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online