Supabase som backend som tjeneste · leksjon

Bruk av Postgres-utvidelser

Oppdag hvordan De kan aktivere og bruke kraftige PostgreSQL-utvidelser for å legge til funksjonalitet som UUID-generering eller fulltekstsøk

Leksjon 1 av 311 trinn

Bruk av Postgres-utvidelser er en gratis leksjon i Supabase som backend som tjeneste på CoddyKit. Dette er leksjon 1 av 3. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Supabase som backend som tjeneste, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Supabase som backend som tjeneste inneholder totalt 3 leksjoner.

Hva er Postgres-utvidelser?

PostgreSQL er svært kraftig, men visste du at du kan gjøre det enda bedre? Det er her utvidelser kommer inn!

Utvidelser fungerer omtrent som programtillegg for databasen. De legger til nye funksjoner, datatyper eller operatorer som ikke er tilgjengelige som standard.

Supabase, som er bygget på PostgreSQL, lar deg enkelt aktivere mange av disse utvidelsene for å utvide funksjonaliteten i appen din.

Aktivere utvidelser i Supabase

Det er enkelt å slå på en utvidelse i Supabase. Vanligvis gjør du dette via SQL Editor i Supabase Dashboard.

  • Gå til SQL Editor.
  • Kjør kommandoen: CREATE EXTENSION extension_name;
  • Kontroller at du har administratorrettigheter for databasen.

Når utvidelsen er aktivert, blir de nye funksjonene tilgjengelige i hele databasen.

CREATE EXTENSION "uuid-ossp"; -- Example for UUIDs

Unike ID-er med `uuid-ossp`

Det er avgjørende for mange applikasjoner å generere virkelig unike identifikatorer. PostgreSQLs innebygde SERIAL- eller BIGINT-sekvenser er utmerkede for enkle automatisk inkrementerte ID-er, men de er sekvensielle.

For global unikhet, særlig i distribuerte systemer, er Universally Unique Identifiers (UUID-er) bedre. Utvidelsen uuid-ossp hjelper deg med å generere dem.

Bruke `uuid-ossp`

Etter at du har aktivert uuid-ossp, kan du opprette en tabell med en UUID som primærnøkkel. Slik oppretter du en tabell og setter inn en rad med en generert UUID:

-- First, ensure the extension is enabled (run once in SQL Editor)
-- CREATE EXTENSION IF NOT EXISTS "uuid-ossp";

CREATE TABLE products (
  id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
  name TEXT NOT NULL,
  price NUMERIC
);

INSERT INTO products (name, price) VALUES
('Supabase T-Shirt', 25.00),
('Postgres Mug', 12.50);

SELECT id, name FROM products;

Uskarpt søk med `pg_trgm`

Har du noen gang søkt etter noe, skrevet det feil, men likevel fått relevante resultater? Det er uskarpt søk!

Utvidelsen pg_trgm lar deg utføre likhetssøk basert på trigrammer (sekvenser på tre tegn). Den egner seg godt til funksjoner av typen «mente du?» eller til å finne nære treff.

Bruke `pg_trgm` til likhetssøk

La oss aktivere pg_trgm og se hvordan vi finner produkter med navn som ligner på et søkeord. Vi bruker funksjonen similarity().

-- First, ensure the extension is enabled (run once in SQL Editor)
-- CREATE EXTENSION IF NOT EXISTS pg_trgm;

-- Create a sample table if it doesn't exist
CREATE TABLE IF NOT EXISTS articles (
  id SERIAL PRIMARY KEY,
  title TEXT NOT NULL
);

TRUNCATE TABLE articles; -- Clear previous data for fresh run
INSERT INTO articles (title) VALUES
('PostgreSQL Best Practices'),
('Supabase Authentication Guide'),
('Understanding Postgres Extensions'),
('Postgres Performance Tips');

-- Find titles similar to 'Postgres Extension'
SELECT title, similarity(title, 'Postgres Extension') AS score
FROM articles
WHERE similarity(title, 'Postgres Extension') > 0.3
ORDER BY score DESC;

