如何确定postgresql用于执行类型转换的函数?
EG:如果我有SELECT'{1,2,3}':: int4 [],我该如何确定postgresql使用哪个函数来执行转换?在psql中执行\ dC似乎没有列出目标数据类型为int4 []的任何强制类型转换。
答案 0 :(得分:3)
完全精英的方法是执行SET debug_print_parse TO on;
或SET debug_print_plan TO on;
,然后查看服务器日志中最终被调用的解析或计划树。
在这个特定的例子中,这将告诉您所写的内容实际上不是强制转换,它只是将字符串'{1,2,3}'
提供给类型int4[]
的类型输入函数。在其他情况下,不会调用类似的强制转换函数,例如二进制兼容类型或通过I / O函数进行强制。
答案 1 :(得分:1)