Domas points out:
Which would make sense if no other queries are being ran :) With PG though you can define an index on smaller subset, may be better than partitioning.
Exactly - this is a perfect use case for partial indexes, not for partitioning. The MW Postgres schema is already using some partial indexes, FWIW, e.g.
CREATE INDEX rc_timestamp_bot ON recentchanges (rc_timestamp) WHERE rc_bot = 0;
P.S. Where is PG's replication? How does it deal with DDL? :)
Define "replication" first :) There are a lot of replication options available, some of which handle DDL, some that do not.
P.P.S. Anyone running PG in production on a big website?
Yep. Course, you might also want to define "big"
I'll resist the urge to say too much more on this thread right now, and go back to watching from the sidelines.