要将Postgres CLI中的转储数据库从远程服务器传输到另一个远程服务器或本地计算机,你可以使用pg_dump
工具来创建数据库的转储文件,然后使用scp
(安全复制)或rsync
命令将文件传输到目标位置。以下是详细步骤:
首先,在源服务器上使用pg_dump
命令创建数据库的转储文件。假设你要转储的数据库名为mydatabase
,用户名为myuser
,并且你希望将转储文件保存为mydatabase_backup.sql
。
pg_dump -U myuser -Fc mydatabase > mydatabase_backup.sql
这里的-U
参数指定数据库用户,-Fc
参数表示以自定义格式转储,这种格式通常更易于压缩和解压。
接下来,使用scp
或rsync
将转储文件从源服务器传输到目标服务器或本地计算机。
scp
传输到远程服务器如果你要将文件传输到另一个远程服务器,可以使用以下命令:
scp mydatabase_backup.sql myuser@remote_server:/path/to/destination
这里的myuser
是目标服务器上的用户名,remote_server
是目标服务器的地址,/path/to/destination
是目标路径。
scp
传输到本地计算机如果你要将文件传输到本地计算机,可以在本地终端运行以下命令:
scp myuser@source_server:/path/to/mydatabase_backup.sql /local/path/
这里的source_server
是源服务器的地址,/path/to/mydatabase_backup.sql
是源服务器上转储文件的路径,/local/path/
是本地目标路径。
rsync
传输rsync
是一个更高效的文件传输工具,特别适用于大文件或频繁更新的文件。以下是使用rsync
传输文件的命令:
rsync -avz myuser@source_server:/path/to/mydatabase_backup.sql myuser@remote_server:/path/to/destination
或者传输到本地:
rsync -avz myuser@source_server:/path/to/mydatabase_backup.sql /local/path/
最后,在目标服务器上使用pg_restore
命令恢复数据库:
pg_restore -U myuser -d mydatabase /path/to/mydatabase_backup.sql
这里的-U
参数指定数据库用户,-d
参数指定要恢复到的数据库名,/path/to/mydatabase_backup.sql
是转储文件的路径。
gzip
)来减小转储文件的大小。通过以上步骤,你可以将Postgres数据库转储从一个服务器传输到另一个服务器或本地计算机。如果你在过程中遇到任何问题,请检查网络连接、权限设置以及命令的正确性。
领取专属 10元无门槛券
手把手带您无忧上云