如何在CentOS系统上安装PostgreSQL数据库?
- 虚拟主机
- 2025-12-20
- 4
PostgreSQL(简称pgsql)是一款功能强大的开源对象关系型数据库系统,以其稳定性、可扩展性和对复杂查询的良好支持而闻名,本文将详细介绍在Linux(以Ubuntu为例)和Windows系统上安装PostgreSQL的步骤,包括配置用户权限、数据库创建及常用管理工具的使用,帮助用户快速完成环境搭建。
Linux系统安装(以Ubuntu 20.04为例)
添加PostgreSQL官方仓库
Ubuntu默认的软件仓库可能包含旧版本的PostgreSQL,建议从官方源安装最新版本,导入PostgreSQL的官方签名密钥:
wget quiet O https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo aptkey add
添加PostgreSQL的APT仓库源,以PostgreSQL 14为例,编辑/etc/apt/sources.list文件,添加以下内容:
deb http://apt.postgresql.org/pub/repos/apt/ focalpgdg main
其中focal为Ubuntu 20.04的代号,其他版本可替换为对应的代号(如bionic、jammy等)。
安装PostgreSQL服务器及客户端
更新软件包列表后,执行以下命令安装PostgreSQL核心组件:
sudo apt update sudo apt install postgresql postgresqlcontrib
安装完成后,PostgreSQL服务将自动启动,可通过以下命令检查状态:
sudo systemctl status postgresql
配置用户与数据库
PostgreSQL安装后会自动创建名为postgres的系统用户和同名的超级用户角色,首次连接需切换至postgres用户:

进入psql命令行后,可创建新用户和数据库,创建用户testuser并设置密码,再创建数据库testdb:
CREATE USER testuser WITH PASSWORD 'your_password'; CREATE DATABASE testdb OWNER testuser; GRANT ALL PRIVILEGES ON DATABASE testdb TO testuser; q
允许远程连接(可选)
默认情况下,PostgreSQL仅监听本地连接,若需远程访问,需修改配置文件/etc/postgresql/14/main/postgresql.conf(版本号可能不同),将listen_addresses修改为:
listen_addresses = '*'
编辑pg_hba.conf文件,添加远程访问规则(如信任特定IP或所有IP):
host all all 0.0.0.0/0 md5
修改后重启PostgreSQL服务:
sudo systemctl restart postgresql
常用管理工具
- pgAdmin:图形化管理工具,可通过sudo apt install pgadmin4安装。
- psql:命令行客户端,支持SQL执行及数据库管理。
Windows系统安装
下载安装包
访问PostgreSQL官网(https://www.postgresql.org/download/windows/),下载最新版本的Windows安装程序(如PostgreSQL 15.x x8664)。

运行安装向导
双击安装文件,进入欢迎界面后点击“Next”,选择安装目录(默认为C:Program FilesPostgreSQL<版本号>),继续点击“Next”。
设置密码与端口
在“Password”页面设置postgres用户的超级用户密码;在“Port”页面保持默认端口5432,或修改为其他未被占用的端口,点击“Next”继续。
数据库区域设置
选择数据库默认的排序规则(如SQL_ASCII或UTF8),建议选择UTF8以支持多语言,点击“Next”。
数据库初始化
选择“Initialize a database cluster now”(初始化数据库集群),并指定数据存储目录(默认与安装目录一致),点击“Next”后开始安装。
完成安装
安装完成后,勾选“Stack Builder”(可选,用于安装扩展工具如PostGIS),点击“Finish”结束安装,安装程序会自动将PostgreSQL服务添加到系统服务中,并设置为开机自启。
验证安装
打开命令提示符(CMD),执行以下命令连接数据库:
psql U postgres d postgres
输入密码后若成功进入psql命令行,则表示安装成功。
PostgreSQL基础配置
配置文件说明
- postgresql.conf:核心配置文件,位于/etc/postgresql/<版本号>/main/(Linux)或安装目录下的data/(Windows),包含内存、连接数、日志等参数。
- pg_hba.conf:身份验证配置文件,控制客户端连接的认证方式(如md5、scramsha256等)。
修改配置后生效
Linux系统需执行sudo systemctl restart postgresql;Windows系统可通过“服务”管理器重启postgresqlx64xx服务。
用户与权限管理
常用SQL命令:
创建用户 CREATE USER username WITH PASSWORD 'password'; 创建数据库并指定所有者 CREATE DATABASE dbname OWNER username; 授予权限 GRANT ALL PRIVILEGES ON DATABASE dbname TO username;
相关问答FAQs
Q1: 安装PostgreSQL时提示“服务启动失败”怎么办?
A1: 可能原因包括:
- 端口5432被占用:使用netstat an | grep 5432(Linux)或netstat ano | findstr 5432(Windows)检查,修改postgresql.conf中的port参数。
- 数据目录权限问题:Linux下确保postgres用户对数据目录有读写权限,可通过sudo chown R postgres:postgres /var/lib/postgresql/<版本号>/main修复。
- 密码复杂度不足:Windows安装时若密码过于简单,可能被系统拒绝,建议使用包含大小写字母、数字及特殊字符的密码。
Q2: 如何在PostgreSQL中启用SSL加密连接?
A2: 步骤如下:
- 生成SSL证书和密钥(Linux下在/etc/ssl/certs/和/etc/ssl/private/目录操作): sudo openssl req x509 newkey rsa:4096 nodes keyout /etc/ssl/private/postgresql.key out /etc/ssl/certs/postgresql.crt days 365
- 修改postgresql.conf,启用SSL: ssl = on ssl_cert_file = 'server.crt' ssl_key_file = 'server.key'
- 重启PostgreSQL服务后,客户端连接时需添加sslmode=require参数(如psql ... sslmode=require)。
