From: | Wells Oliver <wells(dot)oliver(at)gmail(dot)com> |
---|---|
To: | nunks <nunks(dot)lol(at)gmail(dot)com> |
Cc: | Scott Ribe <scott_ribe(at)elevated-dev(dot)com>, pgsql-admin <pgsql-admin(at)postgresql(dot)org> |
Subject: | Re: [pgsql-admin] "Soft-hitting" the 1600 column limit |
Date: | 2018-06-06 18:43:22 |
Message-ID: | CAOC+FBX6JLtcz-vO7K1rB-qmn23MyVgHya5xgcYLX-yUYoM_xw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
Is there a pointer to some deeper explanation of this? It's news to me and
kind of fascinating that dropped columns don't disappear. I did this stupid
test, which obviously failed:
mydb=# create table wells.foo (col1 text, col2 text);
CREATE TABLE
mydb=# insert into wells.foo values ('a','b'),('c','d');
INSERT 0 2
mydb=# alter table wells.foo drop column col2;
ALTER TABLE
mydb=# insert into wells.foo (col1,col2) values('a','b');
ERROR: column "col2" of relation "foo" does not exist
LINE 1: insert into wells.foo (col1,col2) values('a','b');
Just curious then, in what meaningful way do dropped columns persist, what
are the reasons?
On Wed, Jun 6, 2018 at 10:13 AM, nunks <nunks(dot)lol(at)gmail(dot)com> wrote:
> Thank you all for your answers.
>
> David and Tom's answers are more than enough to feed my argument to the
> developers. =)
>
> Scott, you're right of course. My first action to reestablish their
> development database was to do a dump/restore, but by logging DML
> statements I can see the application is dropping and adding the same column
> over and over again, so it's a matter of time before it hangs. I hope
> showing this thread to the developers will make them see some sense.
>
> @Wells, don't ask me, I have no idea, hahah, but it's a small table and
> the application keeps dropping/readding the column, actually. I figure the
> developer is using some kind of crazy ORM that drops the column when he
> deletes an object property and re-adds it when he sets the property back or
> something.
>
> @Ervin, a vacuum full doesn't "fix" this behavior, since it's expected
> after all =)
>
> collimittest=# \d add_drop_text
> Table "public.add_drop_text"
> Column | Type | Collation | Nullable | Default
> --------+------+-----------+----------+---------
> fixed | text | | |
>
> collimittest=# vacuum FULL ANALYZE VERBOSE add_drop_text ;
> INFO: vacuuming "public.add_drop_text"
> INFO: "add_drop_text": found 0 removable, 0 nonremovable row versions in
> 0 pages
> DETAIL: 0 dead row versions cannot be removed yet.
> CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s.
> INFO: analyzing "public.add_drop_text"
> INFO: "add_drop_text": scanned 0 of 0 pages, containing 0 live rows and 0
> dead rows; 0 rows in sample, 0 estimated total rows
> VACUUM
> collimittest=# alter table add_drop_text add column x int;
> ERROR: tables can have at most 1600 columns
>
>
> ----------
> “Life beats down and crushes the soul and art reminds you that you have
> one.”
>
> - Stella Adler
>
> On Wed, Jun 6, 2018 at 1:57 PM, Scott Ribe <scott_ribe(at)elevated-dev(dot)com>
> wrote:
>
>> He's *NOT* doing anything that requires 1600 columns--that was pretty
>> much the point of his post.
>>
>> --
>> Scott Ribe
>> scott_ribe(at)elevated-dev(dot)com
>> https://www.linkedin.com/in/scottribe/
>>
>>
>>
>> > On Jun 6, 2018, at 10:53 AM, Wells Oliver <wells(dot)oliver(at)gmail(dot)com>
>> wrote:
>> >
>> > let's just stop for a moment and talk about what you're doing that
>> requires *1600 columns* because my jaw is hitting the floor.
>>
>>
>
--
Wells Oliver
wells(dot)oliver(at)gmail(dot)com <wellsoliver(at)gmail(dot)com>
From | Date | Subject | |
---|---|---|---|
Next Message | Scott Ribe | 2018-06-06 18:46:30 | Re: [pgsql-admin] "Soft-hitting" the 1600 column limit |
Previous Message | nunks | 2018-06-06 17:13:44 | Re: [pgsql-admin] "Soft-hitting" the 1600 column limit |