在 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
COPY(服务器侧,推荐)COPY table_name
FROM '/path/to/file.csv'
WITH (FORMAT csv, HEADER true);
注意:
\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);
SET client_encoding = 'UTF8';
指定列名:
COPY table(col1, col2) FROM 'file.csv' CSV;
COPY 比 INSERT 快很多
我可以给你最合适、最快的导入方案。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。