Ubuntu 24.04 安装 PostgreSQL

Ubuntu 24.04 安装 PostgreSQL

Ubuntu 24.04 安装 PostgreSQL

以下是 Ubuntu 24.04 安装 PostgreSQL 的详细步骤,包含官方源安装(推荐,稳定)、基础配置、验证测试及常见问题处理,适合新手快速上手:

一、优先选择:Ubuntu 官方仓库安装(稳定版)

Ubuntu 24.04 官方仓库已内置 PostgreSQL(通常是 16 或 17 版本,足够满足大多数场景),安装步骤最简单,无需额外添加第三方源。

1. 系统更新(避免依赖冲突)

首先更新系统包索引,确保安装最新依赖:

sudoapt update &&sudoapt upgrade -y 
2. 安装 PostgreSQL 及客户端

安装核心服务(postgresql)和命令行客户端(postgresql-client):

sudoaptinstall postgresql postgresql-client -y 
  • 安装完成后,PostgreSQL 会自动:
    • 启动服务
    • 设置开机自启
    • 创建默认系统用户 postgres(数据库超级管理员)
    • 创建默认数据库 postgres

二、验证安装 & 基础操作

1. 检查服务状态

确认 PostgreSQL 服务已正常运行:

sudo systemctl status postgresql 
  • 正常输出会显示 active (exited)active (running)(不同版本状态可能略有差异)。
  • 若未启动,手动启动:sudo systemctl start postgresql
  • 设置开机自启(默认已启用,可再次确认):sudo systemctl enable postgresql
2. 登录 PostgreSQL 数据库

PostgreSQL 默认采用 peer 认证(本地系统用户与数据库用户同名即可登录),无需密码。

方法 1:切换到 postgres 系统用户登录
# 切换到 postgres 系统用户(无密码,直接切换)sudo -u postgres -i # 登录 PostgreSQL 数据库(此时已切换到 postgres 用户,直接输入 psql) psql 
方法 2:直接登录(无需切换用户)
sudo -u postgres psql 

登录成功后,终端提示符会变为 postgres=#(表示当前在 postgres 数据库中,且为超级管理员权限)。

三、基础配置(必做)

默认配置下,postgres 用户无密码,且仅允许本地登录。建议做以下配置:

1. 为 postgres 超级用户设置密码

postgres=# 命令行中执行:

ALTERUSER postgres WITH PASSWORD '你的强密码';-- 替换为实际密码(建议包含大小写、数字、符号)

执行成功后,输出 ALTER ROLE

2. 退出数据库
\q -- 退出 psql 命令行exit-- 退出 postgres 系统用户(若之前切换了用户)
3. (可选)允许远程访问

若需要从其他电脑连接该 PostgreSQL 服务,需修改 2 个配置文件:

