Att förstå kolumntyperna är avgörande för databasadministratörer eftersom det hjälper till att säkerställa frågeeffektiviteten och korrekt datahantering.
Denna handledning utforskar de olika metoderna för att hämta kolumntyperna i PostgreSQL inklusive verktyg som PSQL.
Exempeltabell
Följande exempelfrågor visar hur man skapar en enkel tabell med tre kolumner med olika datatyper:
CREATE TABLE sample_table (
ID SERIELL PRIMÄRNYCKEL,
namn VARCHAR(50),
ålder INT
);
När vi väl har definierat tabellen som vi använder för demonstrationsändamål kan vi utforska de olika metoderna för att hämta kolumntyperna i PostgreSQL.
Metod 1: Använd INFORMATION_SCHEMA
Den vanligaste metoden för att hämta metadatainformation om olika databasobjekt i PostgreSQL är att använda INFORMATION_SCHEMA-katalogen.
För att hämta kolumntypen med informationsschematabellen kan vi köra följande fråga:
VÄLJ tabellnamn, kolumnnamn, datatypFRÅN information_schema.columns
WHERE table_schema = 'public';
Den föregående frågan hämtar tabellnamnet, kolumnnamnet och datatypen för alla kolumner i det offentliga schemat. Justera villkoret table_schema för att hämta kolumnerna från ett specifikt schema.
Om vi antar att vi bara har sample_table i det offentliga schemat, bör vi se en utdata som visas i följande:
tabellnamn | kolumnnamn | data typ--------------+-------------+------------------------
sample_table | id | heltal
sample_table | ålder | heltal
sample_table | namn | karaktär varierande
(3 rader)
Som vi kan se får vi tabellnamnet, kolumnnamnet och dess motsvarande datatyp.
Metod 2: Använda PSQL-kommandon
Vi kan också använda kommandot '\d' från PSQL-verktyget för att hämta information om en given tabellkolumn.
När du är ansluten till måldatabasen, använd '\d' följt av tabellnamnet som visas i följande:
\d tabellnamnExempel:
\d exempeltabell;Det givna kommandot ska returnera utdata enligt följande:
Utdata inkluderar kolumnnamn, datatyper och annan tabellstrukturinformation.
Metod 3: Använda katalogtabellen Pg_attribute
Vi kan också fråga katalogtabellen pg_attribute för att hämta datatypen för en tabellkolumn. Frågesyntaxen är som följer:
VÄLJ attnamn AS kolumnnamn, format_typ(atttypid, atttypmod) AS datatypFROM pg_attribute
WHERE attrelid ='target_table'::regclass
OCH attnum > 0
OCH INTE attisdroppad;
Ersätt parametern target_table med tabellnamnet som din målkolumn finns på.
Ett exempel är följande:
VÄLJ attnamn AS kolumnnamn, format_typ(atttypid, atttypmod) AS datatypFROM pg_attribute
WHERE attrelid = 'sample_table'::regclass
OCH attnum > 0
OCH INTE attisdroppad;
Detta bör returnera kolumnnamnen och motsvarande datatyp enligt följande:
Slutsats
Vi utforskade de tre huvudsakliga metoderna för att se en tabellkolumns datatyp med hjälp av PostgreSQL-verktygen. Att hämta kolumndatatypen är viktigt för att skapa effektiva och kompatibla applikationsfrågor.