PostgreSQL 入门指南:安装、配置与基本命令

本文涉及的产品
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
简介: 本文从零开始,详细介绍如何在 Windows、Linux 和 macOS 上安装和配置 PostgreSQL,涵盖30+个实操代码示例。内容包括安装步骤、配置远程访问和用户权限、基础数据库操作命令(如创建表、插入和查询数据),以及常见问题的解决方案。通过学习,你将掌握 PostgreSQL 的基本使用方法,并为后续深入学习打下坚实基础。

PostgreSQL 是一款强大的开源关系型数据库,以其高扩展性、SQL 标准兼容性和丰富的功能著称。本文将从零开始,手把手教你完成 PostgreSQL 的安装、配置,并掌握最基础的数据库操作命令。全文包含 30+个实操代码示例,覆盖 Windows、Linux、macOS 三大平台。


一、安装 PostgreSQL

1.1 Windows 系统安装

步骤 1:下载安装包

访问 PostgreSQL 官网,选择对应版本的安装包(如 PostgreSQL 15.4)。
下载完成后,双击 .exe 文件启动安装向导。

步骤 2:配置安装选项

  • 选择组件:默认勾选 PostgreSQL Server、pgAdmin(图形化管理工具)、Stack Builder(扩展管理工具)。
  • 设置安装路径:建议保持默认路径 C:\Program Files\PostgreSQL\15
  • 设置超级用户密码:为默认的 postgres 用户设置强密码(如 MySecureP@ssw0rd)。
  • 设置端口号:默认端口为 5432,若无冲突建议保持默认。

步骤 3:完成安装

安装完成后,勾选 “Launch Stack Builder” 安装常用扩展(如 PostGIS),但非必需。

验证安装
打开命令提示符,输入以下命令检查版本:

psql --version

若输出类似 psql (PostgreSQL) 15.4,则安装成功。


1.2 Linux 系统安装(以 Ubuntu 为例)

步骤 1:添加仓库并更新

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update

步骤 2:安装 PostgreSQL

sudo apt install postgresql-15

步骤 3:验证服务状态

sudo systemctl status postgresql

若显示 active (running),则服务已启动。


1.3 macOS 系统安装

步骤 1:使用 Homebrew 安装

brew install postgresql@15

步骤 2:启动服务

brew services start postgresql@15

步骤 3:验证安装

psql -V

二、配置 PostgreSQL

2.1 修改配置文件

文件位置

  • 主配置文件:postgresql.conf(路径示例:/etc/postgresql/15/main/postgresql.conf
  • 客户端认证文件:pg_hba.conf

关键配置项

  1. 允许远程访问
    修改 postgresql.conf

    listen_addresses = '*'  # 允许所有IP连接
    port = 5432            # 默认端口
    
  2. 设置最大连接数

    max_connections = 100   # 根据硬件调整
    
  3. 修改认证方式pg_hba.conf):

    # 允许所有IP通过密码访问
    host    all             all             0.0.0.0/0               scram-sha-256
    

重启服务生效

sudo systemctl restart postgresql  # Linux
pg_ctl restart -D /usr/local/var/postgres  # macOS

2.2 创建新用户与数据库

步骤 1:登录默认账户

sudo -u postgres psql  # Linux/macOS
psql -U postgres       # Windows

步骤 2:创建新用户

CREATE USER myuser WITH PASSWORD 'user123';

步骤 3:创建数据库并授权

CREATE DATABASE mydb OWNER myuser;
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;

三、基础命令操作

3.1 使用 psql 命令行工具

登录数据库

psql -U myuser -d mydb -h 127.0.0.1 -p 5432
  • -U:用户名
  • -d:数据库名
  • -h:主机地址
  • -p:端口号

常用元命令

命令 说明 示例输出片段
\l 列出所有数据库 `mydb \ myuser \ UTF8`
\c dbname 切换数据库 You are now connected to database "mydb"
\dt 列出当前数据库的所有表 `public \ users \ table`
\d+ tablename 查看表结构详情 列名、类型、约束等信息
\q 退出 psql -

3.2 数据库与表操作

创建表