步骤 1:修改监听地址(postgresql.conf
  1. 保存退出:按 Ctrl+O → 回车 → Ctrl+X

找到 listen_addresses 配置项,默认是 localhost(仅本地监听),改为 *(监听所有网卡):

listen_addresses = '*' -- 去掉前面的 # 注释,值改为 * 

找到配置文件路径(Ubuntu 24.04 默认路径):

sudonano /etc/postgresql/16/main/postgresql.conf -- 16 是版本号,若安装的是 17 则改为 17
步骤 2:修改访问控制(pg_hba.conf
    • 说明:scram-sha-256 是 PostgreSQL 14+ 推荐的加密认证方式,兼容密码登录。
  1. 保存退出(Ctrl+O → 回车 → Ctrl+X)。

在文件末尾添加一行(允许所有 IP 以密码方式访问,生产环境建议限制具体 IP):

# IPv4 访问 host all all 0.0.0.0/0 scram-sha-256 # IPv6 访问(可选) host all all ::/0 scram-sha-256 

编辑访问控制文件:

sudonano /etc/postgresql/16/main/pg_hba.conf 
步骤 3:重启 PostgreSQL 服务生效
sudo systemctl restart postgresql 
步骤 4:开放防火墙端口(若启用了 UFW)

PostgreSQL 默认端口是 5432,需允许外部访问:

sudo ufw allow 5432/tcp -- 允许 TCP 5432 端口 sudo ufw reload -- 重载防火墙规则 

四、常用操作示例

1. 创建新数据库和用户
# 1. 登录 postgres 超级用户sudo -u postgres psql # 2. 创建新用户(例如:user1,带密码) CREATE USER user1 WITH PASSWORD 'user1的密码';# 3. 创建新数据库(例如:db1),并指定所有者为 user1 CREATE DATABASE db1 OWNER user1;# 4. 授予 user1 对 db1 的所有权限(可选) GRANT ALL PRIVILEGES ON DATABASE db1 TO user1;# 5. 退出\q 
2. 用新用户登录数据库
# 本地登录(需先创建同名系统用户,或修改认证方式为密码) psql -U user1 -d db1 -h localhost # 远程登录(需配置远程访问后) psql -U user1 -d db1 -h 服务器IP地址 -p 5432
3. 查看数据库列表
\l -- 在 psql 命令行中执行,列出所有数据库
4. 切换数据库
\c db1 -- 切换到 db1 数据库

五、卸载 PostgreSQL(可选)

若需卸载,执行以下命令(彻底删除服务和数据):

# 停止服务sudo systemctl stop postgresql # 卸载软件包sudoapt purge postgresql postgresql-client -y # 删除残留配置和数据(谨慎!会删除所有数据库)sudorm -rf /etc/postgresql/ sudorm -rf /var/lib/postgresql/ sudouserdel -r postgres # 删除 postgres 系统用户

六、常见问题排查

  1. 远程连接失败:could not connect to server: Connection refused
    检查 3 点:
    • 服务是否监听所有地址(listen_addresses = '*'
    • pg_hba.conf 是否允许远程 IP 访问
    • 服务器防火墙是否开放 5432 端口(sudo ufw status 查看)
  2. 忘记 postgres 密码
    重置步骤:
    1. 停止服务:sudo systemctl stop postgresql
    2. 无密码启动:sudo -u postgres postgres --single -D /var/lib/postgresql/16/main/
    3. 在启动后的命令行中执行:ALTER USER postgres WITH PASSWORD '新密码';
    4. Ctrl+D 退出,重启服务:sudo systemctl start postgresql

登录报错:Peer authentication failed for user "postgres"
原因:本地认证方式为 peer(需系统用户与数据库用户同名),解决方案:
编辑 pg_hba.conf,将 local all all peer 改为 local all all md5(密码认证),然后重启服务:

sudonano /etc/postgresql/16/main/pg_hba.conf # 修改后重启sudo systemctl restart postgresql 

通过以上步骤,即可在 Ubuntu 24.04 上完成 PostgreSQL 的安装、配置和基础使用。

如果需要安装最新版本(如 PostgreSQL 17/18),可参考 PostgreSQL 官方文档 添加官方源后安装。

Read more

Java 大视界 -- Java 大数据在智能医疗影像数据压缩与传输优化中的技术应用

Java 大视界 -- Java 大数据在智能医疗影像数据压缩与传输优化中的技术应用

Java 大视界 -- Java 大数据在智能医疗影像数据压缩与传输优化中的技术应用 * 引言: * 正文: * 一、智能医疗影像数据的「三重困境」 * 1.1 数据洪流:存储成本的指数级增长 * 1.2 实时枷锁:远程医疗的传输瓶颈 * 1.3 质量红线:压缩与保真的矛盾 * 二、Java 大数据:医疗影像压缩的「智能引擎」 * 2.1 算法精研:从传统到智能的跨越 * 2.2 动态优化:基于 AI 的智能压缩策略 * 三、Java 大数据:医疗影像传输的「加速引擎」 * 3.1 分布式架构:突破传输带宽限制 * 3.2 边缘计算:构建「

By Ne0inhk

jdk 17 下载

可从 Oracle 官方 JDK 17 下载页 直接获取适用于 Windows、macOS、Linux 的 JDK 17 安装包Oracle,链接:https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.htmlOracle 下载方式(按系统选择) 系统推荐下载链接备注WindowsWindows x64 安装包Oracle双击运行安装,适合大多数用户macOS IntelmacOS x64 DMGOracle直接安装macOS Apple SiliconmacOS arm64 DMGOracleM1/M2 芯片适用Linux x64Linux x64 压缩包Oracle解压后配置环境变量Linux ARM64Linux arm64 压缩包Oracle树莓派等设备适用 安装与验证 1. 下载 对应系统安装包。 2.

By Ne0inhk

2025 最新 Claude Code 教程:从安装部署到 SpringBoot 项目实战(附完整 Java 示例)

前言 Claude Code 是 Anthropic 推出的 AI 编码助手,专为开发者打造,相比通用 AI,它对 Java、SpringBoot 等企业级开发场景的适配性更强,能精准生成可运行的代码、排查业务逻辑 bug、优化接口性能,大幅提升开发效率。本文从安装部署、提示词技巧、SpringBoot 项目实战三个核心维度,手把手教你玩转 Claude Code,最终实现 “AI 辅助完成完整 SpringBoot 项目开发并落地本地”。 一、Claude Code 安装部署(3 种主流方式) Claude Code 支持网页版、桌面客户端、IDE 插件三种使用形式,开发者优先推荐 IDE 插件(无缝融入本地开发流程)。 1. 环境前置要求

By Ne0inhk
JAVA 泛型与通配符:从原理到实战应用

JAVA 泛型与通配符:从原理到实战应用

JAVA 泛型与通配符:从原理到实战应用 1.1 本章学习目标与重点 💡 掌握泛型的核心概念与设计初衷,理解泛型的编译期检查机制。 💡 熟练使用泛型类、泛型接口和泛型方法,解决数据类型安全问题。 💡 理解通配符(?)、上界通配符(? extends T)和下界通配符(? super T)的使用场景。 ⚠️ 本章重点是 泛型的擦除机制 和 通配符的灵活运用,这是提升代码通用性和安全性的关键。 1.2 泛型的核心概念与设计初衷 1.2.1 为什么需要泛型 在没有泛型的 JDK 5 之前,集合类只能存储 Object 类型的对象。获取元素时需要强制类型转换,这会带来两个严重问题: 1. 类型不安全:可以向集合中添加任意类型的对象,运行时可能抛出 ClassCastException。 2. 代码臃肿:频繁的强制类型转换会让代码可读性和维护性变差。 💡 泛型的出现就是为了解决这些问题,它的核心思想是

By Ne0inhk