Modern versions of postgres have all the partioning features you'd expect (except automatic ranged partion creation)