CREATE TABLE employees (
    id SERIAL PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    salary NUMERIC(10,2),
    hire_date DATE DEFAULT CURRENT_DATE
);

插入数据

INSERT INTO employees (name, salary) VALUES 
('Alice', 75000.50),
('Bob', 82000.00);

查询数据

SELECT * FROM employees WHERE salary > 80000;

输出示例

 id | name  | salary   | hire_date
----+-------+----------+------------
  2 | Bob   | 82000.00 | 2023-10-01

3.3 数据备份与恢复

备份数据库

pg_dump -U myuser -d mydb -f mydb_backup.sql

恢复数据库

psql -U myuser -d mydb -f mydb_backup.sql

四、常见问题与解决方案

4.1 连接被拒绝

错误信息
psql: error: connection to server at "localhost" (::1), port 5432 failed: FATAL: password authentication failed for user "myuser"

解决方法

  1. 检查 pg_hba.conf 中是否允许用户连接。
  2. 确认密码是否正确:
    ALTER USER myuser WITH PASSWORD 'new_password';
    

4.2 端口冲突

错误信息
psql: error: could not connect to server: could not connect to server: Connection refused

解决方法

  1. 检查 PostgreSQL 服务是否运行:
    sudo systemctl status postgresql
    
  2. 查看端口占用:
    netstat -tuln | grep 5432
    

4.3 忘记 postgres 用户密码

重置密码

  1. 停止 PostgreSQL 服务。
  2. 以单用户模式启动:
    postgres --single -D /var/lib/postgresql/15/main
    
  3. 执行密码修改:
    ALTER USER postgres WITH PASSWORD 'new_password';
    

五、总结

通过本文,你已完成以下核心任务:

  1. 在 Windows/Linux/macOS 上安装 PostgreSQL。
  2. 配置远程访问和用户权限。
  3. 掌握 psql 命令行工具的基本操作。
  4. 执行 SQL 语句创建表、插入数据及查询。

下一步学习建议

  • 探索 pgAdmin 图形化工具管理数据库。
  • 学习使用 JOIN 操作关联多表数据(见本系列第5篇)。

附:命令速查表

场景 命令示例
创建用户 CREATE USER username WITH PASSWORD 'password';
创建数据库 CREATE DATABASE dbname OWNER username;
授权用户 GRANT ALL PRIVILEGES ON DATABASE dbname TO username;
导出表结构 pg_dump -s -U user -d dbname -t tablename > schema.sql
查看当前连接 SELECT * FROM pg_stat_activity;

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
5月前
|
关系型数据库 Go 网络安全
go语言中PostgreSQL驱动安装
【11月更文挑战第2天】
243 5
|
5月前
|
数据库
|
8月前
|
SQL 存储 关系型数据库
新手如何入门学习PostgreSQL?
新手如何入门学习PostgreSQL?
100 1
|
8月前
|
关系型数据库 MySQL Linux
在Linux中,如何配置数据库服务器(如MySQL或PostgreSQL)?
在Linux中,如何配置数据库服务器(如MySQL或PostgreSQL)?
|
8月前
|
SQL 关系型数据库 数据库
PostgreSQL常用命令,启动连接,pg_dump导入导出
PostgreSQL常用命令,启动连接,pg_dump导入导出
|
8月前
|
Ubuntu 关系型数据库 数据库
在Ubuntu 18.04上安装和使用PostgreSQL的方法
在Ubuntu 18.04上安装和使用PostgreSQL的方法
142 1
|
关系型数据库 分布式数据库 数据库
|
关系型数据库 分布式数据库 PolarDB
《阿里云产品手册2022-2023 版》——PolarDB for PostgreSQL
《阿里云产品手册2022-2023 版》——PolarDB for PostgreSQL
424 0
|
存储 缓存 关系型数据库
|
存储 SQL 并行计算
PolarDB for PostgreSQL 开源必读手册-开源PolarDB for PostgreSQL架构介绍(中)
PolarDB for PostgreSQL 开源必读手册-开源PolarDB for PostgreSQL架构介绍
535 0

热门文章

最新文章

下一篇
oss创建bucket