PostgreSQLでは、関数が異なるスキーマにある場合や、引数の数または引数の型が異なる場合に、同じ関数名を異なる関数定義に使用できます。 しかし、Tclではプロシージャ名の重複は許されません。 PL/Tclでは、引数の型名を内部Tclプロシージャ名に含め、必要に応じて関数のオブジェクトID(OID)を内部Tclプロシージャ名に追加することで、これに対応しています。これにより、同じTclインタプリタに以前にロードされたすべての関数とは異なる名前になります。 したがって、異なる引数の型を持つ同じ名前のPostgreSQL関数も、異なるTclプロシージャになります。 PL/Tclプログラマにとって、普段は問題にはなりませんが、デバッグの際に表面に現れます。
この理由などにより、PL/Tclの関数は、他の関数を直接(つまり、Tclの内部で)呼び出すことはできません。
その必要がある場合、spi_execまたは関連するコマンドを使用して、SQLを経由することが必要です。