PostgreSQL - CURRENT_SETTING 的默认值

Pra*_*tik 2 postgresql

这就是我在 PostgreSQL 中访问变量的方式。

select CURRENT_SETTING('abc.var1')
Run Code Online (Sandbox Code Playgroud)

有没有一种最佳方法可以让我在变量不存在的情况下获得默认值(即0),而不是收到错误?

小智 6

使用该函数的两个参数版本(这可以防止变量丢失时出现错误),然后使用 coalesce():

select coalesce(current_setting('abc.var1', true), '0');
Run Code Online (Sandbox Code Playgroud)