我遵循这个教程:https://learn.microsoft.com/en-us/azure/postgresql/howto-migrate-using-export-and-import
我已经使用pg_dump成功创建了一个脚本文件。我在我的命令行上运行这个:
pg_dump –-host=local --username=postgres --dbname=satellite_data --file=satellite_data.sql
我现在在点,我必须使用psql导入数据到我的Azure服务器的PostgreSQL (https://learn.microsoft.com/en-us/azure/postgresql/howto-migrate-using-export-and-import#import-the-data-on-target-azure-database-for-postgresql)。
我使用了教程建议的命令psql --file=<database>.sql --host=<server name> --port=5432 --username=<user> --dbname=<target database name>
。我在Azure云shell (bash)中运行了这个程序。我的信息是:
psql --file=satellite_data.sql --host=[redacted] --port=5432 --username=[redacted] --dbname=satellite_data
但是,我得到以下错误:
psql: error: satellite_data.sql: No such file or directory
我试过在许多位置保存satellite_data.sql
(然后将完整的文件路径传递给azure中的——file),但没有任何效果。
我已经遵循了教程,但似乎没有什么可以修复这个错误。直觉上,我看不出Azure是如何访问我的本地文件系统的……但这似乎就是他们在教程中所做的。
如何修复这个错误?
当运行psql --file=<database>.sql --host=<server name> --port=5432 --username=<user> --dbname=<target database name>
命令时,它必须从命令行运行,而不是在Azure Cloud Shell中运行。
那么,它应该可以工作。