Document format issues: characters are overlapping in the header of some tables

2020-04-22 Thread Rui Hai Jiang
Hello, 

I'm reading this document PostgreSQL 12.2 Documentation(postgresql-12-A4.pdf) 
which I've downloaded from the official website www.postgresql.org.


I found some format issues with the table headers in these pages,
1159,1160,1161,1162,1163,1164.

In the table headers, some characters are overlapping and it's difficult to 
recognize the words. 

Regards,
Ruihai





filter with json_agg(DISTINCT table.*) behaves differently

2020-04-22 Thread PG Doc comments form
The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/10/release-10-7.html
Description:

Following is our finding: 

Postgres query behaves differently in 2 version 

Specifically 


(json_agg(DISTINCT table_name.*) filter(where table_name is not null)) as
table,
.
.
.

 gives null record in 10.7 where it gives proper data in 10.6 

Following is the version difference of postgres 

WORKING - PostgreSQL 10.6 on x86_64-pc-linux-gnu, compiled by gcc (GCC)
4.8.3 20140911 (Red Hat 4.8.3-9), 64-bit

NOT WORKING - PostgreSQL 10.7 on x86_64-pc-linux-gnu, compiled by gcc (GCC)
4.9.3, 64-bit


Re: Logical replication subscription owner

2020-04-22 Thread Alvaro Herrera
On 2020-Apr-15, PG Doc comments form wrote:

> If the logical replication subscription is owned by a role that is not
> allowed to login (for example, if the LOGIN privilege is removed after the
> subscription is created) then the logical replication worker (which uses the
> owner to connect to the database) will start to fail with this error
> (repeated every 5 seconds), which is pretty much undocumented:
> 
> FATAL:  role "XXX" is not permitted to log in
> LOG:  background worker "logical replication worker" (PID X) exited with
> exit code 1
> 
> You might want to include that error message in the docs, to ensure that web
> searches for it bring the user to this documentation.

I wonder if a better answer is to allow the connection when the
REPLICATION priv is granted, ignoring the LOGIN prov.

-- 
Álvaro Herrerahttps://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services




Re: Logical replication subscription owner

2020-04-22 Thread Stephen Frost
Greetings,

* Alvaro Herrera (alvhe...@2ndquadrant.com) wrote:
> On 2020-Apr-15, PG Doc comments form wrote:
> > If the logical replication subscription is owned by a role that is not
> > allowed to login (for example, if the LOGIN privilege is removed after the
> > subscription is created) then the logical replication worker (which uses the
> > owner to connect to the database) will start to fail with this error
> > (repeated every 5 seconds), which is pretty much undocumented:
> > 
> > FATAL:  role "XXX" is not permitted to log in
> > LOG:  background worker "logical replication worker" (PID X) exited with
> > exit code 1
> > 
> > You might want to include that error message in the docs, to ensure that web
> > searches for it bring the user to this documentation.
> 
> I wonder if a better answer is to allow the connection when the
> REPLICATION priv is granted, ignoring the LOGIN prov.

Erm, no, I wouldn't have thought that'd make sense- maybe someone
specifically wants to stop allowing that role to login and they remove
LOGIN?  That REPLICATION would override that would surely be surprising
and counter-intuitive..

Thanks,

Stephen


signature.asc
Description: PGP signature


Add that changing the `argname` will raise exception in procedure/function

2020-04-22 Thread PG Doc comments form
The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/12/sql-createprocedure.html
Description:

In https://www.postgresql.org/docs/12/sql-createprocedure.html you can add:
"It is also not possible to change the argname. Trying to do so will raise
an exception. If you want to do it - drop the procedure first."

In https://www.postgresql.org/docs/12/sql-createfunction.html you can add:
"It is also not possible to change the argname. Trying to do so will raise
an exception. If you want to do it - drop the function first."


Re: terminology in example

2020-04-22 Thread Bruce Momjian


Patch applied back to 9.5, thanks.

---

On Wed, Apr  1, 2020 at 08:27:59PM -0400, Bruce Momjian wrote:
> On Wed, Apr  1, 2020 at 08:37:30AM +0200, Laurenz Albe wrote:
> > On Tue, 2020-03-31 at 19:10 -0400, Bruce Momjian wrote:
> > 
> > > The attached patch fixes the problem.  The regression tests also have
> > > many mentions of "altitude."  Should those be changed too?
> > 
> > I don't think that is necessary.
> > Names don't matter in the regression tests.
> 
> Agreed.
> 
> > > @@ -612,7 +612,7 @@ CREATE VIEW cities AS
> > >  CREATE TABLE cities (
> > >name   text,
> > >population real,
> > > -  altitude   int -- (in ft)
> > > +  elevation   int -- (in ft)
> > >  );
> > 
> > The "int" should be aligned with the rest (delete one space).
> 
> Fixed, thanks.
> 
> -- 
>   Bruce Momjian  https://momjian.us
>   EnterpriseDB https://enterprisedb.com
> 
> + As you are, so once was I.  As I am, so you will be. +
> +  Ancient Roman grave inscription +
> 
> 

-- 
  Bruce Momjian  https://momjian.us
  EnterpriseDB https://enterprisedb.com

+ As you are, so once was I.  As I am, so you will be. +
+  Ancient Roman grave inscription +




