PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Tên cột và kiểu dữ liệu cho các dạng xem cụ thể hóa trong PostgreSQL?

Tôi nghĩ bạn đang ở rất gần. Bước cuối cùng là tham gia với pg_type :

join pg_catalog.pg_type as tp on tp.oid = attr.atttypid

Trường tp.typname sẽ có kiểu dữ liệu.

Truy vấn sau nhận được các kiểu dữ liệu cột bằng cách sử dụng không gian tên (ví dụ:lược đồ) và tên quan hệ (ví dụ:chế độ xem vật chất hóa):

select 
    attr.attnum,
    ns.nspname as schema_name, 
    cls.relname as table_name, 
    attr.attname as column_name,
    tp.typname as datatype
from pg_catalog.pg_attribute as attr
join pg_catalog.pg_class as cls on cls.oid = attr.attrelid
join pg_catalog.pg_namespace as ns on ns.oid = cls.relnamespace
join pg_catalog.pg_type as tp on tp.oid = attr.atttypid
where 
    ns.nspname = 'your_schema'
    and cls.relname = 'your_materialized_view'
    and attr.attnum >= 1
order by 
    attr.attnum

Bạn phải thay đổi 'your_schema''your_materialized_view' .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để đặt một trường cơ sở dữ liệu nullable thành NULL với kiểu chữ?

  2. Cách đặt đường dẫn nút cho nodejs (Ubuntu)

  3. Có một lần truy cập hiệu suất sử dụng các kiểu dữ liệu thập phân (MySQL / Postgres)

  4. Django Postgres ArrayField tổng hợp và lọc

  5. Nghiên cứu độ chậm của PostGIS (ấn bản 2019)