sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur konfigurerar man postgresql för första gången?

De andra svaren var inte helt tillfredsställande för mig. Här är vad som fungerade för postgresql-9.1 på Xubuntu 12.04.1 LTS.

  1. Anslut till standarddatabasen med användarens postgres:

    sudo -u postgres psql mall1

  2. Ställ in lösenordet för användarens postgres, avsluta sedan psql (Ctrl-D):

    ALTER USER postgres med krypterad lösenord 'xxxxxxx';

  3. Redigera pg_hba.conf fil:

    sudo vim /etc/postgresql/9.1/main/pg_hba.conf

    och ändra "peer" till "md5" på raden angående postgres:

    lokala      alla     postgres peer md5

    För att veta vilken version av postgresql du kör, leta efter versionsmappen under /etc/postgresql . Du kan också använda Nano eller annan editor istället för VIM.

  4. Starta om databasen :

    sudo /etc/init.d/postgresql omstart

    (Här kan du kontrollera om det fungerade med psql -U postgres ).

  5. Skapa en användare med samma namn som du (för att hitta den kan du skriva whoami ):

    sudo createuser -U postgres -d -e -E -l -P -r -s <my_name>

    Alternativen säger till postgresql att skapa en användare som kan logga in, skapa databaser, skapa nya roller, är en superanvändare och kommer att ha ett krypterat lösenord. De riktigt viktiga är -P -E, så att du blir ombedd att skriva lösenordet som kommer att krypteras, och -d så att du kan göra en createdb .

    Se upp för lösenord :det kommer först att fråga dig två gånger om det nya lösenordet (för den nya användaren), upprepat och sedan en gång postgres-lösenordet (det som anges i steg 2).

  6. Än en gång, redigera pg_hba.conf fil (se steg 3 ovan), och ändra "peer" till "md5" på raden som gäller "alla" andra användare:

    lokal      alla     alla peer md5

  7. Starta om (som i steg 4), och kontrollera att du kan logga in utan -U postgres:

    psql mall1

    Observera att om du bara gör en psql , kommer det att misslyckas eftersom det kommer att försöka ansluta dig till en standarddatabas med samma namn som du (dvs. whoami ). mall1 är administratörsdatabasen som finns här från början.

  8. Nu createdb <dbname> borde fungera.



  1. Returnera rader i exakt den ordning de infogades

  2. Simulera ORDER BY i SQLite UPDATE för att hantera unikhetsbegränsningar

  3. Sqlite-databas uppdaterar en rad android

  4. Dålig praxis i databasdesign