在 PostgreSQL 中导入数据有多种方式,下面按常见场景给你总结,直接照着用就行。
psql 导入 SQL 文件(最常用).sql 文件psql -U 用户名 -d 数据库名 -f 文件.sql
示例:
psql -U postgres -d testdb -f data.sql
如果是远程数据库:
psql -h 192.168.1.100 -U postgres -d testdb -f data.sql
COPY(推荐,速度快)COPY 表名 FROM '/path/to/file.csv' WITH (FORMAT csv, HEADER true);
示例:
COPY users FROM '/tmp/users.csv' WITH (FORMAT csv, HEADER true);
⚠️ 注意:
\copy(客户端导入,最安全)\copy 表名 FROM '/本地路径/file.csv' WITH (FORMAT csv, HEADER true);
示例(在 psql 中执行):
\copy users FROM 'C:/data/users.csv' WITH (FORMAT csv, HEADER true);
✅ 适合:
常用工具:
pgloader(强烈推荐)pgloader mysql://user:pwd@localhost/mydb postgresql://user:pwd@localhost/pgdb
pg_dump + psql 迁移pg_dump -U user -d olddb | ppsql -U user -d newdb
✅ 字段数量要一致
✅ 编码问题(推荐 UTF-8)
✅ 日期格式要匹配
✅ 表要先存在(COPY 不会建表)
如果你能告诉我:
我可以给你更精确的命令。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。