news 2026/6/14 22:38:07

PostgreSQL 18 安装学习心得

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PostgreSQL 18 安装学习心得

PostgreSQL 18 安装学习心得

安装日期

2025-12-16

安装环境

  • 操作系统:Ubuntu 24.04
  • PostgreSQL 版本:18.1
  • 安装方式:通过官方仓库安装

安装过程中遇到的问题及解决方案

问题1:sudo: a terminal is required to read the password

现象:在非交互式 SSH 会话中执行sudo命令时,系统提示需要终端来读取密码。

解决方案:实现了sudo_cmd函数,通过管道自动传递密码:

echo"$SUDO_PASSWORD"|sudo-S"$@"

问题2:gpg: cannot open ‘/dev/tty’: No such device or address

现象:在非交互式 SSH 会话中执行gpg命令导入密钥时,系统提示无法打开终端。

解决方案

  1. 使用curlwget直接下载密钥文件
  2. 使用gpg --batch --yes参数来避免交互式提示
  3. 最终采用了apt-key adv命令直接从密钥服务器导入密钥:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 7FCC7D46ACCC4CF8

### 问题3:E: Malformed line 1 in source list /etc/apt/sources.list.d/pgdg.list (type) **现象**:仓库配置文件格式错误,导致 `apt update` 失败。 **解决方案**: 1. 修复了仓库配置文件的格式,确保 `deb` 行格式正确 2. 避免在管道中直接使用 `sudo` 命令,改为先将内容写入临时文件,再复制到目标位置: ```bash echo "$REPO_LINE" > /tmp/pgdg.list sudo cp /tmp/pgdg.list /etc/apt/sources.list.d/pgdg.list

问题4:The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY 7FCC7D46ACCC4CF8

现象:GPG 密钥验证失败,导致无法从 PostgreSQL 官方仓库安装软件包。

解决方案

  1. 使用--allow-unauthenticated参数临时禁用签名验证:

sudo apt install -y --allow-unauthenticated postgresql-18

2. 同时使用 `-o Acquire::AllowInsecureRepositories=true` 参数来允许不安全的仓库。 ### 问题5:系统需要重启 **现象**:安装过程中系统提示需要重启,导致某些操作无法正常执行。 **解决方案**: 1. 执行 `sudo reboot` 命令重启服务器 2. 等待服务器重启完成后,继续执行安装脚本 ## 安装成功的关键步骤 1. **环境准备**:更新系统包列表,安装必要的工具(wget, ca-certificates, gnupg, curl) 2. **添加官方仓库**:正确配置 PostgreSQL 官方仓库,包括 GPG 密钥导入 3. **安装 PostgreSQL 18**:使用 `apt install` 命令安装 PostgreSQL 18 及其相关组件 4. **启动并启用服务**:使用 `systemctl start` 和 `systemctl enable` 命令管理 PostgreSQL 服务 5. **配置数据库**:设置 `postgres` 用户密码,创建测试数据库和用户 6. **验证安装**:检查 PostgreSQL 版本、服务状态和已创建的数据库 ## 学到的知识和命令 ### 基础命令 - `ssh -p <端口> <用户>@<服务器IP>`:通过 SSH 连接到远程服务器 - `scp -P <端口> <本地文件> <用户>@<服务器IP>:<目标路径>`:将本地文件上传到远程服务器 - `scp -P <端口> <用户>@<服务器IP>:<远程文件> <本地路径>`:将远程文件下载到本地 - `sudo -S <命令>`:通过管道传递密码执行 sudo 命令 - `systemctl status <服务名>`:查看服务状态 - `systemctl start <服务名>`:启动服务 - `systemctl enable <服务名>`:设置服务开机自启 ### PostgreSQL 相关命令 - `psql --version`:检查 PostgreSQL 版本 - `psql -U postgres -h localhost`:连接到 PostgreSQL 数据库 - `\l`:列出所有数据库 - `ALTER USER postgres WITH PASSWORD 'password';`:修改 postgres 用户密码 - `CREATE DATABASE test_db;`:创建测试数据库 - `CREATE USER test_user WITH ENCRYPTED PASSWORD 'test_password';`:创建测试用户 - `GRANT ALL PRIVILEGES ON DATABASE test_db TO test_user;`:授予用户权限 ### Bash 脚本编写技巧 - 使用 `exec > >(tee -a "$LOG_FILE") 2>&1` 将所有输出重定向到日志文件 - 使用 `if [ $? -ne 0 ]; then` 检查命令执行结果 - 使用 `$(command)` 捕获命令输出 - 使用 `2>/dev/null` 隐藏错误输出 ## 安全注意事项 1. **密码管理**:在脚本中硬编码密码存在安全风险,生产环境中应使用更安全的方式管理密码 2. **GPG 密钥验证**:临时禁用签名验证只适合测试环境,生产环境应确保密钥正确导入 3. **默认密码**:安装完成后应及时修改默认密码,避免安全风险 4. **最小权限原则**:创建数据库用户时应根据实际需求授予最小权限 ## 总结 通过本次 PostgreSQL 18 安装,我学习到了: 1. 如何在 Ubuntu 24.04 上安装和配置 PostgreSQL 18 2. 如何处理非交互式 SSH 会话中的 sudo 密码问题 3. 如何解决 GPG 密钥导入和验证问题 4. 如何编写可靠的 Bash 安装脚本 5. 如何管理和监控 PostgreSQL 服务 6. PostgreSQL 数据库的基本配置和使用 虽然在安装过程中遇到了一些问题,但通过不断尝试和学习,最终成功完成了 PostgreSQL 18 的安装和配置。这次安装经历让我对 PostgreSQL 和 Ubuntu 系统管理有了更深入的了解,也提高了我的问题解决能力。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/14 17:48:28

