Обсуждение: Why there is no records?
Hi,
draft=# SELECT n.nspname, c.oid FROM pg_constraint c, pg_namespace n
WHERE c.oid = n.oid AND c.conname = 'leagues_pkey';
nspname | oid
---------+-----
(0 rows)
draft=# SELECT * FROM pg_constraint WHERE conname = 'leagues_pkey';
oid | conname | connamespace | contype | condeferrable |
condeferred | convalidated | conrelid | contypid | conindid |
conparentid | confrelid | confupdtype | confdeltype | confmatchtype |
conislocal | coninhcount | connoinherit | conkey | confkey | conpfeqop
| conppeqop | conffeqop | confdelsetcols | conexclop | conbin
-------+--------------+--------------+---------+---------------+-------------+--------------+----------+----------+----------+-------------+-----------+-------------+-------------+---------------+------------+-------------+--------------+--------+---------+-----------+-----------+-----------+----------------+-----------+--------
16395 | leagues_pkey | 2200 | p | f | f
| t | 16390 | 0 | 16394 | 0 |
0 | | | | t |
0 | t | {1} | | | |
| | |
(1 row)
Thank you.
## Igor Korot (ikorot01@gmail.com): > draft=# SELECT n.nspname, c.oid FROM pg_constraint c, pg_namespace n > WHERE c.oid = n.oid AND c.conname = 'leagues_pkey'; Because you're joining on the wrong column, see 3rd row of https://www.postgresql.org/docs/current/catalog-pg-constraint.html Regards, Christoph -- Spare Space
On 2/16/26 15:59, Igor Korot wrote:
> Hi,
>
> draft=# SELECT n.nspname, c.oid FROM pg_constraint c, pg_namespace n
> WHERE c.oid = n.oid AND c.conname = 'leagues_pkey';
Because you are doing:
c.oid = n.oid
which is comparing the pg_constraint.oid to the pg_namespace.oid which
are not the same thing.
You need:
c.connamespace = n.oid
> nspname | oid
> ---------+-----
> (0 rows)
>
> draft=# SELECT * FROM pg_constraint WHERE conname = 'leagues_pkey';
> oid | conname | connamespace | contype | condeferrable |
> condeferred | convalidated | conrelid | contypid | conindid |
> conparentid | confrelid | confupdtype | confdeltype | confmatchtype |
> conislocal | coninhcount | connoinherit | conkey | confkey | conpfeqop
> | conppeqop | conffeqop | confdelsetcols | conexclop | conbin
>
-------+--------------+--------------+---------+---------------+-------------+--------------+----------+----------+----------+-------------+-----------+-------------+-------------+---------------+------------+-------------+--------------+--------+---------+-----------+-----------+-----------+----------------+-----------+--------
> 16395 | leagues_pkey | 2200 | p | f | f
> | t | 16390 | 0 | 16394 | 0 |
> 0 | | | | t |
> 0 | t | {1} | | | |
> | | |
> (1 row)
>
> Thank you.
>
>
--
Adrian Klaver
adrian.klaver@aklaver.com
Thx.
On Mon, Feb 16, 2026 at 6:03 PM Adrian Klaver <adrian.klaver@aklaver.com> wrote:
>
> On 2/16/26 15:59, Igor Korot wrote:
> > Hi,
> >
> > draft=# SELECT n.nspname, c.oid FROM pg_constraint c, pg_namespace n
> > WHERE c.oid = n.oid AND c.conname = 'leagues_pkey';
>
> Because you are doing:
>
> c.oid = n.oid
>
> which is comparing the pg_constraint.oid to the pg_namespace.oid which
> are not the same thing.
>
> You need:
>
> c.connamespace = n.oid
>
>
> > nspname | oid
> > ---------+-----
> > (0 rows)
> >
> > draft=# SELECT * FROM pg_constraint WHERE conname = 'leagues_pkey';
> > oid | conname | connamespace | contype | condeferrable |
> > condeferred | convalidated | conrelid | contypid | conindid |
> > conparentid | confrelid | confupdtype | confdeltype | confmatchtype |
> > conislocal | coninhcount | connoinherit | conkey | confkey | conpfeqop
> > | conppeqop | conffeqop | confdelsetcols | conexclop | conbin
> >
-------+--------------+--------------+---------+---------------+-------------+--------------+----------+----------+----------+-------------+-----------+-------------+-------------+---------------+------------+-------------+--------------+--------+---------+-----------+-----------+-----------+----------------+-----------+--------
> > 16395 | leagues_pkey | 2200 | p | f | f
> > | t | 16390 | 0 | 16394 | 0 |
> > 0 | | | | t |
> > 0 | t | {1} | | | |
> > | | |
> > (1 row)
> >
> > Thank you.
> >
> >
>
>
> --
> Adrian Klaver
> adrian.klaver@aklaver.com