Viktige punkter
- For å etablere en forbindelse mellom Python og en PostgreSQL-database, må du først laste ned og installere PostgreSQL som passer til operativsystemet ditt. Deretter bruker du psycopg2-biblioteket for selve tilkoblingen.
- pgAdmin4-verktøyet er nyttig for å hente nødvendig serverinformasjon som kreves for å koble til en Postgres-server fra Python.
- Gjennom Python kan du benytte SQL-kommandoer for å utføre oppgaver som å opprette, verifisere eksistensen av, eller slette en PostgreSQL-database.
For Python-applikasjoner som krever datatilgang fra en Postgres-database, er det avgjørende å vite hvordan du oppretter en forbindelse mellom disse to. Når en slik forbindelse er opprettet, kan den brukes til å sende spørringer og hente ut eller lagre data.
Nedlasting og installasjon av PostgreSQL
PostgreSQL fremstår som et utmerket alternativ for dine programmeringsprosjekter. Du kan enkelt laste ned og installere den spesifikke PostgreSQL-versjonen som er kompatibel med ditt operativsystem. Postgres er tilgjengelig for nedlasting på vanlige operativsystemer som Windows, macOS og Ubuntu Linux.
Installasjonsprosedyren vil variere avhengig av operativsystemet. Det anbefales derfor å følge installasjonsinstruksjonene nøye for å sikre en problemfri installasjon.
Installere det nødvendige biblioteket
psycopg2-biblioteket er essensielt for å koble til en PostgreSQL-database fra Python. For å verifisere om biblioteket allerede er installert, kan du kjøre følgende kommando i Python-tolken:
import psycopg2
Dersom det oppstår en feilmelding (for eksempel «No module named «psycopg2′»), må du installere biblioteket ved hjelp av kommandoen nedenfor:
pip install psycopg2
PIP, som er en pakkehåndterer for Python, kan installeres på Windows, Mac eller Linux. Det forenkler installasjonsprosessen av Python-pakker.
Hente innloggingsinformasjon med pgAdmin4
pgAdmin4-applikasjonen gir et grafisk grensesnitt for administrasjon av Postgres-databasene dine. Du kan ha installert det samtidig med Postgres, men det er også mulig å laste ned pgAdmin4 og installere det separat ved behov.
Følg disse trinnene for å hente din serverinnlogging via pgAdmin4:
- Start pgAdmin4 fra applikasjonsmenyen.
- Klikk på «Server»-menyen som finnes på venstre side av applikasjonsskjermen.
- Skriv inn passordet du oppga under Postgres-installasjonen.
- Når du er tilkoblet serveren, høyreklikker du på «PostgreSQL 16»-elementet og velger «Egenskaper».
- I dialogboksen «Egenskaper», trykk på «Tilkobling».
- Noter ned verdiene for vertsnavn, portnummer og brukernavn.
Koble til Postgres-serveren
Med innloggingsinformasjonen tilgjengelig, kan du bruke psycopg2-biblioteket for å etablere en forbindelse til Postgres-serveren. Dette gjøres ved å benytte tilkoblingsfunksjonen som vist her:
conn = psycopg2.connect(host="localhost", port="5432", user="postgres", password='your password here')
Deretter må du benytte markørfunksjonen for å utføre Postgres-kommandoer i et Python-miljø:
cur = conn.cursor()
Til slutt kan du aktivere auto-commit-flagget for å sikre at Python utfører og bekrefter hver enkelt kodeanvisning. Dette eliminerer behovet for å sende separate commit-setninger etter hver kodelinje.
conn.set_session(autocommit = True)
Ved å utføre disse instruksjonene på en gang, kan du koble deg til en lokal instans av Postgres-serveren din.
Hvordan opprette en Postgres-database
En Postgres-database er sentral for å lagre relaterte tabeller. Opprett en ny database ved å bruke CREATE DATABASE SQL-kommandoen. Denne kan sendes til markørobjektets utførelsesmetode:
try:
cur.execute('''CREATE DATABASE DB_NAME''')
except psycopg2.Error as e:
print(e)
Det er viktig å alltid håndtere potensielle feil som kan oppstå. I eksemplet over skrives eventuelle feil ut, men i produksjonskode bør man iverksette mer passende tiltak.
Verifisere databasen i pgAdmin4
Når du har utført spørringen ovenfor, kan du bekrefte at databasen er opprettet i pgAdmin4. Gå til grensesnittet, oppdater listen over eksisterende databaser, og se etter den nyopprettede databasen.
Hvis du for eksempel oppretter en database som heter «musikk» med kommandoen over, bør den vises under «Postgres16 > Databaser» kategorien.
Hvordan slette en Postgres-database
Hvis du ikke lenger trenger en database, kan du bruke kommandoen nedenfor for å slette (eller «slippe») den:
try:
cur.execute('''DROP DATABASE MUSIC''')
except psycopg2.Error as e:
print(e)
I stedet for «create»-kommandoen må du her benytte «drop»-kommandoen. Etter at denne kommandoen er utført, vil ikke den spesifiserte databasen lenger være synlig.