Supabase som backend-tjeneste · Lektion

Brug af Postgres-udvidelser

Opdag, hvordan du aktiverer og bruger effektive PostgreSQL-udvidelser til at tilføje funktionalitet som UUID-generering eller fuldtekstsøgning.

Lektion 1 af 311 trin

Brug af Postgres-udvidelser er en gratis Supabase som backend-tjeneste-lektion på CoddyKit. Dette er lektion 1 af 3. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Supabase som backend-tjeneste, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Supabase som backend-tjeneste-kurset indeholder 3 lektioner i alt.

Hvad er Postgres-udvidelser?

PostgreSQL er utroligt effektivt, men vidste du, at du kan gøre det endnu bedre? Det er her, udvidelser kommer ind i billedet!

Udvidelser fungerer som plugins til din database. De tilføjer nye funktioner, datatyper eller operatorer, som ikke er tilgængelige som standard.

Supabase er bygget på PostgreSQL og gør det nemt at aktivere mange af disse udvidelser for at udvide din applikations muligheder.

Aktivering af udvidelser i Supabase

Det er enkelt at slå en udvidelse til i Supabase. Du gør det normalt via SQL Editor i dit Supabase-dashboard.

  • Gå til SQL Editor.
  • Kør kommandoen: CREATE EXTENSION extension_name;
  • Sørg for, at du har administratorrettigheder til databasen.

Når udvidelsen er aktiveret, bliver de nye funktioner tilgængelige i hele databasen.

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

Unikke id'er med `uuid-ossp`

Det er afgørende for mange applikationer at generere virkelig unikke identifikatorer. PostgreSQL's indbyggede sekvenser SERIAL eller BIGINT er gode til simple automatisk inkrementerende id'er, men de er sekventielle.

Til global entydighed, især i distribuerede systemer, er universelt unikke identifikatorer (UUID'er) bedre. Udvidelsen uuid-ossp hjælper med at generere dem.

Brug af `uuid-ossp`

Når du har aktiveret uuid-ossp, kan du oprette en tabel med en UUID som primærnøgle. Sådan opretter du en tabel og indsætter en række med et genereret 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;

Upræcis søgning med `pg_trgm`

Har du nogensinde søgt efter noget og stavet det forkert, men stadig fået relevante resultater? Det er upræcis søgning!

Udvidelsen pg_trgm hjælper dig med at udføre lighedssøgninger baseret på trigrammer (sekvenser af tre tegn). Den er god til funktioner som "mente du?" eller til at finde nære match.

Brug af `pg_trgm` til lighedssøgning

Lad os aktivere pg_trgm og se, hvordan vi finder produkter med navne, der ligner et søgeudtryk. Vi bruger funktionen 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øgle-værdi med `hstore`

Nogle gange har du brug for at gemme fleksible, ustrukturerede data, f.eks. brugerpræferencer eller produktegenskaber, uden at oprette mange nye kolonner.

Udvidelsen hstore giver en datatype til lagring af sæt af nøgle/værdi-par i en enkelt kolonne. Den fungerer som et lille JSON-objekt, men er optimeret til simpel lagring af nøgler og værdier som tekst.

Brug af `hstore`

Lad os føje en hstore-kolonne til en tabel og gemme nogle fleksible data. Du kan derefter forespørge på dem ved hjælp af operatorer som -> for at hente en værdi ud fra dens nøgle.

-- 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 bruge udvidelser?

PostgreSQL-udvidelser har flere vigtige fordele:

  • Udvidet funktionalitet: Tilføj effektive funktioner, som ikke er tilgængelige som standard.
  • Ydeevne: Mange af dem er stærkt optimerede C-funktioner, der giver høj hastighed.
  • Enkelhed: Integrér kompleks logik direkte i databasen.

Vær dog opmærksom på overdreven afhængighed, og sørg for, at udvidelsen vedligeholdes godt og er kompatibel med din Postgres-version.

Kontrol af udvidelser

Du har lært om nogle få effektive PostgreSQL-udvidelser. Lad os teste din forståelse!

Opsummering: Giv din database flere kræfter!

I denne lektion udforskede vi PostgreSQL-udvidelsernes verden! Vi lærte, at de fungerer som effektive plugins, der udvider din databases muligheder.

  • Vi så, hvordan du kan aktivere udvidelser i Supabase.
  • Vi brugte uuid-ossp til at generere unikke id'er.
  • Vi brugte pg_trgm til upræcis søgning.
  • Vi brugte hstore til fleksibel nøgle-værdilagring.

Disse udvidelser hjælper dig med at bygge mere robuste og funktionsrige applikationer direkte i databasen!

Gratis at komme i gang

Lær Supabase som backend-tjeneste med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
11
Lektioner
40

Ofte stillede spørgsmål

Er lektionen “Brug af Postgres-udvidelser” gratis?

Ja — hele teksten til “Brug af Postgres-udvidelser” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Supabase som backend-tjeneste-kurset, skal du opgradere til CoddyKit PRO. Supabase som backend-tjeneste-kurset indeholder 3 lektioner i alt.

Hvad lærer jeg i “Brug af Postgres-udvidelser”?

Opdag, hvordan du aktiverer og bruger effektive PostgreSQL-udvidelser til at tilføje funktionalitet som UUID-generering eller fuldtekstsøgning. Du øver dig i Supabase som backend-tjeneste med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Supabase som backend-tjeneste?

Der kræves ingen tidligere erfaring. Supabase som backend-tjeneste på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 3.

Hvor lang tid tager lektionen “Brug af Postgres-udvidelser”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Supabase som backend-tjeneste-lektion?

Ja. Alle Supabase som backend-tjeneste-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Brug af Postgres-udvidelser
  2. Avancerede geospatiale data (PostGIS)
  3. Fuldtekstsøgning og vektorembeddings med pgvector
← Tilbage til Supabase som backend-tjeneste