Veerutüüpide mõistmine on andmebaasi administraatorite jaoks ülioluline, kuna see aitab tagada päringu tõhususe ja õige andmetöötluse.
See õpetus uurib erinevaid meetodeid veerutüüpide hankimiseks PostgreSQL-is, sealhulgas selliseid tööriistu nagu PSQL.
Näidistabel
Järgmised näidispäringud näitavad, kuidas luua lihtsat tabelit kolme erinevat tüüpi andmetüübi veeruga.
CREATE TABLE sample_table (
id SERIAL PRIMARY KEY,
nimi VARCHAR(50),
vanus INT
);
Kui oleme määratlenud tabeli, mida kasutame tutvustamise eesmärgil, saame uurida erinevaid meetodeid veerutüüpide toomiseks PostgreSQL-is.
1. meetod: INFORMATION_SCHEMA kasutamine
Kõige tavalisem meetod erinevate andmebaasiobjektide metaandmete toomiseks PostgreSQL-is on kataloogi INFORMATION_SCHEMA kasutamine.
Veerutüübi toomiseks tabeli information_schema abil saame käivitada järgmise päringu:
SELECT tabeli_nimi, veeru_nimi, andmetüüpFROM information_schema.columns
WHERE table_schema = 'avalik';
Eelmine päring hangib avaliku skeemi kõigi veergude tabeli nime, veeru nime ja andmetüübi. Konkreetsest skeemist veergude toomiseks kohandage tingimust table_schema.
Eeldades, et meil on avalikus skeemis ainult tabel sample_table, peaksime nägema väljundit, nagu on näidatud järgmises:
tabeli_nimi | veeru_nimi | andmetüüp--------------+-------------+--------------------
proovi_tabel | id | täisarv
proovi_tabel | vanus | täisarv
proovi_tabel | nimi | iseloom varieeruv
(3 rida)
Nagu näeme, saame tabeli nime, veeru nime ja sellele vastava andmetüübi.
2. meetod: PSQL-käskude kasutamine
Teabe toomiseks antud tabeli veeru kohta saame kasutada ka PSQL-utiliidi käsku “\d”.
Kui olete sihtandmebaasiga ühenduse loonud, kasutage '\d', millele järgneb tabeli nimi, nagu on näidatud järgmises:
\d tabeli_nimiNäide:
\d proovi_tabel;Antud käsk peaks tagastama väljundi järgmiselt:
Väljund sisaldab veergude nimesid, andmetüüpe ja muud tabeli struktuuri teavet.
3. meetod: Pg_attribute kataloogitabeli kasutamine
Samuti saame tabeli veeru andmetüübi hankimiseks teha päringu pg_attribute kataloogitabelist. Päringu süntaks on järgmine:
SELECT attname AS veeru_nimi, vormingu_tüüp(atttypid, atttypmod) AS andmetüüpFROM pg_attribute
WHERE attrlid ='sihttabel'::regclass
JA attnum > 0
JA EI OLE attisdropped;
Asendage parameeter target_table tabeli nimega, millel teie sihtveerg asub.
Näide on järgmine:
SELECT attname AS veeru_nimi, vormingu_tüüp(atttypid, atttypmod) AS andmetüüpFROM pg_attribute
WHERE attrlid = 'sample_table'::regclass
JA attnum > 0
JA EI OLE attisdropped;
See peaks tagastama veergude nimed ja vastava andmetüübi järgmiselt:
Järeldus
Uurisime kolme peamist meetodit tabeli veeru andmetüübi kuvamiseks, kasutades PostgreSQL-i tööriistu. Veeru andmetüübi toomine on tõhusate ja ühilduvate rakenduspäringute koostamiseks hädavajalik.