Postgres Hent kolonnetype

Postgres Hent Kolonnetype



En kolonnetype refererer til det dataformat eller -type, som er tildelt en specifik kolonne i en databasetabel. Kolonnetyper bestemmer den datatype, vi kan gemme i en bestemt kolonne, såsom heltal, tekst, datoer eller boolske værdier.

At forstå kolonnetyperne er afgørende for databaseadministratorer, da det hjælper med at sikre forespørgselseffektiviteten og korrekt datahåndtering.

Denne tutorial udforsker de forskellige metoder til at hente kolonnetyperne i PostgreSQL, herunder værktøjer som PSQL.







Eksempel tabel

Følgende eksempelforespørgsler viser, hvordan man opretter en simpel tabel med tre kolonner med forskellige datatyper:



CREATE TABLE sample_table (
id SERIEPRIMÆR NØGLE,
navn VARCHAR(50),
alder INT
);

Når vi har defineret tabellen, som vi bruger til demonstrationsformål, kan vi udforske de forskellige metoder til at hente kolonnetyperne i PostgreSQL.



Metode 1: Brug af INFORMATION_SCHEMA

Den mest almindelige metode til at hente metadataoplysninger om forskellige databaseobjekter i PostgreSQL er at bruge INFORMATION_SCHEMA-kataloget.





For at hente kolonnetypen ved hjælp af informationsskema-tabellen kan vi køre følgende forespørgsel:

VÆLG tabelnavn, kolonnenavn, datatype
FRA informationsskema.kolonner
WHERE table_schema = 'offentlig';

Den forrige forespørgsel henter tabelnavnet, kolonnenavnet og datatypen for alle kolonner i det offentlige skema. Juster tabelskema-betingelsen for at hente kolonnerne fra et specifikt skema.



Hvis vi antager, at vi kun har sample_table i det offentlige skema, skulle vi se en output som vist i følgende:

tabelnavn  | kolonnenavn | datatype
--------------+--------------+------------------------
sample_table | id          | heltal
sample_table | alder         | heltal
sample_table | navn        | karakter varierende
(3 rækker)

Som vi kan se, får vi tabelnavnet, kolonnenavnet og dets tilsvarende datatype.

Metode 2: Brug af PSQL-kommandoer

Vi kan også bruge kommandoen '\d' fra PSQL-værktøjet til at hente oplysningerne om en given tabelkolonne.

Når du er forbundet til måldatabasen, skal du bruge '\d' efterfulgt af tabelnavnet som vist i følgende:

\d tabelnavn

Eksempel:

\d eksempeltabel;

Den givne kommando skal returnere output som følger:

Outputtet inkluderer kolonnenavne, datatyper og andre tabelstrukturoplysninger.

Metode 3: Brug af Pg_attribute Catalog Table

Vi kan også forespørge pg_attribute-katalogtabellen for at hente datatypen for en tabelkolonne. Forespørgselssyntaksen er som følger:

SELECT attname AS column_name, format_type(atttypid, atttypmod) AS data_type
FROM pg_attribute
WHERE attrelid ='target_table'::regclass
OG attnum > 0
OG IKKE attisdroppet;

Erstat parameteren target_table med det tabelnavn, som din målkolonne findes på.

Et eksempel er som følger:

SELECT attname AS column_name, format_type(atttypid, atttypmod) AS data_type
FROM pg_attribute
WHERE attrelid = 'sample_table'::regclass
OG attnum > 0
OG IKKE attisdroppet;

Dette skulle returnere kolonnenavnene og den tilsvarende datatype som følger:

Konklusion

Vi undersøgte de tre hovedmetoder til at se en tabelkolonnes datatype ved hjælp af PostgreSQL-værktøjerne. Hentning af kolonnedatatypen er afgørende for at opbygge effektive og kompatible applikationsforespørgsler.