You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AWS CloudShell中永久安装postgres-client(psql)

解决AWS CloudShell中PostgreSQL-Client(psql)永久安装问题

AWS CloudShell的底层实例为临时资源,每次关闭重启后,系统级目录(如/usr/bin)的内容会被重置,仅$HOME(/home/cloudshell-user)目录下的文件会持久保留。直接通过apt-get安装的psql会随实例重置消失,以下是两种可行的永久安装方案:

方案1:启动时自动安装(简单易维护)

利用CloudShell启动时自动执行~/.bashrc的特性,添加自动检查并安装psql的脚本:

  1. 打开bash配置文件:
    nano ~/.bashrc
    
  2. 在文件末尾添加以下内容:
    # 自动安装psql(若未安装)
    if ! command -v psql &> /dev/null; then
        sudo apt-get update && sudo apt-get install -y postgresql-client
    fi
    
  3. 保存并退出(按Ctrl+O确认保存,Ctrl+X退出编辑器)。
    下次启动CloudShell时,系统会自动检查psql是否存在,若缺失则自动完成安装。

方案2:将psql安装到持久化HOME目录(启动更快)

手动提取psql二进制文件到$HOME/bin目录(该目录默认在系统PATH中,且内容会持久保留):

  1. 创建本地二进制目录(若不存在):
    mkdir -p ~/bin
    
  2. 下载并提取psql的deb包内容:
    # 下载对应版本的deb包(以PostgreSQL 14为例,可根据需求调整版本)
    sudo apt-get download postgresql-client-common postgresql-client-14
    # 创建临时目录用于提取文件
    mkdir -p ~/temp_psql
    # 提取deb包内容
    dpkg-deb -x postgresql-client-common_*.deb ~/temp_psql
    dpkg-deb -x postgresql-client-14_*.deb ~/temp_psql
    # 将psql二进制文件复制到~/bin
    cp ~/temp_psql/usr/bin/psql ~/bin/
    # 清理临时文件
    rm -rf ~/temp_psql *.deb
    
  3. 验证安装:
    psql --version
    

后续重启CloudShell后,~/bin下的psql会直接可用,无需重复安装。

内容的提问来源于stack exchange,提问作者Thaz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 09:37:14