11
我可以改變一個現有的表是UNLOGGED嗎?如何將PostgreSQL UNLOGGED功能應用於現有表?
我可以改變一個現有的表是UNLOGGED嗎?如何將PostgreSQL UNLOGGED功能應用於現有表?
對於未來的讀者和PostgreSQL 9.5將允許設置一個現有的表格爲LOGGED/UNLOGGED與ALTER TABLE 命令...詳細更好here。
For e.g.
ALTER TABLE table_test SET LOGGED;
ALTER TABLE table_test SET UNLOGGED;
下面的解決方案是一個針對PostgreSQL版本< = 9.4:
你可以這樣做:
create unlogged table your_table_alt as
select * from your_table;
然後:
drop table your_table;
alter table your_table_alt rename to your_table;
此外,請記住,您可以將這些命令包裝在一個事務中,以便從來沒有人看到中介零碎。 – xzilla
在刪除舊錶之前,請檢查並重新創建新表上的索引和約束。 –
這是PostgreSQL <= 9.4的正確答案 – alfonx