On 7/6/22 14:47, Bryn Llewellyn wrote:
There's no surprise here. you read the system catalogue, made a table in whatever is the current schema which hid system's table, then hid your table by the new path.The problem was my stupid typo: writing « set search_path = 'pg_catalog, pg_temp'; » when I should *not* have typed those single quotes. Now the demo that I'd intended gets the outcome that I'd expected:
select count(*) from pg_class; --------------<< 399
create temporary table pg_class(k int);
select count(*) from pg_class; --------------<< 0
set search_path = pg_catalog, pg_temp;
select count(*) from pg_class; --------------<< 400