温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

postgresql怎样导入数据

发布时间:2026-09-27 17:29:05 来源:亿速云 阅读:91 作者:小樊 栏目:数据库

在 PostgreSQL 中“导入数据”有多种常见方式,下面按使用场景给你总结,基本覆盖 90% 的情况。


一、使用 psql 命令行导入 SQL 文件(最常用)

适用于:已有 .sql 备份文件

psql -U username -d dbname -f file.sql

示例:

psql -U postgres -d testdb -f data.sql

如果已在 psql 内部:

\i /path/to/data.sql

二、导入 CSV 文件(非常常见)

方式 1:COPY(服务器侧,推荐)

COPY table_name
FROM '/path/to/file.csv'
WITH (FORMAT csv, HEADER true);

注意:

  • 文件路径是 数据库服务器上的路径
  • 用户需有服务器文件读取权限

方式 2:\copy(客户端侧,更安全)

\copy table_name FROM '/local/path/file.csv' WITH (FORMAT csv, HEADER true);

适合:

  • 本地电脑
  • 没有服务器文件权限

三、使用 pg_restore 导入备份

适用于:用 pg_dump -Fc 生成的备份

pg_restore -U username -d dbname file.dump

常用参数:

pg_restore -U postgres -d testdb --clean --if-exists backup.dump

四、使用 INSERT 脚本

适合小数据量:

INSERT INTO users(name, age) VALUES ('Tom', 20);

五、图形化工具导入

pgAdmin

  • 右键数据库 → Restore
  • 或右键表 → Import/Export

DBeaver / Navicat

  • 支持 CSV / Excel 直接导入
  • 有字段映射界面

六、常见问题

1. 编码问题

SET client_encoding = 'UTF8';

2. 字段顺序不一致

指定列名:

COPY table(col1, col2) FROM 'file.csv' CSV;

3. 大量数据导入更快

COPY 比 INSERT 快很多

七、你可以告诉我:

  • 数据格式(SQL / CSV / Excel)
  • 数据量大小
  • 是否在服务器或本地

我可以给你最合适、最快的导入方案。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手