Re: Insert records in the tavke only if they are not exist

David G. Johnston <david.g.johnston@gmail.com>

From: "David G. Johnston" <david.g.johnston@gmail.com>
To: Igor Korot <ikorot01@gmail.com>
Cc: "pgsql-generallists.postgresql.org" <pgsql-general@lists.postgresql.org>
Date: 2024-12-07T03:55:00Z
Lists: pgsql-general
On Friday, December 6, 2024, Igor Korot <ikorot01@gmail.com> wrote:
>
> When my application starts up, ot creates some tables and insert records
> in them.
>
> When the app starts for the second time it should check if the tables and
> the records in them are exist and skip the process.
>
> Everything is good, except what if I have a connection from 2 different
> users?
>
> I can run this inside transaction, but will this be enough? Will stating
> transaction lock the DB and the second user will wait for transaction to
> complete?
>
>
Seems like letting the create table fail would be a reliable way to
determine what is happening.  But this procedure overall just seems better
avoided.  Can’t you just run an installer/updater separate from running the
application?

David J.