Marcelo Lacerda <marceloslacerda@xxxxxxxxx> writes: > I was trying to get postgres to warn me that I'm referencing a table that > it doesn't exists inside a function so I was told on the IRC to check the > setting "check_function_bodies", however when I use it in a plpgsql > function it doesn't actually check if the tables in the body exist. Is this > the correct behavior? Yes. It's supposed to be a syntax check, not a check that the function would work when executed. (Depending on the particular PL you're using, which you didn't mention, it might be a pretty weak syntax check too.) An example of why a thorough check would be inadvisable is that a trigger function might contain references to OLD and NEW that are in code paths protected by checks on the trigger event type. That could be perfectly OK, but a static check couldn't tell. I believe there are some external tools floating around that check things more aggressively, and hence with a higher rate of false positives. regards, tom lane