Nøkkel-verdi med `hstore`

Noen ganger trenger du å lagre fleksible, ustrukturerte data, for eksempel brukerpreferanser eller produktegenskaper, uten å opprette mange nye kolonner.

Utvidelsen hstore tilbyr en datatype for lagring av sett med nøkkel/verdi-par i én enkelt kolonne. Den kan sammenlignes med et lite JSON-objekt, men er optimalisert for enkel lagring av nøkler og verdier som strenger.

Bruke `hstore`

La oss legge til en hstore-kolonne i en tabell og lagre noen fleksible data. Deretter kan du spørre etter dataene ved hjelp av operatorer som -> for å hente en verdi basert på nøkkelen.

-- First, ensure the extension is enabled (run once in SQL Editor)
-- CREATE EXTENSION IF NOT EXISTS hstore;

CREATE TABLE IF NOT EXISTS users (
  id SERIAL PRIMARY KEY,
  name TEXT NOT NULL,
  settings HSTORE
);

TRUNCATE TABLE users; -- Clear previous data for fresh run
INSERT INTO users (name, settings) VALUES
('Alice', 'theme=>dark, notifications=>true'),
('Bob', 'theme=>light, language=>en-US');

-- Query for users with dark theme
SELECT name, settings->'theme' AS user_theme
FROM users
WHERE settings->'theme' = 'dark';

Hvorfor bruke utvidelser?

PostgreSQL-utvidelser gir flere viktige fordeler:

  • Utvidet funksjonalitet: Legg til kraftige funksjoner som ikke er tilgjengelige som standard.
  • Ytelse: Mange er svært optimaliserte C-funksjoner som gir høy hastighet.
  • Enkelhet: Integrer kompleks logikk direkte i databasen.

Vær imidlertid forsiktig med å bli for avhengig av dem, og sørg for at utvidelsen vedlikeholdes godt og er kompatibel med Postgres-versjonen din.

Test av utvidelser

Du har lært om noen kraftige PostgreSQL-utvidelser. La oss teste forståelsen din!

Oppsummering: Gi databasen mer kraft!

I denne leksjonen utforsket vi PostgreSQL-utvidelser! Vi lærte at de fungerer som kraftige programtillegg som utvider funksjonaliteten i databasen.

  • Vi så hvordan du kan aktivere utvidelser i Supabase.
  • Vi brukte uuid-ossp til å generere unike ID-er.
  • Vi brukte pg_trgm til uskarpt søk.
  • Vi brukte hstore til fleksibel nøkkel-verdi-lagring.

Disse utvidelsene hjelper deg med å bygge mer robuste og funksjonsrike applikasjoner direkte i databasen!

Gratis å komme i gang

Lær deg Supabase som backend som tjeneste med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
11
Leksjoner
40

Ofte stilte spørsmål

Er leksjonen «Bruk av Postgres-utvidelser» gratis?

Ja – hele teksten i «Bruk av Postgres-utvidelser» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Supabase som backend som tjeneste-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Supabase som backend som tjeneste inneholder totalt 3 leksjoner.

Hva lærer jeg i «Bruk av Postgres-utvidelser»?

Oppdag hvordan De kan aktivere og bruke kraftige PostgreSQL-utvidelser for å legge til funksjonalitet som UUID-generering eller fulltekstsøk Du øver på Supabase som backend som tjeneste med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Supabase som backend som tjeneste?

Ingen tidligere erfaring er nødvendig. Supabase som backend som tjeneste på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 3.

Hvor lang tid tar leksjonen «Bruk av Postgres-utvidelser»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Supabase som backend som tjeneste-leksjonen?

Ja. Alle Supabase som backend som tjeneste-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Bruk av Postgres-utvidelser
  2. Avanserte geospatiale data (PostGIS)
  3. Fulltekstsøk og vektorinndelinger med pgvector
← Tilbake til Supabase som backend som tjeneste