Re: Logical replication subscription owner

2020-04-22 Thread Alvaro Herrera
On 2020-Apr-22, Stephen Frost wrote:
> * Alvaro Herrera (alvhe...@2ndquadrant.com) wrote:

> > I wonder if a better answer is to allow the connection when the
> > REPLICATION priv is granted, ignoring the LOGIN prov.
> 
> Erm, no, I wouldn't have thought that'd make sense- maybe someone
> specifically wants to stop allowing that role to login and they remove
> LOGIN?  That REPLICATION would override that would surely be surprising
> and counter-intuitive..

Well, I guess if somebody wants to stop replication, they can remove
the REPLICATION priv.

I had it in my mind that LOGIN was for regular (SQL-based) login, and
REPLICATION was for replication login, and that they were orthogonal.

You're saying that there's no way a role can have REPLICATION privs but
no LOGIN.  Is that sensible?

-- 
Álvaro Herrerahttps://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services




Re: Logical replication subscription owner

2020-04-22 Thread Tom Lane
Alvaro Herrera  writes:
> I had it in my mind that LOGIN was for regular (SQL-based) login, and
> REPLICATION was for replication login, and that they were orthogonal.

Yeah, that's what I would've expected.  Otherwise, is REPLICATION
without LOGIN useful at all?

regards, tom lane




Re: Lack of detailed documentation

2020-04-22 Thread Tom Lane
I wrote:
> One thing that's sort of blocking any real progress on this is the
> draconian space constraints imposed by the tabular format, which is
> hurting us on a lot of these pages, not just this one.  Alvaro did
> some preliminary investigation towards finding a better way,
> but nobody's tried to push that forward.

I've been making an attempt to improve that situation, and along
the way just pushed an expansion of the geometric-operator docs:

https://www.postgresql.org/docs/devel/functions-geometry.html

There's probably still some things to be desired, but it's a lot
less fuzzy than before.

One thing that surprised me is that I couldn't find any well-known
name for what the * and / operators are doing; digging around on
the net and in some dusty old math textbooks didn't yield any exact
matches.  I ended up adding footnotes with the actual computations,
but I'm not very happy with that approach.  Surely Lockhart[1] got this
definition from someplace, though, and didn't invent it out of thin air.

regards, tom lane

[1] I'd supposed we could blame this stuff on Berkeley, but excavation
in our git history shows it came in at
https://git.postgresql.org/gitweb/?p=postgresql.git&a=commitdiff&h=9e2a87b62db87fc4175b00dabfd26293a2d072fa
... sans documentation of course.




Re: Lack of detailed documentation

2020-04-22 Thread David G. Johnston
On Wed, Apr 22, 2020 at 4:36 PM Tom Lane  wrote:

> One thing that surprised me is that I couldn't find any well-known
> name for what the * and / operators are doing; digging around on
> the net and in some dusty old math textbooks didn't yield any exact
> matches.  I ended up adding footnotes with the actual computations,
> but I'm not very happy with that approach.  Surely Lockhart[1] got this
> definition from someplace, though, and didn't invent it out of thin air.
>
>
I'd move the footnote indicator to:

Available for point[a], box, path, circle.
Available for point[b], box, path, circle.

As the footnote only applies to that specific left operand type.

Or maybe:

Available for box, path, and circle.  It is also defined for point [a] but
it has no related physical meaning.

David J.


Re: Lack of detailed documentation

2020-04-22 Thread David G. Johnston
On Wed, Apr 22, 2020 at 5:18 PM David G. Johnston <
david.g.johns...@gmail.com> wrote:

> On Wed, Apr 22, 2020 at 4:36 PM Tom Lane  wrote:
>
>> One thing that surprised me is that I couldn't find any well-known
>> name for what the * and / operators are doing; digging around on
>> the net and in some dusty old math textbooks didn't yield any exact
>> matches.  I ended up adding footnotes with the actual computations,
>> but I'm not very happy with that approach.  Surely Lockhart[1] got this
>> definition from someplace, though, and didn't invent it out of thin air.
>>
>>
> I'd move the footnote indicator to:
>
> Available for point[a], box, path, circle.
> Available for point[b], box, path, circle.
>
> As the footnote only applies to that specific left operand type.
>
> Or maybe:
>
> Available for box, path, and circle.  It is also defined for point [a] but
> it has no related physical meaning.
>

Nevermind...

David J.


Re: Lack of detailed documentation

2020-04-22 Thread David G. Johnston
On Wed, Apr 22, 2020 at 4:36 PM Tom Lane  wrote:

> Surely Lockhart[1] got this
> definition from someplace, though, and didn't invent it out of thin air.
>

I actually viewed quite a few YouTube math videos between then and now and
looking at it now it seems familiar.

It is basically treating the points as if they were a representation of
complex numbers with x being real and y being imaginary.

https://en.wikipedia.org/wiki/Complex_number (Multiplication and Division
sections)

David J.


Re: Lack of detailed documentation

2020-04-22 Thread Tom Lane
"David G. Johnston"  writes:
> It is basically treating the points as if they were a representation of
> complex numbers with x being real and y being imaginary.

Hah!  I was too focused on looking for definitions involving vectors,
and didn't think of plain ol' complex numbers.  But yes, that's exactly
what it is.  I'll go improve the docs.

regards, tom lane