[英]Copy table structure into new table
有沒有辦法將表的結構復制到新表中,沒有數據,包括所有鍵和約束?
對於簡單的模式復制,請使用 like 子句。
CREATE TABLE new_table_name (LIKE old_table_name INCLUDING ALL);
好吧,您可以使用 SQL 獲得的最接近的是:
create table new (
like old
including defaults
including constraints
including indexes
);
但它不會復制所有內容。 缺少的最重要的東西是外鍵。 此外 - 觸發器也不會被復制。 不確定其他事情。
另一種方法是轉儲表結構,在轉儲中更改它的名稱,然后再次加載它:
pg_dump -s -t old databases | sed 's/old/new/g' | psql
但請注意,這種簡單的 sed 在其他地方也會從舊變為新(例如,如果您的表列中名為“is_scolded”,它將變為“is_scnewed”)。
問題實際上是:你為什么需要它 - 因為出於各種目的,我會使用不同的技術。
看看pgAdmin - 迄今為止做你想做的最簡單的方法。
右鍵單擊表,腳本 - 創建。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.