Tom Lane wrote: > David Waller <daw138a-postgres@xxxxxxxxxxx> writes: > >> I'm struggling with a database query that under some circumstances returns the error "ERROR: number of columns (2053) exceeds limit (1664)". Confusingly, though, no table is that wide. >> > > This limit would be enforced against the output rows of any intermediate > join step. Without looking at EXPLAIN plans it's hard to say exactly > what's biting you, but it doesn't surprise me a a whole lot that joining > multiple 500-column tables would get you into trouble. I'd suggest > reconsidering your table schemas. Array columns might help. > > regards, tom lane > > I have a question may be relevant, if a little tangential, to this problem. When using views that perform joins, will the join order be enforced by the groupings created by the views, or does the planner decide the join order just as if there were no views and it all was written as a single query? In other words, if you have create view C select * from A join B on (A.foo = B.foo); create view D select * from C join E on (C.foo= E.foo); and you execute some select query on D, does it necessarily join A and B before joining the result to E, or might it decide to join B with E first before joining the result to A? Eric -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general