You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub Actions中pg_restore前如何清理目标数据库B?

解决pg-restore Action无法传入清理参数的问题

GitHub Actions抛出的警告翻译过来是:警告:意外的输入参数'options',合法输入仅为['database_url', 'backup_file'],核心原因是你使用的tj-actions/pg-restore@v4.5版本确实没有提供options输入参数,所以没法通过该Action传递-c清理指令。这里有两种可行的解决办法:

方案一:用原生pg_restore命令替代Action

既然工作流里已经安装了postgresql-client,完全可以跳过这个受限的Action,直接调用原生命令完成恢复,同时带上-c参数(恢复前清理数据库内的现有对象):

把原工作流中的Postgres Backup Restore步骤替换为:

- name: Postgres Backup Restore
  run: |
    pg_restore -d "postgres://USER:PWD@HOST:5432/DB_B" -c backups/backup.sql

这种方式直接绕开Action的参数限制,原生支持所有pg_restore的参数选项。

方案二:升级到支持options参数的Action版本

查看tj-actions/pg-restore的版本更新记录,v7及以上版本已经新增了options输入参数。如果不想修改命令逻辑,可以直接升级Action版本:

- name: Postgres Backup Restore
  uses: tj-actions/pg-restore@v7.0
  with:
    database_url: "postgres://USER:PWD@HOST:5432/DB_B"
    backup_file: "backups/backup.sql"
    options: "-c"

升级后就能正常通过options参数传递-c清理指令了。

内容的提问来源于stack exchange,提问作者nadia univ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 12:21:28