Psql终端执行sql 并导出查询结果到本地文件
psql -U username -h host databasename;
\o /home/ubuntu/test.txt -- 指定导出路径地址
select username from member where age > 18; --然后执行sql查询结果
导入数据 出现 duplicate key value violates unique constraint
错误原因: 一般出现此问题, 导入数据时,未更新表的索引, 表的索引和自增id没有更新,导致自增id在自增时索引出现重复错误。
官方语言:发生这种情况是因为自动 ID 编号由于某种原因未对齐。
解决方案:
- 首先,检查主键的当前最大值。
SELECT MAX(id) FROM table;
- 接下来,检查自动编号的 nextval 函数中的值。
SELECT nextval('table_id_seq');
- 接下来,检查自动编号的 nextval 函数中的值。
SELECT nextval('table_id_seq');
- 如果该值小于主键的最大值,则表示不对齐。
然后纠正偏差。
可以使用 setval 函数进行如下修改。
SELECT setval('table_id_seq', (SELECT MAX(id) FROM table));