public inbox for [email protected]
help / color / mirror / Atom feedFrom: Yogesh Mahajan <[email protected]>
To: Dave Page <[email protected]>
Cc: Pravesh Sharma <[email protected]>
Cc: [email protected]
Subject: Re: Require suggestions on issue #7811
Date: Tue, 3 Sep 2024 17:03:03 +0530
Message-ID: <CAMa=N=O9_+VKu7RfSguq6EyYAD-dU3Z76FZ+2FT5QWqqJ12yNA@mail.gmail.com> (raw)
In-Reply-To: <CA+OCxozcVAiZBm+sduA5CJEJDOAU5fQ=a41yS9XOMwMoV1ojvg@mail.gmail.com>
References: <CA+36bxGk6z0A9gvQayub6wmT7fbv6rP_bbjs6Ff37Kxb1cegkA@mail.gmail.com>
<CA+OCxowvD+kUSm19KijKTNzY9CNBPE=oRS1T84vCmSjqOX4y0Q@mail.gmail.com>
<CA+36bxFPzSFDYBVpkuXDQM01b=xijGKoA2jzDga5UZguA-AM3w@mail.gmail.com>
<CA+OCxozY5-_TZP=T+GfO8up6JVhmJ-aokbV1ZOcq3KWR5wY9kA@mail.gmail.com>
<CAMa=N=Oe4sGDxM_s1kng7H1VQjFYR+4tNEjvVanbbPwEx-7Zag@mail.gmail.com>
<CA+OCxoyEzRg18wq1DFACBO9A5tfE-Q6d2DJ0nor85VHw4gO2Sw@mail.gmail.com>
<CAMa=N=NFp8Qv+4a_w_qumJy_UM8skdZv9o537WQ5xt0fMjf=ww@mail.gmail.com>
<CA+OCxozcVAiZBm+sduA5CJEJDOAU5fQ=a41yS9XOMwMoV1ojvg@mail.gmail.com>
Hi,
On Tue, Sep 3, 2024 at 3:55 PM Dave Page <[email protected]> wrote:
>
>
> On Tue, 3 Sept 2024 at 10:51, Yogesh Mahajan <
> [email protected]> wrote:
>
>>
>> Thanks,
>> Yogesh Mahajan
>> EnterpriseDB
>>
>>
>> On Tue, Sep 3, 2024 at 3:11 PM Dave Page <[email protected]> wrote:
>>
>> Hi
>>
>> Hi
>>>
>>> On Tue, 3 Sept 2024 at 10:32, Yogesh Mahajan <
>>> [email protected]> wrote:
>>>
>>>> Hi Dave,
>>>>
>>>> This isn't the issue in the case of sqlite db while using persistent
>>>> storage. Issue appears only if external database is used as pgadmin
>>>> configuration db. Just having different way of persistent storage( in this
>>>> case backend database) behaviour should not be different.
>>>>
>>>
>>> No, the two database types should behave the same way. Why then, is
>>> PostgreSQL different from SQLite? Is SQLIte effectively using the --replace
>>> option whilst PostgreSQL is not (though I can't imagine why that would be
>>> the case)?
>>>
>>
>> Issue is because the loading server is performed in the absence of the '
>> /var/lib/pgadmin/pgadmin4.db' file which is always true in case of an
>> external database.
>>
>
> Ah, well in that case for PostgreSQL we can just check if the pgAdmin
> schema has all been created/loaded right?
>
Yes, we can try this way.
Thanks,
Yogesh Mahajan
EnterpriseDB
>
>
>>
>> However, I retract my previous comment (though if this were new
>>> behaviour, perhaps I wouldn't) - the docs say:
>>>
>>> =====
>>> If this file is mapped, server definitions found in it will be loaded at
>>> launch time. This allows connection information to be pre-loaded into the
>>> instance of pgAdmin in the container. Note that server definitions are only
>>> loaded on first launch, i.e. when the configuration database is created,
>>> and not on subsequent launches using the same configuration database.
>>> =====
>>>
>>> So the advertised feature is that we do only load the servers once into
>>> any given configuration database.
>>>
>>>
>>>>
>>>> Also, on restart admin user specified while container is not recreated.
>>>> Can't we fix on similar lines?
>>>>
>>>> Thanks,
>>>> Yogesh Mahajan
>>>> EnterpriseDB
>>>>
>>>>
>>>> On Tue, Sep 3, 2024 at 2:05 PM Dave Page <[email protected]> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Tue, 3 Sept 2024 at 09:29, Pravesh Sharma <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> Hi Dave,
>>>>>>
>>>>>> On Tue, Sep 3, 2024 at 1:47 PM Dave Page <[email protected]> wrote:
>>>>>>
>>>>>>> Hi
>>>>>>>
>>>>>>> On Tue, 3 Sept 2024 at 09:10, Pravesh Sharma <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> Hi Hackers,
>>>>>>>>
>>>>>>>> I am working on issue #7811
>>>>>>>> <https://github.com/pgadmin-org/pgadmin4/issues/7811;, where using
>>>>>>>> an external database for storing pgAdmin configuration results in duplicate
>>>>>>>> server entries when a container with a mapped servers.json file is
>>>>>>>> restarted.
>>>>>>>>
>>>>>>>> The proposed solution is to implement a check when loading servers.
>>>>>>>> We would verify the server’s name, host, port, and username to determine if
>>>>>>>> the server already exists in the database. If it does, we would skip
>>>>>>>> registering it again.
>>>>>>>>
>>>>>>>>
>>>>>>>> Please share any suggestions or feedback on this approach.
>>>>>>>>
>>>>>>>
>>>>>>> I would say "Won't fix". If someone is using persistent storage for
>>>>>>> settings, why launch containers to import the same servers over and over
>>>>>>> again? Just load them once, manually.
>>>>>>>
>>>>>> What if the container needs to be restarted? In that case it will
>>>>>> again import the server making a duplicate entry.
>>>>>>
>>>>>
>>>>> Not if the servers are manually imported rather than through
>>>>> servers.json.
>>>>>
>>>>> --
>>>>> Dave Page
>>>>> pgAdmin: https://www.pgadmin.org
>>>>> PostgreSQL: https://www.postgresql.org
>>>>> EDB: https://www.enterprisedb.com
>>>>>
>>>>> PGDay UK 2024, 11th September, London: https://2024.pgday.uk/
>>>>>
>>>>>
>>>
>>> --
>>> Dave Page
>>> pgAdmin: https://www.pgadmin.org
>>> PostgreSQL: https://www.postgresql.org
>>> EDB: https://www.enterprisedb.com
>>>
>>> PGDay UK 2024, 11th September, London: https://2024.pgday.uk/
>>>
>>>
>
> --
> Dave Page
> pgAdmin: https://www.pgadmin.org
> PostgreSQL: https://www.postgresql.org
> EDB: https://www.enterprisedb.com
>
> PGDay UK 2024, 11th September, London: https://2024.pgday.uk/
>
>
view thread (10+ messages)
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected]
Subject: Re: Require suggestions on issue #7811
In-Reply-To: <CAMa=N=O9_+VKu7RfSguq6EyYAD-dU3Z76FZ+2FT5QWqqJ12yNA@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox