>> "How to get arguments toastable??" and even my table pg_class.reltoastrelid >> entry is zero.
> It's pretty hard to guess what's going wrong here from the information > you've provided. But reltoastid should not be 0 if you're using a > variable-length data type.
It could be if the type is not marked toastable (ie, has storage class PLAIN, which I think is the default even for varlena types).
But in any case I suspect that 90% of the problem here is an incorrect declaration of the *function* not the type. We haven't seen the C function declaration, nor the SQL CREATE FUNCTION command, but if it's going through fmgr_oldstyle then there isn't a PG_FUNCTION_INFO_V1 marker, which maybe is the problem.
Thanks for your replies
Tom, you are correct. I missed PG_FUNCTION_INFO_V1 marker. After adding this marker, my code works fine. Thanks a lot.