Hur man ansluter och använder PostgreSQL i Python

Viktiga punkter

  • För att interagera med en PostgreSQL-databas från Python, ladda först ner och installera PostgreSQL anpassad för ditt operativsystem. Använd sedan `psycopg2` för att upprätta anslutningen.
  • Använd pgAdmin4 för att identifiera nödvändig serverinformation, som sedan används för att ansluta från Python.
  • Genom att använda SQL-kommandon direkt i Python kan du skapa, undersöka eller radera PostgreSQL-databaser.

När ett Python-program behöver interagera med en Postgres-databas, är det avgörande att förstå hur man etablerar en länk mellan dessa två. En etablerad anslutning tillåter att utföra SQL-frågor, vilket möjliggör hämtning och lagring av data.

Ladda ner och installera PostgreSQL

PostgreSQL är ett utmärkt alternativ för databashantering i dina programmeringsprojekt. Du kan ladda ner och installera den specifika versionen av PostgreSQL som är kompatibel med ditt operativsystem. Postgres är tillgängligt för nedladdning för populära operativsystem som Windows, macOS och Ubuntu Linux.

Installationsprocessen kan variera beroende på operativsystem, och det är viktigt att noggrant följa anvisningarna för att säkerställa en problemfri installation.

Installera det nödvändiga biblioteket

Biblioteket `psycopg2` gör det möjligt att ansluta till en PostgreSQL-databas från Python. För att verifiera om biblioteket är installerat, kör följande kommando i Python-tolken:

import psycopg2

Om ett felmeddelande visas (t.ex. ”Ingen modul med namnet ’psycopg2′”), måste du installera biblioteket med följande kommando:

pip install psycopg2

PIP är en Python-pakethanterare som är tillgänglig för Windows, Mac och Linux. Den förenklar installationen av Python-paket.

Hämta anslutningsuppgifter med pgAdmin4

pgAdmin4 är en applikation som erbjuder ett grafiskt gränssnitt för att administrera dina Postgres-databaser. Även om den kanske installerades samtidigt som Postgres, kan du ladda ner pgAdmin4 och installera den separat vid behov.

Följ dessa steg för att hitta dina serveranslutningsuppgifter i pgAdmin4:

  • Starta pgAdmin4 från din applikationslista.
  • Lokalisera och klicka på ”Servers”-menyn i den vänstra delen av applikationsfönstret.
  • Ange det Postgres-lösenord som du angav under installationsprocessen.
  • När anslutningen till servern är etablerad, högerklicka på ”PostgreSQL 16”-objektet och välj ”Egenskaper”.
  • I dialogrutan ”Egenskaper”, välj fliken ”Anslutning”.
  • Notera noggrant värdnamn, portnummer och användarnamn.
  • Anslut till Postgres-servern

    Med din anslutningsinformation kan du använda `psycopg2`-biblioteket för att skapa en anslutning till din Postgres-server. Använd anslutningsfunktionen på följande sätt:

    conn = psycopg2.connect(host="localhost", port="5432", user="postgres", password='ditt lösenord här')

    Därefter behöver du skapa en cursor för att utföra Postgres-kommandon i Python:

    cur = conn.cursor()

    Slutligen kan du aktivera automatisk commit för att säkerställa att varje kommando i Python exekveras och genomförs automatiskt. Detta eliminerar behovet av separata commit-kommandon efter varje kodrad.

    conn.set_session(autocommit = True)

    Dessa steg kan köras samlat för att upprätta en anslutning till en lokal instans av din Postgres-server.

    Hur man skapar en Postgres-databas

    En Postgres-databas är central för att lagra en samling av relaterade tabeller. Du kan skapa en ny databas med SQL-kommandot `CREATE DATABASE`. Kommandot skickas till kursorns exekveringsmetod:

    try:
    cur.execute('''CREATE DATABASE DATABAS_NAMN''')
    except psycopg2.Error as e:
    print(e)

    Det är viktigt att hantera eventuella fel som kan uppstå. I detta exempel skrivs alla fel ut, men i produktionsmiljöer bör mer avancerade åtgärder vidtas.

    Kontrollera databasen i pgAdmin4

    Efter att du har kört ovanstående kommando kan du verifiera att databasen har skapats i pgAdmin4. Öppna gränssnittet, uppdatera listan över databaser och sök efter din nya databas.

    Om du till exempel skapar en databas med namnet ”musik” med ovanstående kommando, ska den visas under kategorin ”Postgres16 > Databaser”.

    Hur man tar bort en Postgres-databas

    Om du inte längre behöver en viss databas kan du använda följande kommando för att ta bort den (även känt som ”släppa” databasen):

    try:
    cur.execute('''DROP DATABASE MUSIK''')
    except psycopg2.Error as e:
    print(e)

    I stället för `CREATE`-kommandot ska du använda `DROP`-kommandot. Efter att du har kört detta kommando kommer databasen inte längre att visas i listan.