当我使用 MySQL 时,我可以运行一个命令,将 SSH 连接到我的服务器并将数据库复制到我的本地机器上。
ssh -t remoteserver 'mysqldump --compress -u dbuser --password="password" db_name' | /usr/local/mysql/bin/mysql -u root --password="password" local_db_name
Run Code Online (Sandbox Code Playgroud)
我如何用 PostgreSQL 做同样的事情?
dez*_*zso 18
如果数据库服务器从您的主机(通常在端口 5432 上)获取数据库连接,那么您不需要使用 SSH。在这种情况下,您需要执行以下操作:
pg_dump -h your_db_host -U db_user -C db_name | psql -h localhost -d local_db_name -U local_db_user
Run Code Online (Sandbox Code Playgroud)
如果您只能从主机本身连接到数据库,则必须从 MySQL 示例中添加 SSH 逻辑。
使用-C
,您将CREATE DATABASE
在转储的开头获得一个命令,因此您不必自己创建它。除非您将这些存储在.pgpass文件中(假设您使用的是 linux/Unix),否则上述命令将要求输入两次密码。此外,如果您的数据库不侦听 TCP,则本地连接可能会有所不同(在这种情况下只需省略该-h localhost
部分)。
有关更多详细信息和选项,请参阅pg_dump 文档。
归档时间: |
|
查看次数: |
25986 次 |
最近记录: |