Hi For DDL purposes we make significant use of pg_catalog tables/views. Were investigating performance issues in a typical function: CREATE FUNCTION tableexists( s TEXT , t TEXT ) returns boolean as $$ SELECT count(tablename) = 1 FROM pg_tables WHERE schemaname=$1 and tablename=$2; $$ language sql When change the params of above function to VARCHAR (instead of TEXT), performance improved dramatically. We then changed params to NAME ( as per pg_tables column type ) , but the performance stayed more or less the same. Can somebody explain this to me ? Is there a better way in which to handle these ? (This will be implemented on most object in the catalog e.g. columns, sequences, functions, etc ) Regards gmb -- View this message in context: http://www.postgresql-archive.org/optimize-pg-tables-query-text-vs-varchar-why-tp5978592.html Sent from the PostgreSQL - general mailing list archive at Nabble.com. -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general