My function TestLtree() is being executed in the PGAdmin debugger. The debugger requires I define the argument being passed, I set this to 'a.b.c' and I have confirmed in the debugger that this is indeed what is passed into the function. I do not understand what you mean by "You haven't shown us what you are doing on that end". I am only using the debugger to test a simple function - nothing more. As mentioned before, the code runs without problems in both PSQL and in PGAdmin4 - it only fails when executed in the debugger. BTW, I'm running PostgreSQL 10.3, compiled by Visual C++ build 1800, 64-bit under Windows 10. Thank, Ian -----Original Message----- From: Tom Lane [mailto:tgl@xxxxxxxxxxxxx] Sent: 26 April, 2018 18:18 To: ib@xxxxxxxxxxxxxxxxxxx Cc: 'Adrian Klaver' <adrian.klaver@xxxxxxxxxxx>; pgsql-general@xxxxxxxxxxxxxxxxxxxx Subject: Re: PGAdmin4 debugger - unable to call ltree functions "Ian Bell" <ib@xxxxxxxxxxxxxxxxxxx> writes: > I just tried your suggestion and it generates the same error. For > verification, here is the function run in the debugger. I just realized that "syntax error at position N" is *not* the exact spelling you would get from a syntax error in PG's main parser, which I think is what we were all assuming this'd trace down to somehow. What it is is the (very poorly chosen) message you get if either ltree_in() or lquery_in() doesn't like what it's been handed. So basically, the problem here is that TestLtree() is being called with a string that isn't a valid ltree representation. You haven't shown us what you are doing on that end, but for example I can duplicate the error message with # select text2ltree(' '); ERROR: syntax error at position 0 regards, tom lane