导出(windows 需要管理员身份运行)

1.pg_dump 导出单个表结构

  • --schema-only 表示只包含表结构
pg_dump -h localhost -U postgres -d next_ecdis -t public.b_book_entry  --schema-only > D:\syncSql\b_book_entry_structure.sql

<br/>

2.命令行导出整个表数据(需要进入psql 命令行)

# docker exec -it postgresql bash (如果是docker)
psql -U postgresql -d next_ecdis

<br/>

导出csv数据到指定路径

COPY (SELECT * FROM b_book) TO 'D:\syncSql\bBook.csv' CSV HEADER;

<br/>

<br/>

导入

1.将上面到处的文件拷贝到需要更新的服务器上

以我为例 我使用的docker  需要把文件拷贝到主机上在放到docker 主机里
docker cp /opt/file.csv <container_id>:/usr/file.csv  -- 把文件放在虚拟机的usr/file.csv 路径下

1.进入 psql命令行

 # docker exec -it postgresql bash (如果是docker)
 psql -U postgres -d next_ecdis (进入数据库)
  • 导入表结构
i\ usr/b_book_entry_structure.sql

<br/>

  • 导入指定表数据
copy public.b_book from '/usr/bBook.csv' WITH CSV HEADER;

<br/>

<br/>

<br/>

<br/>

<br/>

另外一种方法 导出整个库 包含结构 和数据

  • 导出
pg_dump -U postgres -W -F c -b -v -f nextEcdis.backup next_ecdis

导入前需要先删除整个库
确保没有其他客户端连接该库 否则删不掉

   -- 删除数据库
     DROP DATABASE mydb;
  • 导入
pg_restore -U postgres -d next_ecdis -v /usr/nextEcdis.backup
最后修改:2025 年 06 月 18 日
如果觉得我的文章对你有用,请随意赞赏