Peter Smith <smithpb2...@gmail.com> writes:
> Then the question from Peter E. [2] "Why can't I have a publication
> that publishes tables t1, t2, t3, *and* schemas s1, s2, s3." would
> have an intuitive solution like:

> CREATE PUBLICATION pub1
> FOR TABLE t1,t2,t3 AND
> FOR ALL TABLES IN SCHEMA s1,s2,s3;

That seems a bit awkward, since the existing precedent is
to use commas.  We shouldn't need more than one FOR noise-word,
either.  So I was imagining syntax more like, say,

        CREATE PUBLICATION pub1 FOR
          TABLE t1,t2,t3, ALL TABLES IN SCHEMA s1,s2,
          SEQUENCE seq1,seq2, ALL SEQUENCES IN SCHEMA s3,s4;

Abstractly it'd be

createpub := CREATE PUBLICATION pubname FOR cpitem [, ... ] [ WITH ... ]

cpitem := ALL TABLES |
          TABLE name |
          ALL TABLES IN SCHEMA name |
          ALL SEQUENCES |
          SEQUENCE name |
          ALL SEQUENCES IN SCHEMA name |
          name

The grammar output would need some post-analysis to attribute the
right type to bare "name" items, but that doesn't seem difficult.

                        regards, tom lane


Reply via email to