Sådan opretter du en database i PostgreSQL

⚡ Smart opsummering

PostgreSQL Med Create Database-operationer kan du opbygge en ny database ved hjælp af enten psql-kommandolinjeshellen eller det grafiske værktøj pgAdmin. CREATE DATABASE-sætningen accepterer også indstillinger for ejer, skabelon, kodning, sortering, tabelområde og forbindelsesgrænse.

  • 💻 Kommandolinje: Åbn SQL Shell (psql), opret forbindelse til serveren, og kør CREATE DATABASE for at oprette en ny database.
  • 🖱️ pgAdmin GUI: Højreklik på Databaser i objekttræet, vælg Opret, navngiv databasen, og gem den visuelt.
  • 📝 Grundlæggende syntaks: Den minimale kommando er CREATE DATABASE databasename, som opbygger en database med standardindstillinger.
  • 🇧🇷 Fuldstændige muligheder: OWNER, TEMPLATE, ENCODING, LC_COLLATE, LC_CTYPE, TABLESPACE og CONNECTION LIMIT tilpasser den nye database.
  • 🔌 Opret forbindelse og bekræft: Brug \l til at liste databaser og \c databasename til at oprette forbindelse til den, du har oprettet.
  • ⚠️ Almindelige fejl: Hold øje med fejlene createdb not found (oprettet b ikke fundet), server not running (server kører ikke), manglende rolle (rolle mangler) og permission-denied (tilladelse nægtet).

Sådan opretter du en database i PostgreSQL

Syntaksen til at oprette en database i PostgreSQL is

CREATE DATABASE databasename

Lad os lære at sætte op PostgreSQL og hvordan man opretter database i PostgreSQL kommandolinje og GUI

PSQL Create Database Command Line (SQL Shell)

Trin 1) Åbn SQL Shell

PSQL Opret database kommandolinje

Trin 2) Tryk på enter fem gange for at oprette forbindelse til DB

PSQL Opret database kommandolinje

Trin 3) Indtast kommandoen

CREATE DATABASE guru99;

PSQL Opret database kommandolinje

Trin 4) Indtast kommando \l for at få en liste over alle databaser

PSQL Opret database kommandolinje

Trin 5) Brug for at oprette forbindelse til en database PostgreSQL database kommando

\c guru99

PSQL Opret database kommandolinje

Spørg ændringer til guru99, hvilket betyder, at vi er forbundet til databasen guru99 og kan udføre operationer som at oprette tabel, udløse, udføre SQL på det.

PostgreSQL Opret database ved hjælp af pgAdmin

Trin 1) I objekttræet skal du højreklikke og vælge opret en database for at Postgres oprette database

PostgreSQL Opret database ved hjælp af pgAdmin

Trin 2) I pop op-vinduet

  1. Indtast databasenavn
  2. Kommenter, hvis der er nogen database – valgfrit
  3. Klik på Gem

PostgreSQL Opret database ved hjælp af pgAdmin

Trin 3) DB oprettes og vises i objekttræet.

PostgreSQL Opret database ved hjælp af pgAdmin

Trin 4) Den højre rude giver dig den SQL, der blev brugt til at oprette databasen.

PostgreSQL Opret database ved hjælp af pgAdmin

Komplet syntaks for at oprette en database

Her er komplet syntaks til at oprette en DB i PostgreSQL

CREATE DATABASE db_name
OWNER =  role_name
TEMPLATE = template
ENCODING = encoding
LC_COLLATE = collate
LC_CTYPE = ctype
TABLESPACE = tablespace_name
CONNECTION LIMIT = max_concurrent_connection
Option Beskrivelse
db_navn Brug denne indstilling til at angive navnet på den nye database, du vil oprette. Selvom du skal sikre dig, at Database skal være unik, fordi hvis du forsøger at oprette en ny database med samme navn som en eksisterende database, PostgreSQL vil vise en fejl.
rolle_navn Brug denne parameter til at definere rollenavnet for den bruger, der skal eje den nye database. Standard er postgres
Skabelon Du kan angive databaseskabelonnavnet, som du vil oprette den nye database fra.
Kodning Denne parameter gør det muligt at angive tegnsætkodning for den nye database. Standard er UTF8
Sætvis Kollationsparameteren angiver sorteringsrækkefølgen af ​​strenge, der påvirker resultatet af ORDER BY-sætningen, mens du bruger en SELECT-sætning.
Ctype Den specificerer karakterklassificeringen for den nye database. Det påvirker kategoriseringen, fx ciffer, nedre og øvre.
tablespace_name Ved at bruge denne indstilling kan du angive tablespace-navnet for den nye database. Standarden er skabelondatabasens tablespace.
max_concurrent_connection Brug denne indstilling til at angive de maksimale samtidige forbindelser til den nye database. Standarden er -1, dvs. ubegrænset.

Almindelige fejl under brug af createb-kommandoen

Fejl Beskrivelse
createb kommando blev ikke fundet. Denne form for fejl kan opstå, når PostgreSQL er ikke installeret korrekt. På det tidspunkt skal du køre createb-kommandoen fra din PostgreSQL installationsvej.
Ingen sådan fil på serveren kører lokalt og accepterer forbindelser på Unix-domæne-socket. Denne fejl opstår når PostgreSQL Serveren er ikke startet korrekt, eller den blev ikke startet, hvor createb-kommandoen vil have den til at starte.
FATAL rolle "usr name" eksisterer ikke Denne fejl kan opstå, hvis PostgreSQL Der oprettes en brugerkonto, som adskiller sig fra systembrugerkonti.
Tilladelse nægtet til at oprette en database Hvis PostgreSQL konto er oprettet har ikke tilladelse til at oprette en database. I dette tilfælde skal du give tilladelse til de tilknyttede brugere for at få adgang til kommandoen oprette.

Ofte Stillede Spørgsmål

PostgreSQL opretter som standard en database med navnet postgres under installationen. Den fungerer som standardforbindelsesmål for værktøjer og superbrugere, og den bruges som et arbejdsområde, før du opretter dine egne databaser.

Brug kommandoen ALTER DATABASE, for eksempel ALTER DATABASE oldname RENAME TO newname. Du skal være forbundet til en anden database, og ingen andre sessioner må bruge den database, du omdøber.

En skabelondatabase er en model, der PostgreSQL kopier, når der oprettes en ny database. template1 er standardskabelonen, så ethvert objekt, der tilføjes til den, vises i alle nye databaser. template0 er en ren, uændret kopi.

AI kan generere en komplet CREATE DATABASE-sætning ud fra en simpel beskrivelse, hvor ejer-, kodnings- og sorteringsindstillingerne udfyldes korrekt. Den forklarer også hver klausul, helping Begyndere undgår syntaks- og konfigurationsfejl.

Ja. AI kan læse fejl som 'tilladelse nægtet' eller 'rollen findes ikke', forklare årsagen og foreslå præcis den GRANT- eller rollekommando, der er nødvendig for at løse problemet hurtigt.

Opsummer dette indlæg med: