温馨提示×

ubuntu pgadmin数据库管理

小樊
32
2025-12-08 03:35:36
栏目: 智能运维

Ubuntu 上使用 pgAdmin 管理 PostgreSQL 实操指南

一 安装与启动

  • 方式一 APT 官方仓库安装(推荐)

    • 导入 PostgreSQL 官方 APT 源并安装:
      • sudo sh -c ‘echo “deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main” > /etc/apt/sources.list.d/pgdg.list’
      • wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
      • sudo apt update
      • sudo apt install pgadmin4
    • 首次配置与启动:
      • 运行 sudo pgadmin4-setup,按提示设置 pgAdmin 的主密码
      • 访问地址:http://localhost/pgadmin4(桌面环境可直接运行命令:pgadmin4)。
  • 方式二 pip 安装(灵活但需手动维护)

    • 安装依赖与 pgAdmin4:
      • sudo apt update
      • sudo apt install python3-pip libpq-dev python3-dev libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev libffi-dev
      • pip3 install --upgrade pip
      • pip3 install pgadmin4
    • 初始化与启动:
      • 方式 A(常见):python3 ~/.local/lib/python3.*/site-packages/pgadmin4/setup.py
      • 方式 B(虚拟环境):
        • python3 -m venv ~/pgadmin4 && source ~/pgadmin4/bin/activate
        • pip install --upgrade pip wheel pgadmin4
      • 启动服务:
        • 桌面模式:python3 ~/.local/lib/python3.*/site-packages/pgadmin4/pgAdmin4.py
        • 或作为 WSGI 服务运行(配合 uWSGI/Nginx,见下文“进阶部署”)。

二 连接 PostgreSQL

  • 准备数据库侧
    • 启动 PostgreSQL:sudo systemctl start postgresql
    • 设置 postgres 用户密码:sudo -u postgres psql -c “ALTER USER postgres WITH PASSWORD ‘your_password’;”
    • 如需远程连接,编辑配置文件(版本号以实际为准,如 12/main):
      • /etc/postgresql/12/main/postgresql.conf:将 listen_addresses 改为 ‘*’
      • /etc/postgresql/12/main/pg_hba.conf:在末尾添加 host all all 0.0.0.0/0 md5
      • 重启数据库:sudo systemctl restart postgresql
  • 在 pgAdmin 中添加服务器
    • 左侧 Servers 右键 → Create → Server
    • General:输入名称(如:Local PostgreSQL)
    • Connection:
      • Host name/address:localhost 或服务器 IP
      • Port:5432
      • Maintenance database:postgres
      • Username/Password:如 postgres/your_password
    • Save 后即可查看库、表、执行 SQL。

三 常用管理操作

  • 创建数据库:在左侧目标实例下右键 Databases → Create → Database,填写名称保存。
  • 创建表:进入库 → Schemas → public → Tables → Create → Table,在 Columns 页签添加列并保存。
  • 查询与编辑:顶部菜单 Tools → Query Tool,执行 INSERT/SELECT/UPDATE/DELETE 等语句。
  • 备份与恢复:使用 pgAdmin 提供的备份/还原工具执行对象级或库级备份与恢复(适合日常运维)。

四 进阶部署与安全加固

  • 远程访问 pgAdmin(桌面/服务器模式)
    • 防火墙放行:sudo ufw allow 5050/tcp(若 pgAdmin 运行在 5050 端口)
    • 访问地址:http://服务器IP:5050(桌面模式直接运行 pgadmin4 也会启动本地服务)
  • 使用 Nginx + uWSGI 部署(生产推荐)
    • 生成自签证书:
      • sudo mkdir -p /etc/ssl/private
      • sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048
        -keyout /etc/ssl/private/server-key.pem -out /etc/ssl/private/server-cert.pem -subj “/CN=localhost”
    • Nginx 反向代理示例(/etc/nginx/sites-available/default 的 server 块内):
      • location / { include uwsgi_params; uwsgi_pass unix:/var/run/pgadmin4/pgadmin4.sock; }
    • 重启服务:sudo systemctl restart nginx 与 pgadmin4-web(或相应服务名)。

五 常见问题排查

  • 无法远程连接数据库
    • 核对 postgresql.conf 的 listen_addresses=‘*’、pg_hba.conf 的 host … 0.0.0.0/0 md5、以及云服务器安全组/本机防火墙是否放行 5432/tcp
  • 浏览器访问 pgAdmin 失败
    • 确认服务已启动(桌面模式运行 pgadmin4;Web 模式检查端口 5050/pgadmin4 路径与防火墙)。
  • 认证失败
    • 核对 pg_hba.conf 的认证方式(如 md5/peer/scram-sha-256)、数据库用户密码是否正确;必要时在 psql 中 ALTER USER 重置密码。
  • 版本与路径差异
    • 配置文件路径、Python 版本(如 python3.10)、site-packages 路径会随系统与版本变化,优先使用系统包管理器(APT)获取匹配版本。

0