2026/4/6 9:19:52
网站建设
项目流程
潍坊品牌网站建设,专业建设网站哪个好,怎么做网站写书,网站建设服务器租用多少钱文章目录 一、安装前准备#xff1a;通用原则与注意事项1.1 版本选择1.2 权限要求1.3 端口与防火墙1.4 存储路径 二、Linux 系统安装 PostgreSQL2.1 Ubuntu / Debian 安装#xff08;推荐使用官方 APT 仓库#xff09;步骤 1#xff1a;添加官方 APT 仓库步骤 2#xff1a…文章目录一、安装前准备通用原则与注意事项1.1 版本选择1.2 权限要求1.3 端口与防火墙1.4 存储路径二、Linux 系统安装 PostgreSQL2.1 Ubuntu / Debian 安装推荐使用官方 APT 仓库步骤 1添加官方 APT 仓库步骤 2安装 PostgreSQL步骤 3验证安装步骤 4初始化与配置通常自动完成2.2 CentOS / Rocky Linux / AlmaLinux 安装使用官方 YUM 仓库步骤 1添加官方 YUM 仓库步骤 2安装 PostgreSQL步骤 3初始化数据库集群步骤 4验证2.3 从源码编译安装高级用户三、Windows 系统安装 PostgreSQL3.1 下载安装程序3.2 图形化安装步骤3.3 验证安装3.4 服务管理四、macOS 系统安装 PostgreSQL4.1 使用 Homebrew推荐步骤 1安装 Homebrew若未安装步骤 2安装 PostgreSQL步骤 3验证步骤 4常用命令4.2 使用 Postgres.app图形化首选五、Docker 容器化安装 PostgreSQL5.1 拉取官方镜像5.2 快速启动临时容器5.3 持久化数据生产推荐5.4 自定义配置5.5 连接容器内数据库六、安装后关键配置与安全加固6.1 修改监听地址允许远程访问6.2 配置客户端认证pg_hba.conf6.3 创建应用用户与数据库6.4 设置环境变量可选七、常见问题排查7.1 “psql: command not found”7.2 “FATAL: password authentication failed”7.3 端口被占用7.4 中文乱码本文将全面、系统、深入地讲解 PostgreSQL 在LinuxUbuntu/CentOS、Windows、macOS 以及 Docker 容器四大主流环境下的详细安装步骤涵盖官方仓库、包管理器、图形化安装程序、容器化部署等多种方式并附带初始化配置、服务管理、安全加固等关键实践。一、安装前准备通用原则与注意事项在具体操作前需明确以下通用原则1.1 版本选择生产环境建议使用LTS长期支持版本如 PostgreSQL 14、15 或 16截至 2026 年。学习/开发可使用最新稳定版以体验新特性。查看最新版本https://www.postgresql.org/download/1.2 权限要求安装过程通常需要root / Administrator / sudo 权限。数据目录PGDATA应由专用用户如postgres拥有禁止 root 运行数据库进程。1.3 端口与防火墙默认端口5432若需远程访问需开放防火墙端口但首次安装建议仅本地访问。1.4 存储路径默认数据目录Linux:/var/lib/pgsql/data或/var/lib/postgresql/{version}/mainWindows:C:\Program Files\PostgreSQL\{version}\datamacOS (Homebrew):/opt/homebrew/var/postgresqlApple Silicon或/usr/local/var/postgres建议预留足够磁盘空间至少 1GB 起。二、Linux 系统安装 PostgreSQLLinux 发行版众多本文以UbuntuDebian 系和CentOS/Rocky LinuxRHEL 系为代表。2.1 Ubuntu / Debian 安装推荐使用官方 APT 仓库优势自动更新、版本丰富、集成 systemd 服务。步骤 1添加官方 APT 仓库# 导入 GPG 密钥wget--quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc|sudoapt-keyadd-# 添加仓库以 Ubuntu 22.04 PostgreSQL 16 为例echodeb http://apt.postgresql.org/pub/repos/apt/$(lsb_release -cs)-pgdg main|sudotee/etc/apt/sources.list.d/pgdg.list# 更新包索引sudoaptupdate注意$(lsb_release -cs)自动获取发行版代号如 jammy、focal。若为非标准系统可手动替换。步骤 2安装 PostgreSQL# 安装客户端、服务器及 contrib 扩展含 pg_stat_statements 等sudoaptinstallpostgresql-16 postgresql-client-16 postgresql-contrib-16步骤 3验证安装# 检查服务状态sudosystemctl status postgresql16-main# 切换到 postgres 用户并进入 psqlsudo-u postgres psql -cSELECT version();步骤 4初始化与配置通常自动完成数据目录/var/lib/postgresql/16/main配置文件postgresql.conf主配置监听地址、内存、日志等pg_hba.conf客户端认证配置安全提示默认仅允许本地 peer 认证无需密码即可登录通过sudo -u postgres。2.2 CentOS / Rocky Linux / AlmaLinux 安装使用官方 YUM 仓库适用于 RHEL 7/8/9 及其衍生版。步骤 1添加官方 YUM 仓库# 下载并安装仓库 RPM以 Rocky Linux 9 PG16 为例sudodnfinstall-y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 禁用内置 postgresql 模块避免冲突sudodnf -qy module disable postgresql步骤 2安装 PostgreSQLsudodnfinstall-y postgresql16-server postgresql16-contrib步骤 3初始化数据库集群# 首次安装需手动初始化sudo/usr/pgsql-16/bin/postgresql-16-setup initdb# 启动并设置开机自启sudosystemctlenable--now postgresql-16步骤 4验证sudo-u postgres psql -cSELECT current_database(); 提示数据目录为/var/lib/pgsql/16/data。2.3 从源码编译安装高级用户适用于需要定制编译选项如启用 ICU、LDAP、SSL或最新开发版。# 安装依赖sudoaptinstallbuild-essential zlib1g-dev libreadline-dev flex bison libssl-dev# 下载源码以 16.1 为例wgethttps://ftp.postgresql.org/pub/source/v16.1/postgresql-16.1.tar.gztar-xzf postgresql-16.1.tar.gzcdpostgresql-16.1# 配置编译选项./configure --prefix/usr/local/pgsql --with-openssl --enable-thread-safety# 编译与安装make-j$(nproc)sudomakeinstall# 创建用户与数据目录sudouseradd-r -s /bin/false postgressudomkdir/usr/local/pgsql/datasudochownpostgres:postgres /usr/local/pgsql/data# 初始化sudo-u postgres /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data# 启动sudo-u postgres /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data start注意源码安装需手动管理服务、PATH 环境变量等。三、Windows 系统安装 PostgreSQLWindows 提供图形化安装程序适合桌面开发。3.1 下载安装程序访问 https://www.enterprisedb.com/downloads/postgres-postgresql-downloads选择对应架构x64 推荐和版本如 PostgreSQL 16.13.2 图形化安装步骤运行安装程序如postgresql-16.1-1-windows-x64.exe选择安装目录默认C:\Program Files\PostgreSQL\16设置数据目录默认C:\Program Files\PostgreSQL\16\data设置超级用户密码务必牢记此为postgres用户密码选择端口默认 5432若冲突可修改选择区域Locale建议 UTF8避免中文乱码安装组件PostgreSQL Server必需pgAdmin 4图形化管理工具推荐Stack Builder附加工具可选开始安装→ 等待完成3.3 验证安装命令行cd C:\Program Files\PostgreSQL\16\bin psql -U postgres -h localhost # 输入密码后进入交互界面pgAdmin 4安装后自动创建快捷方式首次启动需设置管理员邮箱和密码添加服务器HostlocalhostPort5432UsernamepostgresPassword安装时设置3.4 服务管理服务名称postgresql-x64-16可通过Windows 服务管理器启停或使用命令net start postgresql-x64-16 net stop postgresql-x64-16安全建议生产环境中应限制远程访问修改默认密码策略。四、macOS 系统安装 PostgreSQLmacOS 开发者常用 Homebrew 或 Postgres.app。4.1 使用 Homebrew推荐优势命令行友好、易于更新、与开发工具链集成。步骤 1安装 Homebrew若未安装/bin/bash -c$(curl-fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)步骤 2安装 PostgreSQL# 安装最新版brewinstallpostgresql16# 启动服务后台常驻brew services start postgresql16 提示Apple SiliconM1/M2芯片路径为/opt/homebrewIntel 为/usr/local。步骤 3验证# 默认无需密码peer 认证psql postgres# 或创建数据库createdb mydb psql mydb步骤 4常用命令brew services list# 查看服务状态brew info postgresql16# 查看配置信息psql -l# 列出数据库 数据目录$(brew --prefix)/var/postgresql164.2 使用 Postgres.app图形化首选适合不喜欢命令行的 macOS 用户。访问 https://postgresapp.com/下载并拖拽到 Applications 文件夹首次启动点击 “Initialize” 创建服务器自动配置 PATH终端可直接使用psql菜单栏图标可快速启停、查看日志、打开 psql✨ 优点零配置、一键启停、多版本共存、集成 pgAdmin。五、Docker 容器化安装 PostgreSQL容器化部署适合开发、测试、CI/CD 及微服务架构。5.1 拉取官方镜像dockerpull postgres:165.2 快速启动临时容器dockerrun --name mypg -ePOSTGRES_PASSWORDmypassword -p5432:5432 -d postgres:16-e POSTGRES_PASSWORD设置postgres用户密码必需-p 5432:5432映射端口-d后台运行5.3 持久化数据生产推荐# 创建卷dockervolume create pgdata# 启动容器并挂载卷dockerrun --name mypg\-ePOSTGRES_PASSWORDmypassword\-ePOSTGRES_DBmyapp\-v pgdata:/var/lib/postgresql/data\-p5432:5432\-d postgres:16优势数据不随容器销毁而丢失。5.4 自定义配置可通过挂载配置文件覆盖默认设置# 创建自定义 postgresql.confechoshared_preload_libraries pg_stat_statements./my-postgres.conf# 启动时挂载dockerrun... -v$(pwd)/my-postgres.conf:/etc/postgresql/postgresql.conf...或使用initdb脚本初始化# 准备 init.sqlechoCREATE USER appuser WITH PASSWORD apppass;init.sql# 挂载到 docker-entrypoint-initdb.ddockerrun... -v$(pwd)/init.sql:/docker-entrypoint-initdb.d/init.sql...官方镜像会在首次启动时执行/docker-entrypoint-initdb.d/下的.sql或.sh脚本。5.5 连接容器内数据库# 进入容器执行 psqldockerexec-it mypg psql -U postgres# 或从宿主机连接psql -h localhost -U postgres -d postgres六、安装后关键配置与安全加固无论何种方式安装以下配置至关重要。6.1 修改监听地址允许远程访问编辑postgresql.conflisten_addresses * # 或指定 IP如 localhost,192.168.1.100 port 5432仅在必要时开启配合防火墙使用。6.2 配置客户端认证pg_hba.conf典型配置位于数据目录下# TYPE DATABASE USER ADDRESS METHOD local all postgres peer host all all 127.0.0.1/32 md5 host all all ::1/128 md5 host mydb appuser 192.168.1.0/24 md5md5密码加密认证trust无密码仅限本地测试修改后需重载配置SELECT pg_reload_conf();或systemctl reload postgresql6.3 创建应用用户与数据库-- 登录 psqlsudo-u postgres psql-- 创建用户CREATEUSERmyappWITHPASSWORDstrongpassword;-- 创建数据库并授权CREATEDATABASEmyapp OWNER myapp;-- 退出\q6.4 设置环境变量可选为方便命令行使用可将psql加入 PATHLinux/macOS:export PATH/usr/pgsql-16/bin:$PATH加入~/.bashrcWindows: 系统环境变量 → Path → 添加C:\Program Files\PostgreSQL\16\bin七、常见问题排查7.1 “psql: command not found”原因PATH 未包含 PostgreSQL bin 目录。解决按上述“环境变量”设置。7.2 “FATAL: password authentication failed”检查pg_hba.conf是否为md5确认密码正确重启或重载服务使配置生效。7.3 端口被占用查找占用进程sudo lsof -i :5432Linux/macOS或netstat -ano | findstr :5432Windows终止进程或修改 PostgreSQL 端口。7.4 中文乱码确保数据库创建时指定LC_COLLATEzh_CN.UTF-8Linux客户端终端编码为 UTF-8在postgresql.conf中设置client_encoding UTF8。最后总结平台推荐方式适用场景Ubuntu官方 APT 仓库生产服务器、云主机CentOS官方 YUM 仓库企业级 Linux 服务器WindowsEDB 图形安装程序桌面开发、学习macOSHomebrew 或 Postgres.app本地开发、快速原型任意平台Docker 容器微服务、CI/CD、隔离测试核心原则生产环境优先使用系统包管理器APT/YUM便于维护和监控开发环境Docker 或 Postgres.app 提供最大灵活性安全第一始终设置强密码、限制远程访问、定期更新。PostgreSQL 的安装只是第一步后续还需关注备份策略pg_dump/pg_basebackup、性能调优shared_buffers,work_mem、高可用流复制、Patroni等进阶主题。提醒安装完成后立即运行\conninfo和SELECT version();验证环境并尝试创建第一个数据库。