Genellikle bir tabloyu kopyalamanın en hızlı yolu basitçe:
CREATE TABLE table2 AS SELECT * FROM table1;
Paralel INSERT'ler daha hızlı olabilir, ancak yalnızca çok hızlı bir disk alt sistemiyle (birçok sürücüde veri birleştirildiğinde). Aksi takdirde bu daha yavaş olacaktır.
Değiştirme işlemini tamamladığınızda table2, yeni adı şu şekilde alabilir:
BEGIN;
DROP TABLE table1;
ALTER TABLE table2 RENAME TO table1;
COMMIT;
DROP TABLEKomut öngörebildiğiniz isteyebilirsiniz şekilde eşzamanlı okuyucuları etkileyen özel bir kilit, gerekir:
DROP Diğer işlemlerden bitinceye kadar, masadaki okunan bekleyenleri bekleyecektir.
- Bu süre zarfında bu tabloyu okumaya çalışan herhangi bir yeni işlem beklemeye alınacak ve daha sonra orijinal
table1olmadığından başarısız olacaktır . Hata gibi görünecektir "could OSB ile değil açık ilişki OID'yi "
İkinci sorunu önlemek için, yeniden adlandırmak olabilir table1 için old_table1 yerine bırakarak arasında ve bu okuyucular onunla bittiğinde sonra ancak bundan sonra dış işlemin ait bırakın. Böylece yukarıdaki dizi olur:
BEGIN;
ALTER TABLE table1 RENAME TO old_table1;
ALTER TABLE table2 RENAME TO table1;
COMMIT;
...
DROP TABLE old_table1;