Ubuntu安装pgsql

​一、通过 APT 安装(推荐)​

  1. 更新软件包列表

    复制代码
    sudo apt update
  2. 安装 PostgreSQL 核心包及工具

    复制代码
    sudo apt install postgresql postgresql-client postgresql-contrib

    postgresql:数据库服务端

    postgresql-client:命令行工具

    postgresql-contrib:附加功能模块

  3. 验证安装

    复制代码
    psql --version  # 显示版本号(如 PostgreSQL 16.4)
    systemctl status postgresql  # 检查服务状态应为 active (running)

​二、基础配置​

  1. 启动与自启服务

    复制代码
    sudo systemctl start postgresql  # 启动
    sudo systemctl enable postgresql  # 设置开机自启
  2. 切换默认管理员账户

    PostgreSQL 安装后会自动创建 postgres 系统用户和同名数据库角色:

    复制代码
    sudo -i -u postgres  # 切换到 postgres 用户
    psql  # 进入交互终端(显示 postgres=# 提示符)
  3. 创建新用户与数据库

    复制代码
    CREATE USER youruser WITH PASSWORD 'yourpassword';  -- 创建用户
    CREATE DATABASE yourdb WITH OWNER youruser;         -- 创建数据库并指定所有者
    \q  -- 退出 psql
    exit  -- 退出 postgres 用户

二、修改默认密码:

​默认密码​ ​:​​Linux 环境​ ​初始安装时默认密码为 ​​空​​(即无需密码直接登录)

​三、首次登录与密码修改​

  1. ​登录方式​

    复制代码
    # Linux 或命令行登录
    sudo -u postgres psql  # 无需密码直接进入交互终端
  2. ​修改密码命令​

    复制代码
    ALTER USER postgres WITH PASSWORD 'your_new_password';  -- 设置新密码

实际操作案例:


​四、远程访问配置(可选)​

  1. 修改监听地址

    编辑配置文件:

    复制代码
    sudo nano /etc/postgresql/[版本号]/main/postgresql.conf

    找到 listen_addresses 并修改为:

    复制代码
    listen_addresses = '*'  # 允许所有 IP 访问
  2. 调整客户端认证规则

    修改 pg_hba.conf

    复制代码
    sudo nano /etc/postgresql/[版本号]/main/pg_hba.conf

    添加规则(允许所有 IP 通过密码访问):

    复制代码
    host all all 0.0.0.0/0 md5
  3. 重启服务生效

    复制代码
    sudo systemctl restart postgresql
  4. 防火墙放行端口

    复制代码
    sudo ufw allow 5432/tcp  # PostgreSQL 默认端口
    sudo ufw reload

五**、常用操作命令​**​

功能 命令
启动/停止服务 sudo systemctl start/stop postgresql
连接数据库 psql -U 用户名 -d 数据库名 -h 主机IP
查看所有用户 \du
切换数据库 \c 数据库名
查看所有表 \dt
执行 SQL 文件 \i /路径/文件.sql

​六、完全卸载 PostgreSQL​

  1. 停止服务并删除包

    复制代码
    sudo systemctl stop postgresql
    sudo apt purge postgresql\*  # 删除所有相关包
  2. 清理残留文件

    复制代码
    sudo rm -rf /etc/postgresql/  # 配置目录
    sudo rm -rf /var/lib/postgresql/  # 数据目录
  3. 删除系统用户

    复制代码
    sudo deluser postgres  # 移除默认管理员用户

​七、注意事项​

  1. 安全建议

    • 生产环境务必设置强密码并限制远程 IP 访问范围

    • 定期备份数据(使用 pg_dump 工具)

  2. 版本选择

    • 通过官方源安装最新版(推荐):sudo apt install postgresql-16

    • Ubuntu 18.04 等旧系统可源码编译安装(需手动配置环境变量)

  3. 连接问题排查

    • 若出现 psql: FATAL: Peer authentication failed,需在 pg_hba.conf 中将 peer 改为 md5

相关推荐
christine-rr14 分钟前
【25软考网工】第五章(8)路由协议RIP、OSPF
运维·网络·网络工程师·软考·考试
漫谈网络39 分钟前
SSHv2 密钥交换(Key Exchange)详解
运维·ssh·自动化运维·devops·paramiko·sshv2
努力努力再努力wz1 小时前
【c++深入系列】:万字详解vector(附模拟实现的vector源码)
运维·开发语言·c++·c
江畔柳前堤1 小时前
信息论12:从信息增益到信息增益比——决策树中的惩罚机制与应用
运维·深度学习·算法·决策树·机器学习·计算机视觉·docker
Chat_zhanggong3452 小时前
AI训练服务器概述
运维·服务器·人工智能
独行soc3 小时前
2025年渗透测试面试题总结-网络安全、Web安全、渗透测试笔试总结(一)(附回答)(题目+回答)
linux·运维·服务器·安全·web安全·面试·职场和发展
前进的程序员3 小时前
Linux 驱动开发步骤及 SPI 设备驱动移植示例
linux·运维·驱动开发
m0_549314863 小时前
FPGA 不兼容故障及处理
运维·网络·fpga开发·硬件工程·cisco·硬件驱动
文牧之4 小时前
PostgreSQL 判断索引是否重建过的方法
运维·数据库·postgresql
cocogogogo4 小时前
配置Jupyter Notebook环境及Token认证(Linux服务器)
linux·服务器·jupyter