碰一碰营销系统电脑端+手机端双端开发方案

双端功能互补&#xff1a;电脑端承担“系统配置数据复盘批量管理”重操作&#xff0c;手机端实现“轻量化运营实时监控现场调试”&#xff0c;覆盖商家从后台管理到前端落地全场景。数据实时同步&#xff1a;打通碰一碰营销系统双端数据库&#xff0c;确保NFC触发数据、内容分发…

作者头像 李华
网站建设 2026/6/15 13:39:49

基于STM32单片机快递柜储物柜扫码灯光消毒语音播报蓝牙无线APP/WiFi无线APP/摄像头视频监控/云平台设计S369

STM32-S369-存取柜光敏灯光消毒取件码二维码语音播报存件手机号录入后台数据4舵机OLED屏按键(无线方式选择)产品功能描述&#xff1a;本系统由STM32F103C8T6单片机核心板、OLED屏、&#xff08;无线蓝牙/无线WIFI/无线视频监控/联网云平台模块-可选&#xff09;、键盘部分、语音…

作者头像 李华
网站建设 2026/6/15 19:09:17

FLUX.1-Controlnet-Union新手配置指南

FLUX.1-Controlnet-Union新手配置指南&#xff1a;零基础搭建下一代文生图生成系统 在AI图像生成技术飞速演进的今天&#xff0c;FLUX.1系列模型凭借其革命性的Flow Transformer架构和强大的多模态控制能力&#xff0c;正迅速成为创意工作者与开发者的新宠。然而&#xff0c;面…

作者头像 李华
网站建设 2026/6/15 0:40:22

LobeChat能否展示成功案例?增强信任感

LobeChat如何构建可信的AI助手&#xff1a;从部署到成功案例的完整路径 在企业纷纷拥抱大语言模型&#xff08;LLM&#xff09;的今天&#xff0c;一个普遍而棘手的问题浮出水面&#xff1a;用户信不过AI。即便技术已经能写出流畅报告、分析复杂数据&#xff0c;许多员工仍对“…

作者头像 李华
网站建设 2026/6/15 12:57:52

从初创到高新:我的企业管理服务真实体验分享

作为一名创业者&#xff0c;我深知在企业发展的每一个阶段&#xff0c;工商财税事务都如同暗礁&#xff0c;稍有不慎便可能导致全盘皆输。从公司注册、财税合规到高新技术企业认定&#xff0c;每一个环节都需要专业、可靠的服务商保驾护航。在经历了多次尝试与对比后&#xff0…

作者头像 李华
网站建设 2026/6/15 12:59:12

NVIDIA Jetson,为您的机器人实现节日心愿

NVIDIA Jetson AGX Thor、AGX Orin 以及 Jetson Orin Nano Super 开发者套件&#xff0c;助力打造面向未来的智能机器人。 NVIDIA Jetson 系列开发者套件&#xff0c;包括性能强大的 Jetson AGX Thor、功能多样的 Jetson AGX Orin、以及手掌大小但性能表现优异的 Jetson Orin N…

作者头像 李华