Since partitioning is just specialized inheritance, your zone_data table doesn't actually have any rows in it, its just using the default behavior of Postgres (from the manual: http://www.postgresql.org/docs/8.1/interactive/ddl-inherit.html): "In PostgreSQL, a table can inherit from zero or more other tables, and a query can reference either all rows of a table or all rows of a table plus all of its descendant tables. The latter behavior is the default." Use the "ONLY" keyword to only select rows in zone_data (of which there are hopefully none): SELECT * from ONLY zone_data; HTH -Mike