postgresql 如何在bat文件中运行pg_dump和pg_restore

shstlldc  于 2023-06-29  发布在  PostgreSQL
关注(0)|答案(1)|浏览(235)

我有几个Postgres数据库相关的命令要运行,我想在Windows中创建一个bat文件来一起运行它们。这是我创建的bat文件:

cd C:\\Program Files\\pgAdmin 4\\v6\\runtime
start pg_dump.exe --file "C:\\Users\\ADMINI~1\\Desktop\\dialpad.sql" --host "host1" --port "5432" --username "warehouse" --no-password --verbose --format=c --blobs --schema "dialpad" "pangea_warehouse_production"
SET "PGPASSWORD=xxxxxxxxxxxxxxx"
start psql --host=host2 --port=5432 --dbname=pangea_warehouse_production --username=warehouse --command="DROP SCHEMA IF EXISTS dialpad CASCADE;CREATE SCHEMA IF NOT EXISTS dialpad AUTHORIZATION warehouse;GRANT USAGE ON SCHEMA dialpad TO reporting;GRANT ALL ON SCHEMA dialpad TO warehouse;"
start pg_restore.exe --host "host2" --port "5432" --username "warehouse" --dbname "pangea_warehouse_production" --verbose --schema "dialpad" "C:\\Users\\ADMINI~1\\Desktop\\dialpad.sql"

当我运行脚本时,它会给予我一个错误:“C:\Program”无法识别为内部或外部命令、可操作程序或批处理文件。
请建议如何解决此问题。谢谢

kx7yvsdv

kx7yvsdv1#

你需要转义路径,就像我说的shell和你的批处理文件一样,不理解路径中的空格,因为它认为这是一个停止条件。这是从旧的msdos和它仍然有效

cd "C:\\Program Files\\pgAdmin 4\\v6\\runtime"

相关问题