attislocal value changed with dump

From: elein <elein(at)varlena(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Cc: elein <elein(at)varlena(dot)com>
Subject: attislocal value changed with dump
Date: 2005-11-03 17:59:17
Message-ID: 20051103175917.GQ26501@varlena.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs


The problem is that after a dump and reload of
a table hierarchy there are different values in
pg_attribute.attislocal.

A quick grep shows few references to attislocal.
But I cannot say for sure it is unused since it is
documented. However, I'm looking at a db diff
tool and there it does matter.

This is the setup:

I've got an inheritance hierarchy, answer_values
with a bunch of answer_[type] tables inheriting
from it.

tiny=# \d answer_values
Table "public.answer_values"
Column | Type | Modifiers
--------+---------+-----------------------------------------------------------------
orid | integer | not null
qid | integer | not null
avid | integer | not null default nextval('public.answer_values_avid_seq'::text)
atype | text |
ncols | integer |
Indexes:
"answer_values_pkey" PRIMARY KEY, btree (orid, qid, avid)

tiny=# \d answer_text
Table "public.answer_text"
Column | Type | Modifiers
--------+---------+----------------------------------------------------------
orid | integer | not null
qid | integer | not null
avid | integer | not null default nextval('answer_values_avid_seq'::text)
atype | text |
ncols | integer |
avalue | text |
Indexes:
"answer_text_pk" UNIQUE, btree (avid)
Inherits: answer_values

* In 8.0.4,
* created a clean db (tiny) and loaded the SQL to define the hierarchy.
* pg_dump tiny > tiny.dat
* createdb tiny2
* psql < tiny.dat

After this, looking at the 'avid' attribute in the
pg_attribute table all of tables loaded in the second
db have 't' for attislocal. This is different from
the original definition.

tiny=# select r.relname, attname, attislocal, attinhcount from pg_attribute a join pg_class r ON (a.attrelid = r.oid) where attname = 'avid' order by relname;
relname | attname | attislocal | attinhcount
----------------------+---------+------------+-------------
answer_addr | avid | f | 1
answer_addr_pk | avid | t | 0
answer_bool_pk | avid | t | 0
answer_boolean | avid | f | 1
answer_date | avid | f | 1
answer_date_pk | avid | t | 0
answer_date_range | avid | f | 1
answer_dater_pk | avid | t | 0
answer_float | avid | f | 1
answer_flt_pk | avid | t | 0
answer_num_pk | avid | t | 0
answer_numeric | avid | f | 1
answer_numeric_range | avid | f | 1
answer_numr_pk | avid | t | 0
answer_text | avid | f | 1
answer_text_pk | avid | t | 0
answer_values | avid | t | 0
answer_values_pkey | avid | t | 0
av_v | avid | t | 0
(19 rows)

tiny2=# select r.relname, attname, attislocal, attinhcount from pg_attribute a join pg_class r ON (a.attrelid = r.oid) where attname = 'avid' order by relname;
relname | attname | attislocal | attinhcount
----------------------+---------+------------+-------------
answer_addr | avid | t | 1
answer_addr_pk | avid | t | 0
answer_bool_pk | avid | t | 0
answer_boolean | avid | t | 1
answer_date | avid | t | 1
answer_date_pk | avid | t | 0
answer_date_range | avid | t | 1
answer_dater_pk | avid | t | 0
answer_float | avid | t | 1
answer_flt_pk | avid | t | 0
answer_num_pk | avid | t | 0
answer_numeric | avid | t | 1
answer_numeric_range | avid | t | 1
answer_numr_pk | avid | t | 0
answer_text | avid | t | 1
answer_text_pk | avid | t | 0
answer_values | avid | t | 0
answer_values_pkey | avid | t | 0
av_v | avid | t | 0
(19 rows)

----- End forwarded message -----

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Alvaro Herrera 2005-11-03 20:40:46 Re: attislocal value changed with dump
Previous Message Tom Lane 2005-11-03 17:39:10 Re: BUG #2017: column labels ignored on selects from views