使用pg_dump命令连接到远程服务器并进行备份
备份
在PostgreSQL中,当备份数据库的结构和数据时,默认情况下使用copy命令备份数据库数据。
但是,我想使用备份的SQL脚本在其他软件(如A5M2)中执行,但是由于不能识别copy命令用于插入数据库数据,我必须像复制粘贴工一样逐个在表中反映数据库数据,这变得相当麻烦。
在这里,我将介绍一种使用插入命令而不是复制命令来备份数据库结构(包括数据库数据)的方法。
/* Windows CMDを起動して、Postgresqlのインストール先へ移動(psql.exeである場所)
* console result:C:\PostgreSQL\9.4\bin>
*/
cd C:\PostgreSQL\9.4\bin
/* Postgresqlの環境設定を確認(念のため)
* console result:psql (PostgreSQL) 9.4.1
*/
C:\PostgreSQL\9.4\bin>psql -V
/* リモートサーバーを接続してバックアップ
* param:
* -h:HOSTNAME
* -p:port
* -U:username
* -d:database name
* --inserts:dump the data by [insert] command, not by the default option [copy]
* -f:file name or the directory
*
* console result:C:\PostgreSQL\9.4\bin>
*/
C:\PostgreSQL\9.4\bin>pg_dump -h localhost -p 112 -U myuser -d myDB --inserts -f D:\myDB_20180125.dump
/* pg_dump ヘルプ
* tips:バージョンによりオプションが違いので、是非ヘルプにチェックしましょう
*/
C:\PostgreSQL\9.4\bin>pg_dump --help
请注意。
由于不同的PostgreSQL版本,命令选项可能会有所不同,所以请务必检查帮助。
我在以下的网站找到了有用的参考资料。谢谢!
参考来源
PostgreSQL 8.2.6文档 pg_dump
备份和恢复DB数据