Si bien cuestionaría su diseño si confía en tales trucos, su pregunta es general y no proporcionó información específica para juzgar de ninguna manera.
Debería ser posible, en realidad. Es solo una cuestión de crear programáticamente los nombres de las tablas como cadenas y luego, en un ciclo, ejecutar sus declaraciones CREATE como consultas dinámicas.
Consulte esta página en la documentación de postgres:http://www.postgresql.org/docs/current/interactive/plpgsql-statements.html#PLPGSQL-STATEMENTS-EXECUTING-DYN