mirror of
				https://github.com/postgres/postgres.git
				synced 2025-10-29 22:49:41 +03:00 
			
		
		
		
	Add a new WAL record type for TRUNCATE, which is only used when wal_level >= logical. (For physical replication, TRUNCATE is already replicated via SMGR records.) Add new callback for logical decoding output plugins to receive TRUNCATE actions. Author: Simon Riggs <simon@2ndquadrant.com> Author: Marco Nenciarini <marco.nenciarini@2ndquadrant.it> Author: Peter Eisentraut <peter.eisentraut@2ndquadrant.com> Reviewed-by: Petr Jelinek <petr.jelinek@2ndquadrant.com> Reviewed-by: Andres Freund <andres@anarazel.de> Reviewed-by: Alvaro Herrera <alvherre@alvh.no-ip.org>
		
			
				
	
	
		
			26 lines
		
	
	
		
			738 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			738 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| SELECT 'init' FROM pg_create_logical_replication_slot('regression_slot', 'test_decoding');
 | |
|  ?column? 
 | |
| ----------
 | |
|  init
 | |
| (1 row)
 | |
| 
 | |
| CREATE TABLE tab1 (id serial unique, data int);
 | |
| CREATE TABLE tab2 (a int primary key, b int);
 | |
| TRUNCATE tab1;
 | |
| TRUNCATE tab1, tab1 RESTART IDENTITY CASCADE;
 | |
| TRUNCATE tab1, tab2;
 | |
| SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
 | |
|                          data                         
 | |
| ------------------------------------------------------
 | |
|  BEGIN
 | |
|  table public.tab1: TRUNCATE: (no-flags)
 | |
|  COMMIT
 | |
|  BEGIN
 | |
|  table public.tab1: TRUNCATE: restart_seqs cascade
 | |
|  COMMIT
 | |
|  BEGIN
 | |
|  table public.tab1, public.tab2: TRUNCATE: (no-flags)
 | |
|  COMMIT
 | |
| (9 rows)
 | |
| 
 |