sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvordan konfigurerer man postgresql for første gang?

De andre svar var ikke helt tilfredsstillende for mig. Her er, hvad der fungerede for postgresql-9.1 på Xubuntu 12.04.1 LTS.

  1. Opret forbindelse til standarddatabasen med brugerens postgres:

    sudo -u postgres psql skabelon1

  2. Indstil adgangskoden til brugerens postgres, og afslut derefter psql (Ctrl-D):

    ALTER USER postgres med krypteret adgangskode 'xxxxxxx';

  3. Rediger pg_hba.conf fil:

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

    og skift "peer" til "md5" på linjen vedrørende postgres:

    lokale      alle     postgres peer md5

    For at vide, hvilken version af postgresql du kører, skal du kigge efter versionsmappen under /etc/postgresql . Du kan også bruge Nano eller en anden editor i stedet for VIM.

  4. Genstart databasen :

    sudo /etc/init.d/postgresql genstart

    (Her kan du tjekke om det virkede med psql -U postgres ).

  5. Opret en bruger med samme navn som dig (for at finde den kan du skrive whoami ):

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

    Indstillingerne fortæller postgresql at oprette en bruger, der kan logge ind, oprette databaser, oprette nye roller, er en superbruger og vil have en krypteret adgangskode. De virkelig vigtige er -P -E, så du bliver bedt om at indtaste adgangskoden, der vil blive krypteret, og -d, så du kan lave en createdb .

    Pas på adgangskoder :det vil først bede dig to gange om den nye adgangskode (for den nye bruger), gentaget og derefter én gang postgres-adgangskoden (den angivet i trin 2).

  6. Igen, rediger pg_hba.conf fil (se trin 3 ovenfor), og skift "peer" til "md5" på linjen vedrørende "alle" andre brugere:

    lokale      alle     alle peer md5

  7. Genstart (som i trin 4), og kontroller, at du kan logge ind uden -U postgres:

    psql skabelon1

    Bemærk, at hvis du blot laver psql , vil det mislykkes, da det vil forsøge at forbinde dig til en standarddatabase med samme navn som dig (dvs. whoami ). template1 er den admin database, der er her fra starten.

  8. Nu createdb burde virke.



  1. Hvordan bruger jeg CONCAT-funktionen i SQL Server 2008 R2?

  2. Indsæt flere rækker UDEN at gentage INSERT INTO ...-delen af ​​sætningen?

  3. SQLITE kan ikke opgradere skrivebeskyttet database fra version 1 til 2

  4. Træk dage fra en dato i PostgreSQL