Re: Duplicate Key Values

From: mark bradley <markbradyju(at)outlook(dot)com>
To: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
Cc: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Duplicate Key Values
Date: 2025-03-11 18:52:29
Message-ID: SJ2PR22MB4328CEB1B47FC1AC4A996CB3BAD12@SJ2PR22MB4328.namprd22.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

there is an index on node_id as it is the Primary Key.

Why do you think there is not?
My mistake, I misread the output from \d dataset

Can you elaborate more on point 3.

Are you calling the Foreign Key relationships subclassing?

Although I did not explicitly use Postgres to declare inheritance, logically speaking table dataset and processing _node inherit or are subclasses of node because they are subclasses of node in a dataflow diagram.

In terms of keys, this is accomplished by having the node_id key in the node table appear as a foreign key and as a primary key in both the dataset and processing_node tables.

Is there anything in Postgres log at the time you did the above that
showed it did more then a REINDEX?

Not that I can tell.

Best regards,
Mark Brady
amazon.com/author/markjbrady<https://amazon.com/author/markjbrady>
________________________________
From: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
Sent: Tuesday, March 11, 2025 12:00 PM
To: mark bradley <markbradyju(at)outlook(dot)com>
Cc: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Duplicate Key Values

On 3/11/25 08:16, mark bradley wrote:

A)
1) Please do not top post. Either inline or bottom post. It makes
things like the below easier to follow. I wrote the post you responded
to and it took me a bit to catch the b as a reference to:

> b
>

b) Or for any node_ids that where duplicated did reindexing eliminate
all rows with that node_id.

B)
From a previous post of yours:

"
1.
Originally, the key in the node table was a sequence, but I changed it
to a non-sequence.

2.
There is no index on the primary key node_id, and I understand there
should be one.

3.
I didn't explicitly use Postgres inheritance but there are two tables
that are subclasses of node. There are dataset nodes and
processing_node [s] tables. Each is a type of node and have primary
keys that are foreign keys from the node table. This key is node_id.
"

As to point 2, from this message:

https://www.postgresql.org/message-id/75b33741-ee99-4524-b63a-edad21c1266d%40aklaver.com

there is an index on node_id as it is the Primary Key.

Why do you think there is not?

Can you elaborate more on point 3.

Are you calling the Foreign Key relationships subclassing?

C)

> REINDEX TABLE node;
>
> Also reindexed table with node_id as a foreign key in the same way.

Is there anything in Postgres log at the time you did the above that
showed it did more then a REINDEX?

>
>
> Best regards,
> Mark Brady
> _amazon.com/author/markjbrady <https://amazon.com/author/markjbrady>_
> ------------------------------------------------------------------------
> *From:* Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
> *Sent:* Tuesday, March 11, 2025 11:12 AM
> *To:* mark bradley <markbradyju(at)outlook(dot)com>
> *Cc:* pgsql-general <pgsql-general(at)postgresql(dot)org>
> *Subject:* Re: Duplicate Key Values
> On 3/11/25 08:05, mark bradley wrote:
>> The rows that were preserved in the nodes table were the ones that were
>> not dups originally.
>
> 1) To be specific:
>
> a) If there where two or more rows with a node_id, after the reindexing
> was there only one left?
>
> b) Or for any node_ids that where duplicated did reindexing eliminate
> all rows with that node_id.
>
>
> 2) Per post from Greg Sabino Mullane, you need to show us the steps you
> took to reindex the table.
>
>>
>>
>> Best regards,
>> Mark Brady
>> _amazon.com/author/markjbrady <https://amazon.com/author/markjbrady
> <https://amazon.com/author/markjbrady>>_
>> ------------------------------------------------------------------------
>> *From:* Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
>> *Sent:* Tuesday, March 11, 2025 10:56 AM
>> *To:* mark bradley <markbradyju(at)outlook(dot)com>
>> *Cc:* pgsql-general <pgsql-general(at)postgresql(dot)org>
>> *Subject:* Re: Duplicate Key Values
>> On 3/11/25 07:28, mark bradley wrote:
>>> An "interesting" effect of reindexing is that all the records that were
>>> dups in the nodes table were deleted, both copies.
>>
>> I am trying to understand above.
>>
>> Was there at least one row of each node_id left?
>>
>>>
>>> Also, all rows having node_id as a foreign key in other tables were
>>> deleted, which means all rows in these tables were deleted.
>>>
>>> Fortunately these are not huge tables. I will reenter the data, make a
>>> backup, and then try your further extended suggestions.
>>>
>>> Best regards,
>>> Mark Brady
>>> _amazon.com/author/markjbrady <https://amazon.com/author/markjbrady
>> <https://amazon.com/author/markjbrady
> <https://amazon.com/author/markjbrady>>>_
>>
>>
>> --
>> Adrian Klaver
>> adrian(dot)klaver(at)aklaver(dot)com
>>
>
> --
> Adrian Klaver
> adrian(dot)klaver(at)aklaver(dot)com
>

--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message H 2025-03-11 19:21:59 Re: Creating files with testdata
Previous Message Paul Foerster 2025-03-11 18:34:21 Re: Moving from Linux to Linux?