1.将数据库备份成dump文件.
首先以管理员权限进入cmd的postgres的bin目录下方,然后执行下面的命令:
pg_dump -U 'username' -p 'port number' -d 'databse' > 'dump file name'
例如:
pg_dump -U postgres -p 5437 -d postgres > bills_with_5_tenants.dump
注意,上面的dump会同时包含数据库的data以及schema,如果只需要data不需要schema的话则需要使用下面的命令
pg_dump -F c -p 5432 -U postgres -d postgres -a > bills_with_6_tenants_for_automatic_close.dump
2. 将dump文件导入到数据库当中:
首先进入cmd的postgres的bin目录下方,然后执行下面的命令:
pg_restore -U 'username' -p 'port number' -d 'databse' < 'dump file name'
例如
pg_restore.exe -U postgres -p 5437 -d postgres < open_bill_dump_file_with_tax.dump
生成的dump文件导入的时候报错:
pg_restore: [archiver] input file does not appear to be a valid archive
原因是生成的dump文件格式不对,需要带上-F参数,例如
pg_dump -F c -p 5439 -U postgres -d {database name} > {dump file name}.dump