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

相关推荐
不老刘22 分钟前
异构双 Agent 协同:构建无人值守的长任务自动化研发流水线
运维·人工智能·自动化·ai编程·1024程序员节
可乐_不渴38 分钟前
【Linux】 项目自动化构建工具makefile&& 版本管理Git&&第一个程序
linux·git·自动化·1024程序员节
织码weavecodes1 小时前
医疗、零售、物业培训怎么落地?织码在线教育系统的三类行业案例
运维·服务器·零售
智能运维指南1 小时前
企业运维监控平台哪家好?2026年五大全栈可观测方案对比与选型推荐
大数据·运维·人工智能
乔旭伟1 小时前
部署形态选型笔记:多租户 SaaS 与单机本地部署的运维模型对比
运维·服务器·1024程序员节
西安同步电子1 小时前
时统卡驱动踩坑:Windows 和 Linux 下时间同步的底层差异
linux·stm32·单片机
虚无的纽扣1 小时前
【Linux】线程互斥:多线程改同一个变量,到底会出什么问题
linux·服务器·1024程序员节
qetfw2 小时前
Bash 函数与流程控制:read、if、for、case 验证
linux·前端·javascript·bash
m0_547486662 小时前
《Linux操作系统基本原理与应用》全套PPT课件2026
linux·linux系统
姜鱼问生2 小时前
大屏突然 502?一次 Nginx Buffer 溢出引发的血案:upstream sent too big header
运维