From: | Yogesh Mahajan <yogesh(dot)mahajan(at)enterprisedb(dot)com> |
---|---|
To: | Dave Page <dpage(at)pgadmin(dot)org> |
Cc: | Pravesh Sharma <pravesh(dot)sharma(at)enterprisedb(dot)com>, pgadmin-hackers(at)postgresql(dot)org |
Subject: | Re: Require suggestions on issue #7811 |
Date: | 2024-09-03 11:33:03 |
Message-ID: | CAMa=N=O9_+VKu7RfSguq6EyYAD-dU3Z76FZ+2FT5QWqqJ12yNA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgadmin-hackers |
Hi,
On Tue, Sep 3, 2024 at 3:55 PM Dave Page <dpage(at)pgadmin(dot)org> wrote:
>
>
> On Tue, 3 Sept 2024 at 10:51, Yogesh Mahajan <
> yogesh(dot)mahajan(at)enterprisedb(dot)com> wrote:
>
>>
>> Thanks,
>> Yogesh Mahajan
>> EnterpriseDB
>>
>>
>> On Tue, Sep 3, 2024 at 3:11 PM Dave Page <dpage(at)pgadmin(dot)org> wrote:
>>
>> Hi
>>
>> Hi
>>>
>>> On Tue, 3 Sept 2024 at 10:32, Yogesh Mahajan <
>>> yogesh(dot)mahajan(at)enterprisedb(dot)com> 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 <dpage(at)pgadmin(dot)org> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Tue, 3 Sept 2024 at 09:29, Pravesh Sharma <
>>>>> pravesh(dot)sharma(at)enterprisedb(dot)com> wrote:
>>>>>
>>>>>> Hi Dave,
>>>>>>
>>>>>> On Tue, Sep 3, 2024 at 1:47 PM Dave Page <dpage(at)pgadmin(dot)org> wrote:
>>>>>>
>>>>>>> Hi
>>>>>>>
>>>>>>> On Tue, 3 Sept 2024 at 09:10, Pravesh Sharma <
>>>>>>> pravesh(dot)sharma(at)enterprisedb(dot)com> 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/
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Rohit Bhati | 2024-09-04 11:38:49 | Require suggestions for Issue #2874 |
Previous Message | Dave Page | 2024-09-03 10:24:57 | Re: Require suggestions on issue #7811 |