Found a neat trick to copy the structure of a table but not the data in PostgreSQL.
This could be useful in partitioning your data across several identically structured tables to optimise your query speed.
CREATE TABLE nyse_stocks AS SELECT * FROM lse_stocks WHERE 1=2;
The WHERE 1=2 will always return false so no data will be copied.
Note that this method does not copy sequences.
To add the missing sequences:
CREATE SEQUENCE nyse_stocks_id_seq;
ALTER TABLE nyse_stocks ALTER COLUMN id SET DEFAULT NEXTVAL('nyse_stocks_id_seq');
ALTER TABLE nyse_stocks ALTER COLUMN id SET DEFAULT NEXTVAL('nyse_stocks_id_seq');