如何確定postgresql用於執行類型轉換的函數?如何找出postgresql用於執行類型轉換的函數?
EG:如果我有SELECT'{1,2,3}':: int4 [],我該如何確定postgresql使用哪個函數來執行轉換?在psql中執行\ dC似乎沒有列出任何目標數據類型爲int4 []的轉換。
如何確定postgresql用於執行類型轉換的函數?如何找出postgresql用於執行類型轉換的函數?
EG:如果我有SELECT'{1,2,3}':: int4 [],我該如何確定postgresql使用哪個函數來執行轉換?在psql中執行\ dC似乎沒有列出任何目標數據類型爲int4 []的轉換。
完全精英的方法是做SET debug_print_parse TO on;
或SET debug_print_plan TO on;
,然後查看服務器日誌中的分析或計劃樹,最終調用哪個函數。
在這個特定的例子中,這會告訴你,你寫的並不是一個表演,它只是將字符串'{1,2,3}'
提供給int4[]
類型的類型輸入函數。還有其他情況下,不會調用這樣的強制轉換函數,例如二進制兼容類型或通過I/O函數進行強制轉換。