regclass, \d command and temp tables
Hi,
I have created regular table t1 and temp table t1. Regclass and \d
command do not seem to distinguish them. Is this normal?
test=# create table t1(i int);
CREATE TABLE
test=# select 't1'::regclass::oid;
oid
---------
1470776
(1 row)
test=# create temp table t1(i int, j int);
CREATE TABLE
test=# select 't1'::regclass::oid;
oid
---------
1470776 <-- why same oid?
(1 row)
test=# \d t1 <-- \d finds regular table, not temporary table?
Table "public.t1"
Column | Type | Modifiers
--------+---------+-----------
i | integer |
test=# insert into t1 values(1,2); <-- insert command works as expected of course.
INSERT 0 1
test=# select * from t1;
i | j
---+---
1 | 2
(1 row)
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp
Tatsuo Ishii <ishii@postgresql.org> writes:
I have created regular table t1 and temp table t1. Regclass and \d
command do not seem to distinguish them. Is this normal?
It works for me. Are you using clean sources?
regression=# create table t1(i int);
CREATE TABLE
regression=# select 't1'::regclass::oid;
oid
--------
127671
(1 row)
regression=# create temp table t1(i int, j int);
CREATE TABLE
regression=# select 't1'::regclass::oid;
oid
--------
127674
(1 row)
regards, tom lane
It works for me. Are you using clean sources?
regression=# create table t1(i int);
CREATE TABLE
regression=# select 't1'::regclass::oid;
oid
--------
127671
(1 row)regression=# create temp table t1(i int, j int);
CREATE TABLE
regression=# select 't1'::regclass::oid;
oid
--------
127674
(1 row)
Oops. Sorry for noise. I accidentaly accessed through pgpool and it load
balanced the SELECT to different PostgreSQL server. Pgpool should have
remebered that temporary tables are created in the session.
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp