Обсуждение: Why there is no records?

Поиск
Список
Период
Сортировка

Why there is no records?

От
Igor Korot
Дата:
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.



Re: Why there is no records?

От
Christoph Moench-Tegeder
Дата:
## 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



Re: Why there is no records?

От
Adrian Klaver
Дата:
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



Re: Why there is no records?

От
Igor Korot
Дата:
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