On 2012-12-01 12:24:57 -0800, Josh Berkus wrote: > > >> I'm not thrilled about inventing YA keyword for this. If you have a > >> problem with that sort of scenario, why aren't you testing your DDL > >> on a test server before you do it on production? > > *I* do test my DDL. However, there are literally hundreds of thousands > of Rails, Django and Hibernate developers who "test" their DDL by > running it using a 5-row dataset on their laptops before pushing it to > production. As far as these folks are concerned, "rewrite if there's a > default" is a completely unintuitive booby-trap. > > I agree that adding "NOREWRITE" is a bad solution, though. Personally, > I'd rather have a system function which tests whether a series of DDL > statements involves a rewrite anywhere. e.g.: > > SELECT pg_test_for_rewrite('ALTER TABLE josh ADD COLUMN haircolor') > > Hmmmm. Actually, that wouldn't work with migrations tools, especially > Rails. Better, what about a GUC? > > SET message_on_rewrite=WARNING;
If you have a framework and you want to test for this you can just compare relfilenodes before/after. Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers