set client_min_messages = 'warning'; -- -- tables -- create table testdata ( id serial primary key, data text ); create table testdata_nopk ( id serial, data text ); select londiste.provider_add_table('pqueue', 'public.testdata_nopk'); ERROR: need key column CONTEXT: PL/pgSQL function "provider_add_table" line 2 at return select londiste.provider_add_table('pqueue', 'public.testdata'); ERROR: no such event queue CONTEXT: PL/pgSQL function "provider_add_table" line 2 at return select pgq.create_queue('pqueue'); create_queue -------------- 1 (1 row) select londiste.provider_add_table('pqueue', 'public.testdata'); provider_add_table -------------------- 1 (1 row) select londiste.provider_add_table('pqueue', 'public.testdata'); ERROR: duplicate key violates unique constraint "provider_table_pkey" CONTEXT: SQL statement "INSERT INTO londiste.provider_table (queue_name, table_name, trigger_name) values ( $1 , $2 , $3 )" PL/pgSQL function "provider_add_table" line 23 at SQL statement PL/pgSQL function "provider_add_table" line 2 at return select londiste.provider_refresh_trigger('pqueue', 'public.testdata'); provider_refresh_trigger -------------------------- 1 (1 row) select * from londiste.provider_get_table_list('pqueue'); table_name | trigger_name -----------------+--------------- public.testdata | pqueue_logger (1 row) select londiste.provider_remove_table('pqueue', 'public.nonexist'); ERROR: no such table registered select londiste.provider_remove_table('pqueue', 'public.testdata'); provider_remove_table ----------------------- 1 (1 row) select * from londiste.provider_get_table_list('pqueue'); table_name | trigger_name ------------+-------------- (0 rows) -- -- seqs -- select * from londiste.provider_get_seq_list('pqueue'); provider_get_seq_list ----------------------- (0 rows) select londiste.provider_add_seq('pqueue', 'public.no_seq'); ERROR: seq not found CONTEXT: PL/pgSQL function "find_seq_oid" line 2 at return SQL statement "SELECT 1 from pg_class where oid = londiste.find_seq_oid( $1 )" PL/pgSQL function "provider_add_seq" line 10 at perform select londiste.provider_add_seq('pqueue', 'public.testdata_id_seq'); provider_add_seq ------------------ 0 (1 row) select londiste.provider_add_seq('pqueue', 'public.testdata_id_seq'); ERROR: duplicate key violates unique constraint "provider_seq_pkey" CONTEXT: SQL statement "INSERT INTO londiste.provider_seq (queue_name, seq_name) values ( $1 , $2 )" PL/pgSQL function "provider_add_seq" line 16 at SQL statement select * from londiste.provider_get_seq_list('pqueue'); provider_get_seq_list ------------------------ public.testdata_id_seq (1 row) select londiste.provider_remove_seq('pqueue', 'public.testdata_id_seq'); provider_remove_seq --------------------- 0 (1 row) select londiste.provider_remove_seq('pqueue', 'public.testdata_id_seq'); ERROR: seq not attached select * from londiste.provider_get_seq_list('pqueue'); provider_get_seq_list ----------------------- (0 rows) -- -- linked queue -- select londiste.provider_add_table('pqueue', 'public.testdata'); provider_add_table -------------------- 1 (1 row) insert into londiste.link (source, dest) values ('mqueue', 'pqueue'); select londiste.provider_add_table('pqueue', 'public.testdata'); ERROR: Linked queue, manipulation not allowed CONTEXT: PL/pgSQL function "provider_add_table" line 2 at return select londiste.provider_remove_table('pqueue', 'public.testdata'); ERROR: Linked queue, manipulation not allowed select londiste.provider_add_seq('pqueue', 'public.testdata_id_seq'); ERROR: Linked queue, cannot modify select londiste.provider_remove_seq('pqueue', 'public.testdata_seq'); ERROR: Linked queue, cannot modify -- -- cleanup -- delete from londiste.link; drop table testdata; drop table testdata_nopk; delete from londiste.provider_seq; delete from londiste.provider_table; select pgq.drop_queue('pqueue'); drop_queue ------------ 1 (1 row)