Read about dynamic sql in Postgres documentation (EXECUTE statement): http://www.postgresql.org/docs/8.2/static/plpgsql-statements.html Igor -----Original Message----- From: Anderson dos Santos Donda [mailto:andersondonda@xxxxxxxxx] Sent: Wednesday, August 06, 2008 9:10 PM To: pgsql-general@xxxxxxxxxxxxxx Subject: Create Table Dinamic Hello All! Its my first time here in maillist and I started work with postgre on last moth. My questions is: Threre is a way to create tables dinamic? Example: To create a table we use CREATE TABLE TableName ...... In my db, I have many tables with diferents names but with same colums Example: TableOne ( id int, name text ); TableTwo ( id int, name text ); TableThree ( id int, name text ); So, I created a function to create me this tables with diferents names CREATE OR REPLACE FUNCTION MakeTables ( NameTable text ) RETURNS VOID $$ BEGIN CREATE TABLE NameTable ( id int, name text ); END; $$ LANGUAGE 'plpgsql'; But, the plpgsql or postgre don't accept this.. So, How can I create a table with my function? Thanks for any helps!!! PS : If somebody want knows why I need to create this function, is because in my db have 1000 tables with the some colums, and each time I have a new client, I need to create this tables manually.