Å forstå kolonnetypene er avgjørende for databaseadministratorer, da det bidrar til å sikre søkeeffektiviteten og riktig datahåndtering.
Denne opplæringen utforsker de ulike metodene for å hente kolonnetypene i PostgreSQL, inkludert verktøy som PSQL.
Eksempeltabell
Følgende eksempelspørringer viser hvordan du lager en enkel tabell med tre kolonner med ulike datatyper:
CREATE TABLE sample_table (
id SERIE PRIMÆR NØKKEL,
navn VARCHAR(50),
alder INT
);
Når vi har definert tabellen som vi bruker til demonstrasjonsformål, kan vi utforske de ulike metodene for å hente kolonnetypene i PostgreSQL.
Metode 1: Bruk av INFORMATION_SCHEMA
Den vanligste metoden for å hente metadatainformasjon om ulike databaseobjekter i PostgreSQL er å bruke INFORMATION_SCHEMA-katalogen.
For å hente kolonnetypen ved å bruke informasjonsskjematabellen, kan vi kjøre følgende spørring:
VELG tabellnavn, kolonnenavn, datatypeFRA informasjonsskjema.kolonner
WHERE table_schema = 'public';
Den forrige spørringen henter tabellnavnet, kolonnenavnet og datatypen for alle kolonnene i det offentlige skjemaet. Juster tabellskjema-betingelsen for å hente kolonnene fra et spesifikt skjema.
Forutsatt at vi bare har sample_table i det offentlige skjemaet, bør vi se en utgang som vist i følgende:
tabellnavn | kolonnenavn | data-type--------------+-------------+------------------------
sample_table | id | heltall
sample_table | alder | heltall
sample_table | navn | karakter varierende
(3 rader)
Som vi kan se, får vi tabellnavnet, kolonnenavnet og dens tilsvarende datatype.
Metode 2: Bruke PSQL-kommandoer
Vi kan også bruke kommandoen '\d' fra PSQL-verktøyet for å hente informasjonen om en gitt tabellkolonne.
Når du er koblet til måldatabasen, bruk '\d' etterfulgt av tabellnavnet som vist i følgende:
\d tabellnavnEksempel:
\d eksempeltabell;Den gitte kommandoen skal returnere utdataene som følger:
Utdataene inkluderer kolonnenavn, datatyper og annen tabellstrukturinformasjon.
Metode 3: Bruke Pg_attribute Catalog Table
Vi kan også spørre pg_attribute-katalogtabellen for å hente datatypen til en tabellkolonne. Spørringssyntaksen er som følger:
SELECT attname AS column_name, format_type(atttypid, atttypmod) AS data_typeFROM pg_attribute
WHERE attrelid ='target_table'::regclass
OG attnum > 0
OG IKKE attisdroppet;
Erstatt target_table-parameteren med tabellnavnet som målkolonnen ligger på.
Et eksempel er som følger:
SELECT attname AS column_name, format_type(atttypid, atttypmod) AS data_typeFROM pg_attribute
WHERE attrelid = 'sample_table'::regclass
OG attnum > 0
OG IKKE attisdroppet;
Dette skal returnere kolonnenavnene og den tilsvarende datatypen som følger:
Konklusjon
Vi utforsket de tre hovedmetodene for å se en tabellkolonnes datatype ved å bruke PostgreSQL-verktøyene. Henting av kolonnedatatypen er avgjørende for å bygge effektive og kompatible applikasjonsspørringer.