200字
postgresql的可视化pgadmin安装【自动化】
2025-12-04
2025-12-04

🎯 脚本【/etc/postgresql/*/main/pg_hba.conf】

#!/bin/bash

echo "========================================="
echo "pgAdmin4 自动修复安装脚本"
echo "========================================="
echo ""

# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m'

# 检查 root 权限
if [ "$EUID" -ne 0 ]; then 
    echo -e "${RED}请使用 sudo 运行此脚本${NC}"
    exit 1
fi

# 1. 创建必要目录
echo -e "${BLUE}[1/7] 检查并创建必要目录...${NC}"
mkdir -p /etc/apt/sources.list.d/
mkdir -p /usr/share/keyrings/
chmod 755 /etc/apt/sources.list.d/
echo -e "${GREEN}✓ 目录检查完成${NC}\n"

# 2. 清理旧文件
echo -e "${BLUE}[2/7] 清理旧配置文件...${NC}"
rm -f /usr/share/keyrings/packages-pgadmin-org.gpg
rm -f /usr/share/keyrings/y
rm -f /etc/apt/sources.list.d/pgadmin4.list
echo -e "${GREEN}✓ 清理完成${NC}\n"

# 3. 下载 GPG 密钥
echo -e "${BLUE}[3/7] 下载 pgAdmin GPG 密钥...${NC}"
curl -fsSL https://www.pgadmin.org/static/packages_pgadmin_org.pub | gpg --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpg

if [ -f /usr/share/keyrings/packages-pgadmin-org.gpg ]; then
    echo -e "${GREEN}✓ GPG 密钥下载成功${NC}"
    ls -lh /usr/share/keyrings/packages-pgadmin-org.gpg
else
    echo -e "${RED}✗ GPG 密钥下载失败${NC}"
    exit 1
fi
echo ""

# 4. 添加仓库
echo -e "${BLUE}[4/7] 添加 pgAdmin 软件源...${NC}"
echo "deb [signed-by=/usr/share/keyrings/packages-pgadmin-org.gpg] https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/noble pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list

if [ -f /etc/apt/sources.list.d/pgadmin4.list ]; then
    echo -e "${GREEN}✓ 软件源添加成功${NC}"
    cat /etc/apt/sources.list.d/pgadmin4.list
else
    echo -e "${RED}✗ 软件源添加失败${NC}"
    exit 1
fi
echo ""

# 5. 更新软件包列表
echo -e "${BLUE}[5/7] 更新软件包列表...${NC}"
apt update
echo -e "${GREEN}✓ 更新完成${NC}\n"

# 6. 安装 pgAdmin4
echo -e "${BLUE}[6/7] 安装 pgAdmin4-web...${NC}"
apt install -y pgadmin4-web

if [ $? -eq 0 ]; then
    echo -e "${GREEN}✓ pgAdmin4 安装成功${NC}\n"
else
    echo -e "${RED}✗ pgAdmin4 安装失败${NC}\n"
    exit 1
fi

# 7. 配置 pgAdmin
echo -e "${BLUE}[7/7] 配置 pgAdmin Web 服务...${NC}"
echo -e "${YELLOW}请按提示输入管理员邮箱和密码${NC}\n"

/usr/pgadmin4/bin/setup-web.sh

# 验证安装
echo ""
echo "========================================="
echo -e "${GREEN}安装完成!${NC}"
echo "========================================="
echo ""

# 显示访问信息
SERVER_IP=$(hostname -I | awk '{print $1}')
echo -e "访问地址: ${BLUE}http://$SERVER_IP/pgadmin4${NC}"
echo ""

# 显示服务状态
echo "Apache 服务状态:"
systemctl status apache2 --no-pager | grep "Active"
echo ""

echo "========================================="

📝 使用一键脚本

保存并运行:

# 创建脚本文件
cat > install-pgadmin.sh << 'EOF'
# 粘贴上面的完整脚本内容
EOF

# 赋予执行权限
chmod +x install-pgadmin.sh

# 运行脚本
sudo ./install-pgadmin.sh

评论