Обсуждение: pgsql: Split up wal-logging items: < * Allow control over which tables
pgsql: Split up wal-logging items: < * Allow control over which tables
От
momjian@postgresql.org (Bruce Momjian)
Дата:
Log Message: ----------- Split up wal-logging items: < * Allow control over which tables are WAL-logged [walcontrol] > * Allow WAL logging to be turned off for a table, but the table > might be dropped or truncated during crash recovery [walcontrol] < commit. To do this, only a single writer can modify the table, and < writes must happen only on new pages. Readers can continue accessing < the table. This would affect COPY, and perhaps INSERT/UPDATE too. < Another option is to avoid transaction logging entirely and truncate < or drop the table on crash recovery. These should be implemented < using ALTER TABLE, e.g. ALTER TABLE PERSISTENCE [ DROP | TRUNCATE | < STABLE | DEFAULT ]. Tables using non-default logging should not use < referential integrity with default-logging tables, and tables using < stable logging probably can not have indexes. One complexity is < the handling of indexes on TOAST tables. > commit. This should be implemented using ALTER TABLE, e.g. ALTER > TABLE PERSISTENCE [ DROP | TRUNCATE | DEFAULT ]. Tables using > non-default logging should not use referential integrity with > default-logging tables. A table without dirty buffers during a > crash could perhaps avoid the drop/truncate. > > * Allow WAL logging to be turned off for a table, but the table would > avoid being truncated/dropped [walcontrol] > > To do this, only a single writer can modify the table, and writes > must happen only on new pages so the new pages can be removed during > crash recovery. Readers can continue accessing the table. Such > tables probably cannot have indexes. One complexity is the handling > of indexes on TOAST tables. Modified Files: -------------- pgsql/doc: TODO (r1.1757 -> r1.1758) (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/TODO.diff?r1=1.1757&r2=1.1758) pgsql/doc/src/FAQ: TODO.html (r1.262 -> r1.263) (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/FAQ/TODO.html.diff?r1=1.262&r2=1.263)