ISTM that allowing users to pick arbitrary lower array bounds was a huge mistake. I've never seen anyone make use of it, can't think of any legitimate use cases for it, and hate the stupendous amount of extra code needed to deal with it.
Obviously we can't just drop support, but what about an initdb (or hell, even configure) option to disallow arrays with a lower bound <> 1? Unfortunately we can't do this with a GUC since you can store arrays in a table.
--
Jim C. Nasby, Data Architect jim(at)nasby(dot)net
512.569.9461 (cell) http://jim.nasby.net