我想使用postgres本身从postgres search_path中提取第一个模式。实际的函数需要在更大的SELECT中作为WHERE子句中的条件工作:
SELECT * from something WHERE domain_hash = THEFUNCTION AND etc...
search_path将始终如下:
"068503358dddd23c",spikeadmin
我希望函数在没有引号的情况下返回068503358dddd23c
。
我认为正则表达式可能是有序的吗?
答案 0 :(得分:0)
问题是,PostgreSQL有一个quote_ident
函数但没有合适的unquote函数。而"068503358dddd23c"
是quote_ident
的输出。
所以你可以做点别的事情:
SELECT * FROM something
WHERE
quote_ident(domainhash) = split_part(current_setting('search_path'), ',', 1)
AND /* whatever */
如果架构中包含,
,则无效。但对于十六进制代码,这应该不是问题。