我是postgres的新手。我已经在终端pg_dump创建并导入pgsql数据库
pg_dump -U USERNAME DBNAME > dbexport.pgsql
现在出口的大型,复杂的数据库使用下面的命令,我转这.pgsql文件到另一台计算机,什么是正确的命令来自动创建和恢复完全相同的数据库如出口?任何建议,将不胜感激
我是postgres的新手。我已经在终端pg_dump创建并导入pgsql数据库
pg_dump -U USERNAME DBNAME > dbexport.pgsql
现在出口的大型,复杂的数据库使用下面的命令,我转这.pgsql文件到另一台计算机,什么是正确的命令来自动创建和恢复完全相同的数据库如出口?任何建议,将不胜感激
你转储数据库的方式,有关数据库本身的信息不包括在转储(这是一个普通的SQL文件)。
您可以使用-C
选项包括CREATE DATABASE
在转储(dump是与psql
恢复),或使用自定义格式:
pg_dump -F c -U postgres DBNAME -f dbexport.pgsql
可以与pg_restore
恢复这样:
pg_restore -C -d postgres -U postgres dbexport.pgsql
为什么'pg_dump -U USER名称DBNAME> dbexport.pgsql'产生一个400 MB文件,而'pg_dump -F c -U postgres DBNAME -f dbexport.pgsql'产生一个70 MB文件? –
由于自定义格式是压缩的。它的优点之一。 –
'PSQL -f dbexport.pgsql' [如记录在手册中(https://www.postgresql.org/docs/current/static/backup-dump.html#BACKUP-DUMP-RESTORE ) –