mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	This code is intended as a demonstration of how the dynamic shared memory and dynamic background worker facilities can be used to establish a group of coooperating processes which can coordinate their activities using the shared memory message queue facility. By itself, the code does nothing particularly interesting: it simply allows messages to be passed through a loop of workers and back to the original process. But it's a useful unit test, in addition to its demonstration value.
		
			
				
	
	
		
			10 lines
		
	
	
		
			467 B
		
	
	
	
		
			SQL
		
	
	
	
	
	
			
		
		
	
	
			10 lines
		
	
	
		
			467 B
		
	
	
	
		
			SQL
		
	
	
	
	
	
CREATE EXTENSION test_shm_mq;
 | 
						|
 | 
						|
--
 | 
						|
-- These tests don't produce any interesting output.  We're checking that
 | 
						|
-- the operations complete without crashing or hanging and that none of their
 | 
						|
-- internal sanity tests fail.
 | 
						|
--
 | 
						|
SELECT test_shm_mq(32768, (select string_agg(chr(32+(random()*96)::int), '') from generate_series(1,400)), 10000, 1);
 | 
						|
SELECT test_shm_mq_pipelined(16384, (select string_agg(chr(32+(random()*96)::int), '') from generate_series(1,270000)), 200, 3);
 |