我有以下 bash 腳本呼叫。
psql -U postgres postgres < ../dump_script.sql -v test=1 >/dev/null
在dump_script.sql-script 我有以下代碼:
\set dbName 'db_dev'
IF :test = 1 THEN
dbName := 'db_test'
END IF;
如果我不使用該test引數,一切都按預期作業,則會構建常規開發資料庫 - 如果我test向腳本提供以下錯誤,則會引發以下錯誤。
ERROR: syntax error at or near "IF"
LINE 1: IF 1 = 1 THEN
我在這里做錯了什么?
uj5u.com熱心網友回復:
由于@jjanes 的提示,這個答案是可能的
\set dbName 'dbDev'
SELECT :test = 1 AS is_test_run \gset
\if :is_test_run
\set dbName 'dbTest'
\endif
這按預期作業!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/482626.html
標籤:PostgreSQL 重击 if 语句 语法错误
