2015-04-13 17:57 GMT+02:00 Day, David <dday@xxxxxxxxxx>:
Situation
I have a co-developer installing a new Virtual Machine and encountering a postgres error during the installation.
One of our SQL patch files is failing unexpectedly.
The patch is attempting to add columns to a table, The table involved currently has only 2 columns,
Interactively I can generate the same error in his current state.
psql -h ohio -U redcom ace_db
psql (9.3.6)
Type "help" for help.
ace_db=# select * from log.conference_history;
conf_id | max_size
---------+----------
(0 rows)
ace_db=# ALTER TABLE log.conference_history ADD talker_limit integer DEFAULT 0;
ERROR: tables can have at most 1600 columns
ace_db=#
ace_db=#
There can be removed (invisible columns)
select attname from pg_attribute where attrelid = 'test'::regclass and attnum > 0;
postgres=# select attname from pg_attribute where attrelid = 'test'::regclass and attnum > 0;
┌─────────┐
│ attname │
╞═════════╡
│ a │
│ c │
│ d │
└─────────┘
(3 rows)
alter table test drop column a, drop column c;
postgres=# select attname from pg_attribute where attrelid = 'test'::regclass and attnum > 0;
┌──────────────────────────────┐
│ attname │
╞══════════════════════════════╡
│ ........pg.dropped.1........ │
│ ........pg.dropped.2........ │
│ d │
└──────────────────────────────┘
(3 rows)
postgres=# select count(*) from pg_attribute where attrelid = 'test'::regclass and attnum > 0 and attisdropped;
┌───────┐
│ count │
╞═══════╡
│ 2 │
└───────┘
(1 row)
select attname from pg_attribute where attrelid = 'test'::regclass and attnum > 0;
postgres=# select attname from pg_attribute where attrelid = 'test'::regclass and attnum > 0;
┌─────────┐
│ attname │
╞═════════╡
│ a │
│ c │
│ d │
└─────────┘
(3 rows)
alter table test drop column a, drop column c;
postgres=# select attname from pg_attribute where attrelid = 'test'::regclass and attnum > 0;
┌──────────────────────────────┐
│ attname │
╞══════════════════════════════╡
│ ........pg.dropped.1........ │
│ ........pg.dropped.2........ │
│ d │
└──────────────────────────────┘
(3 rows)
postgres=# select count(*) from pg_attribute where attrelid = 'test'::regclass and attnum > 0 and attisdropped;
┌───────┐
│ count │
╞═══════╡
│ 2 │
└───────┘
(1 row)
So maybe it can be a reason of this issue?
Pavel
Puzzled ?
Any thoughts ?
Regards
Dave Day