我想从另一个表(模式副本)创建一个表,但不是数据,只是模式。有这样的SQL或Postgres方法吗?希望可以复制索引的东西。约束。
同样,一旦创建了表,就可以保持模式同步,以防将来对原始表进行任何更改。将保存模式的手动同步。可能是Postgres有什么用?
答案 0 :(得分:3)
是的,请使用create table like
create table new_table (like old_table);
手册中的更多细节:
http://www.postgresql.org/docs/current/static/sql-createtable.html
like
子句将复制索引并检查约束,但不会复制外键约束。
它不会让new_table与旧版本保持“同步” - 而且我不清楚为什么你会这么想。
答案 1 :(得分:0)
仅使用
复制结构Select * into newtable from oldtable where 1=2
答案 2 :(得分:0)
使用CREATE TABLE AS SELECT
,其中SELECT
不返回任何内容。
CREATE TABLE
new_table
AS
SELECT
*
FROM
old_table
WHERE
FALSE=TRUE