2017-05-23 6:00 GMT-03:00 tushar <tushar.ah...@enterprisedb.com>: > > s=# alter subscription s1 set publication skip refresh ; > NOTICE: removed subscription for table public.t > NOTICE: removed subscription for table public.t1 > ALTER SUBSCRIPTION > s=#
That's a design flaw. Since SKIP is not a reserved word, parser consider it as a publication name. Instead of causing an error, it executes another command (REFRESH) that is the opposite someone expects. Also, as "skip" is not a publication name, it removes all tables in the subscription. ALTER SUBSCRIPTION name SET PUBLICATION publication_name_list SKIP REFRESH ALTER SUBSCRIPTION name SET PUBLICATION publication_name_list REFRESH opt_definition I think the first command was a bad design. Why don't we transform SKIP REFRESH into a REFRESH option? ALTER SUBSCRIPTION sub1 SET PUBLICATION pub1 REFRESH WITH (skip = true); skip (boolean): specifies that the command will not try to refresh table information. The default is false. -- Euler Taveira Timbira - http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento <http://www.timbira.com.br>