温馨提示×

Linux 下 pgAdmin 怎么导入数据

小樊
42
2026-08-20 08:29:27
栏目: 智能运维

在 Linux 下使用 pgAdmin 导入数据,常见有几种方式,下面按最常用 → 次常用给你详细说明,并附上注意事项。


一、使用 pgAdmin 图形界面导入数据(最常用)

方法 1:通过「Import/Export Data」导入 CSV 文件 ✅

前提条件

  • pgAdmin 4(Web 版或桌面版均可)
  • 数据文件(如 CSV)
  • 表结构已存在(或准备新建)

步骤一:准备表结构

  1. 打开 pgAdmin
  2. 连接数据库
  3. 找到目标数据库 → Schemas → Tables
  4. 右键 Tables → Create → Table
    • 建好字段(字段名、类型)

如果表已存在,可跳过


步骤二:导入数据

  1. 右键目标表
  2. 选择 Import/Export Data
  3. 在弹出窗口中:
    • 勾选 ✅ Import
    • 选择文件路径(Linux 本地路径)
      /home/user/data.csv
      
    • 设置格式:CSV
    • 编码:UTF8
  4. 配置选项:
    • Header:是否有表头(勾选)
    • Delimiter:,
    • Quote:"
  5. 点击 OK

✅ 成功后会在 Messages 中看到导入行数


常见问题

❌ 报错:permission denied

  • pgAdmin 运行用户无权访问文件
  • 解决:
    chmod 644 /home/user/data.csv
    
    或把文件放到 /tmp

❌ 编码错误

  • CSV 文件不是 UTF-8
  • 解决:
    iconv -f gbk -t utf-8 data.csv > data_utf8.csv
    

二、使用 Query Tool 执行 SQL 导入(推荐大文件)

COPY your_table
FROM '/home/user/data.csv'
DELIMITER ','
CSV HEADER;

⚠️ 注意:

  • 需要 PostgreSQL 服务器能访问该文件
  • 文件权限要允许 postgres 用户读取
  • 不能直接用 pgAdmin 客户端路径

三、使用 pgAdmin 的「Backup / Restore」导入(整库)

适合:

  • 从其他 PostgreSQL 导出的 .sql.tar

步骤

  1. 右键数据库
  2. 选择 Restore
  3. 选择备份文件
  4. 勾选需要恢复的对象
  5. 点击 Restore

四、Linux 命令行方式(补充,不依赖 pgAdmin)

psql -U username -d dbname -c "\copy your_table FROM '/home/user/data.csv' CSV HEADER"

✅ 比 COPY 更灵活,不需要 superuser


五、总结对比

方法 适合场景 难度
pgAdmin Import/Export 小到中型 CSV
SQL COPY 大文件 ⭐⭐
Restore 整库迁移 ⭐⭐
psql \copy 最稳定 ⭐⭐⭐

如果你愿意,可以把:

  • 数据格式(CSV / Excel / JSON)
  • 表结构
  • 报错信息

发给我,我可以帮你精确匹配导入方式

0