PostgreSQL 9.1 kullanıyorum. Bir tablonun sütun adına sahibim. Bu sütuna sahip olan tabloları bulmak mümkün mü? Öyleyse nasıl?
PostgreSQL 9.1 kullanıyorum. Bir tablonun sütun adına sahibim. Bu sütuna sahip olan tabloları bulmak mümkün mü? Öyleyse nasıl?
Yanıtlar:
sistem kataloglarını sorgulayabilirsiniz :
select c.relname
from pg_class as c
inner join pg_attribute as a on a.attrelid = c.oid
where a.attname = <column name> and c.relkind = 'r'
Sen de yapabilirsin
select table_name from information_schema.columns where column_name = 'your_column_name'
@Roman Pekar sorgusunu temel olarak kullandım ve şema adını ekledim (benim durumumla alakalı)
select n.nspname as schema ,c.relname
from pg_class as c
inner join pg_attribute as a on a.attrelid = c.oid
inner join pg_namespace as n on c.relnamespace = n.oid
where a.attname = 'id_number' and c.relkind = 'r'
Joker Karakter Desteği Bulmak istediğiniz dizeyi içeren tablo şemasını ve tablo adını bulun.
select t.table_schema,
t.table_name
from information_schema.tables t
inner join information_schema.columns c on c.table_name = t.table_name
and c.table_schema = t.table_schema
where c.column_name like '%STRING%'
and t.table_schema not in ('information_schema', 'pg_catalog')
and t.table_type = 'BASE TABLE'
order by t.table_schema;
select t.table_schema,
t.table_name
from information_schema.tables t
inner join information_schema.columns c on c.table_name = t.table_name
and c.table_schema = t.table_schema
where c.column_name = 'name_colum'
and t.table_schema not in ('information_schema', 'pg_catalog')
and t.table_type = 'BASE TABLE'
order by t.table_schema;