> Make sure to show your full command(s) and the full, exact text of any errors.
OK, I use PostgreSQL version 9.4.1.
I create cluster 'main' and connect to it. After cluster init we have those shemas:
postgres=# SELECT nspname FROM pg_namespace ; nspname
--------------------pg_toastpg_temp_1pg_toast_temp_1pg_catalogpublicinformation_schema
(6 rows)
Owner of those schemas is postgres (OID 10).
Now we try to create TEMP TABLE, for example:
postgres=# CREATE TEMP TABLE temptable();
CREATE TABLE
Show namespaces:
postgres=# SELECT nspname FROM pg_namespace ; nspname
--------------------pg_toastpg_temp_1pg_toast_temp_1pg_catalogpublicinformation_schemapg_temp_2pg_toast_temp_2
(8 rows)
Now we create a new database testdb and connect to it:
CREATE DATABASE testdb;
\c testdb
SHOW namespaces of testdb (we already connect to it):
testdb=# SELECT nspname FROM pg_namespace ; nspname
--------------------pg_toastpg_temp_1pg_toast_temp_1pg_catalogpublicinformation_schema
(6 rows)
OK, namespaces pg_temp_2 and pg_toast_temp_2 are not visible. But pg_temp_1 and pg_toast_temp_1 are visible. WHY?
If we create some temp objects in testdb Postgres wiil create namespaces pg_temp_3 and pg_toast_temp_3.
Try to create temp table at pg_temp_1:
CREATE TEMP TABLE pg_temp_1.temptable();
ERROR: cannot create relations in temporary schemas of other sessions
I catch those error if I create some TEMP objects in postgres database.
--
Best regards, Dmitry Voronin