这是我目前要将数据库从本地计算机复制到远程服务器的操作.
Dump local database:
pg_dump dbname --clean -U postgres > dumpfile
Restore remote database:
psql --single-transaction dbname -U postgres < dumpfile
Run Code Online (Sandbox Code Playgroud)
这是一个完美的复制.
如何修改它以忽略源和目标中的特定表名?
这对于记录网站访问的表非常有用.我想保留现有的远程访问日志,而忽略我当地的"访问"日志(这只是我本地访问我自己的网站).
使用该-t开关,您可以选择要包含哪些表:
pg_dump <your switches> -t my_schema.awesome* -f backup.bat postgres
Run Code Online (Sandbox Code Playgroud)
其中只包括那些表格.
同样,-T交换机将执行相反的操作 - 转储除指定的表之外的所有内容:
pg_dump <your switches> -T my_schema.lame* -f backup.bat postgres
Run Code Online (Sandbox Code Playgroud)
您也可以多次使用每个开关:
pg_dump <your switches> \
-t my_schema.awesome* \
-t my_schema.amazing* \
-t my_schema.great -f backup.bat postgres
Run Code Online (Sandbox Code Playgroud)
当你恢复时,它不会打算尝试恢复它没有备份的东西,所以这部分应该在某种程度上本地处理.
| 归档时间: |
|
| 查看次数: |
2302 次 |
| 最近记录: |