Re: [PATCH] Attempt to clarify example of serialization anomaly

2023-06-21 Thread Laurenz Albe
On Tue, 2023-06-20 at 20:01 -0700, Will Mortensen wrote:
> Rebased on master and updated the wording in several places. All
> feedback is appreciated. :-)
> 
> I now see how to link to the wiki from the docs. I guess I numbered
> the transactions differently than the wiki's version though; I can
> rework it to more closely match the wiki if linking seems
> desirable.

I agree that the current wording in the documentation is too terse,
so your patch is an improvement.

There is still the potential for confusion.  Perhaps an example with
explicit SQL statements (as in the other sections) might be even better.

Perhaps something simple like

If two concurrent sessions run:

  BEGIN ISOLATION LEVEL REPEATABLE READ;
  SELECT count(*) FROM tab WHERE name = 'alice';
  /* if the result is <> 0, rollback */
  INSERT INTO table (name) VALUES ('alice');
  COMMIT;

you could end up with two rows with the same name, which could not
happen in a serial execution of the transactions.

Yours,
Laurenz Albe




large scale reliable software system

2023-06-21 Thread B M
Dear all,

After greeting,

I taught PostgreSQL myself and developed a small scale experimental
software system using PostgreSQL in the back-end.

I would like to know your advices to develop a large scale reliable
software system using PostgreSQL in the back-end, through which i can share
the storage with the different system users where they login to the system
through the web application front-end with different passwords and
usernames , save the privacy of each user data, improve overall system
security and performance, achieve fast response, make backups and save the
stored data from loss. The system will be hosted on a cloud.

Thank you in advance.


Re: large scale reliable software system

2023-06-21 Thread Jonathan S. Katz

On 6/21/23 12:52 PM, B M wrote:

Dear all,

After greeting,

I taught PostgreSQL myself and developed a small scale 
experimentalsoftware system using PostgreSQL in the back-end.


I would like to know your advices to develop a large scale reliable 
software system using PostgreSQL in the back-end, through which i can 
share the storage with the different system users where they login to 
the system through the web application front-end with different 
passwords and usernames , save the privacy of each user data, improve 
overall system security and performance, achieve fast response, make 
backups and save the stored data from loss. The system will be hosted on 
a cloud.


This mailing list is to discuss issues related to the PostgreSQL 
documentation, not system design. There are some other places you can 
have this discussion[1] (such as pgsql-general@), though many of the 
questions you have are generally broad topics that turn into very deep, 
detailed conversations.


Thanks,

Jonathan

[1] https://www.postgresql.org/support/



OpenPGP_signature
Description: OpenPGP digital signature


Re: large scale reliable software system

2023-06-21 Thread Erik Wienhold
I recommend posting this to pgsql-admin or pgsql-general instead of pgsql-docs
to get more responses.  Besides that, pgsql-docs is for discussions on the
Postgres docs.

> On 21/06/2023 18:52 CEST B M  wrote:
>
> I would like to know your advices to develop a large scale reliable software
> system using PostgreSQL in the back-end,

This is very general but the following points hopefully lead you in the right
direction:

> through which i can share the storage with the different system users where
> they login to the system through the web application front-end with different
> passwords and usernames , save the privacy of each user data, improve overall
> system security

The OWASP Cheat Sheets give advice on securing web applications:
https://cheatsheetseries.owasp.org/

> and performance, achieve fast response,

My general advice: design and implement for correctness, then measure and
optimize.  For performance, look into high availability:
https://www.postgresql.org/docs/current/high-availability.html

> make backups and save the stored data from loss.

Use pgBackRest or pgbarman with WAL streaming to reduce the recovery point
objective (the maximum period in which data might be lost).

> The system will be hosted on a cloud.

Some cloud providers offer Postgres instances including backups, e.g. Google
Cloud Platform which I'm looking into right now.

--
Erik




Re: large scale reliable software system

2023-06-21 Thread B M
Thank you all. I will follow your advices and directions

On Wed, Jun 21, 2023 at 7:17 PM Erik Wienhold  wrote:

> I recommend posting this to pgsql-admin or pgsql-general instead of
> pgsql-docs
> to get more responses.  Besides that, pgsql-docs is for discussions on the
> Postgres docs.
>
> > On 21/06/2023 18:52 CEST B M  wrote:
> >
> > I would like to know your advices to develop a large scale reliable
> software
> > system using PostgreSQL in the back-end,
>
> This is very general but the following points hopefully lead you in the
> right
> direction:
>
> > through which i can share the storage with the different system users
> where
> > they login to the system through the web application front-end with
> different
> > passwords and usernames , save the privacy of each user data, improve
> overall
> > system security
>
> The OWASP Cheat Sheets give advice on securing web applications:
> https://cheatsheetseries.owasp.org/
>
> > and performance, achieve fast response,
>
> My general advice: design and implement for correctness, then measure and
> optimize.  For performance, look into high availability:
> https://www.postgresql.org/docs/current/high-availability.html
>
> > make backups and save the stored data from loss.
>
> Use pgBackRest or pgbarman with WAL streaming to reduce the recovery point
> objective (the maximum period in which data might be lost).
>
> > The system will be hosted on a cloud.
>
> Some cloud providers offer Postgres instances including backups, e.g.
> Google
> Cloud Platform which I'm looking into right now.
>
> --
> Erik
>
>
>


Re: Change "two" to "three" for decades of development in history

2023-06-21 Thread Bruce Momjian
On Tue, Jun 20, 2023 at 07:36:46AM +, PG Doc comments form wrote:
> The following documentation comment has been logged on the website:
> 
> Page: https://www.postgresql.org/docs/15/history.html
> Description:
> 
> Hi,
> 
> In https://www.postgresql.org/docs/current/history.html it is written "With
> over two decades of development behind it".
> But since "The implementation of POSTGRES began in 1986" according to the
> same document, it should now be "With over three decades of development
> behind it".

You are _totally_ correct.  Attached patch applied back to PG 11.  Seems
we will need to change this to "four" in a few years too.

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

  Only you can decide what is important to you.
commit 05ffc1fadb
Author: Bruce Momjian 
Date:   Wed Jun 21 19:20:07 2023 -0400

doc:  update PG history as over "three decades"

Reported-by: Pierre 

Discussion: https://postgr.es/m/168724660637.399156.7642965215720120...@wrigleys.postgresql.org

Backpatch-through: 11

diff --git a/doc/src/sgml/history.sgml b/doc/src/sgml/history.sgml
index 5273c47580..c867a10d17 100644
--- a/doc/src/sgml/history.sgml
+++ b/doc/src/sgml/history.sgml
@@ -12,7 +12,7 @@
   The object-relational database management system now known as
   PostgreSQL is derived from the
   POSTGRES package written at the
-  University of California at Berkeley.  With over two decades of
+  University of California at Berkeley.  With over three decades of
   development behind it, PostgreSQL is now
   the most advanced open-source database available anywhere.