Bigint datatype i postgres

Bigint datatype i postgres
Et heltalldatatype representerer et utvalg av matematiske heltall. Et heltall kan eller ikke få lov til å inneholde negative verdier. PostgreSQL, som er en moderne databasemotor, gjør det mulig å lagre forskjellige datatyper inkludert heltall.

I denne guiden vil vi fokusere på Bigint Datatype i PostgreSQL.

PostgreSQL heltall

Matematisk er et heltall definert som et helt tall: positivt/negativt tall (inkludert 0). Når vi prøver å lagre et heltall i minnet om en datamaskin, tar det litt plass. Avhengig av størrelsen på et heltall, er den nødvendige størrelsen forskjellig.

Postgres kommer med tre forskjellige heltalldatatyper:

  • SmallInt: 16-bits heltalldata
  • Heltall: 32-bit heltalldata
  • Bigint: 64-bit heltalldata

De Bigint Heltallsdatatype okkuperer 64-biters (eller 8 byte) lagring. Verdien kan være fra -263 til 263-1. For de fleste brukstilfeller er rekkevidden stort nok til å holde heltallverdi.

derimot, Bigint Leveres med flere ulemper. Siden den bruker en så stor mengde minne for hver eneste oppføring, kan det føre til bruk av høyt minne. Det kan også føre til tregere ytelse. Dette er grunnen til Bigint skal bare brukes når det er nødvendig og ikke av luksus.

Forutsetninger

For å utføre trinnene som er demonstrert i denne guiden, trenger du følgende komponenter:

  • Et riktig konfigurert Linux-system. For praksis er det vanlig å snurre en ny virtuell maskin. Lær mer om å installere Ubuntu i VirtualBox.
  • En fungerende postgreSQL -installasjon. Lær mer om å installere PostgreSQL på Ubuntu.

Demonstrasjon av Bigint -bruk

I denne delen vil vi ha en rask demonstrasjon av bruk Bigint å lagre dataene av passende størrelse.

La oss først se raskt på begrensningen av Heltall data-type. Lag en ny tabell for demoen:

Lag tabelldemo_Integer (
ID Seriell primærnøkkel,
Navn varchar (255) Ikke null,
Verdi heltall ikke null sjekk (verdi> 0)
);

Nå skal vi prøve å sette inn et par oppføringer i tabellen:

Sett inn Demo_Integer (navn, verdi)
Verdier
('innen_range', 10000000),
('out_of_range', 9999999999999999999);

Som feilen antyder, verdi av ute av rekkevidde Oppføringen er utenfor rekkevidden av hva Heltall kan lagre. For å lagre verdien, trenger vi Bigint.

Vi kan endre kolonnetypen med følgende spørsmål:

ALTER TABLE DEMO_INTEGER
Alter kolonneverdi Type BigInt;

Prøv nå å sette inn oppføringene igjen:

Sett inn Demo_Integer (navn, verdi)
Verdier
('innen_range', 10000000),
('out_of_range', 9999999999999999999);

Sjekk resultatet:

$ Velg * fra demo_integer;

Konklusjon

I denne guiden diskuterte vi de forskjellige heltalldatatypene som PostgreSQL støtter inkludert Bigint. Vi viste også bruken av Bigint I en enkel demo. Vi jobbet med et demotabell for å demonstrere bruken av Bigint. Hvis det allerede er andre tabeller som er til stede i databasen, kan du sjekke oppføringen av PostgreSQL -tabeller for å holde oversikt over dem. PostgreSQL kommer med mange støttede datatyper. For eksempel boolsk, numerisk, karakter, dato og tid, JSON og mer.

Interessert i å lære mer? PostgreSQL-underkategorien inneholder mange andre guider om de forskjellige aspektene ved PostgreSQL. Glad databehandling!