Re: schema diff tool problem with owner statements

From: postgresql(at)yawebhost(dot)com
To: Akshay Joshi <akshay(dot)joshi(at)enterprisedb(dot)com>, postgresql(at)yawebhost(dot)com
Cc: "pgadmin-support lists(dot)postgresql(dot)org" <pgadmin-support(at)lists(dot)postgresql(dot)org>
Subject: Re: schema diff tool problem with owner statements
Date: 2021-11-12 15:17:03
Message-ID: 0100017d14b93aa1-4d7b2f11-0109-42fd-b85d-2daf6f86f6cc-000000@email.amazonses.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-support

Thanks for the reply, comment embedded below:

On 11/11/21 11:58 PM, Akshay Joshi wrote:
> Hi
>
> On Fri, Nov 12, 2021 at 12:45 AM <postgresql(at)yawebhost(dot)com> wrote:
>
> I'm trying to compare 2 schemas (devschema is the source and
> testschema
> is the target) and generate a script that can be run on the target
> that
> will create the missing tables.  I ran the schema diff, and it
> generated
> items like this:
>
> CREATE TABLE IF NOT EXISTS tablename
> (
> fields, etc
> )
> TABLESPACE pg_default;
>
> ALTER TABLE IF EXISTS public.tablename
>      OWNER to devschema;
>
>
> When I run the script on testschema, I don't want it trying to
> alter the
> owner of the table because that statement will fail anyway.
>
> I found a setting in "preferences" called "ignore owner", and set
> it to
> true (If set to True, then the Schema Diff tool ignores the owner
> while
> comparing the objects.)
>
> However, this setting has no effect.  The alter table statements
> still
> get generated, and I am left to remove them manually.
>
> If there is something I'm doing wrong please let me now.  I swear
> this
> setting worked many months ago when I used this tool, but it seems to
> not be working now.
>
> Version 6.1 (downloaded and updated today)
>
>
>     This is by design, as at the time of comparison or generating the
> script we can't check the owner is exist on the target schema or not.
> Consider the case where the owner exists and the user wants to run the
> same DDL statement. I think the user needs to manually change the ow
> ner. There is a find and replace option in the query tool by which we
> can easily replace.

Maybe I'm missing something (I don't know a lot about postgres
internals, all I want is to copy tables over).  That setting in the
preferences SEEMS to be what I need here.  I'd simply like the diff tool
to ignore the differences in the owner, and not generate the "ALTER
TABLE IF EXISTS public.tablename  OWNER to devschema;" statement.  My
script will run fine on the target if I delete all those alter table
statements, and it will also run fine if I search and replace
'devschema' with 'testschema', but I'd rather not have to do either of
those.  Isn't this a common use case when the user wants to get 2
schemas "in sync" but they don't care about the fact that the owner of
the objects on the source and target is different..?

>
> Thank you,
>
> Wes
>
>
>
>
>
> --
> *Thanks & Regards*
> *Akshay Joshi*
> *pgAdmin Hacker | Principal Software Architect*
> *EDB Postgres <http://edbpostgres.com>*
> *Mobile: +91 976-788-8246
> *

In response to

Responses

Browse pgadmin-support by date

  From Date Subject
Next Message toni incog 2021-11-13 15:48:12 Re: pgadmin4 for fedora 35
Previous Message Akshay Joshi 2021-11-12 05:58:30 Re: schema diff tool problem with owner statements