sql >> Databáze >  >> RDS >> PostgreSQL

Jak nakonfigurovat postgresql poprvé?

Ostatní odpovědi mě úplně neuspokojily. Zde je to, co fungovalo pro postgresql-9.1 na Xubuntu 12.04.1 LTS.

  1. Připojte se k výchozí databázi pomocí uživatelského postgres:

    sudo -u postgres psql template1

  2. Nastavte heslo pro uživatele postgres a poté ukončete psql (Ctrl-D):

    ALTER USER postgres se zašifrovaným heslem 'xxxxxxx';

  3. Upravte soubor pg_hba.conf soubor:

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

    a změňte "peer" na "md5" na řádku týkajícím se postgres:

    místní      všechny     postgres peer md5

    Chcete-li vědět, jakou verzi postgresql používáte, vyhledejte složku verze v /etc/postgresql . Místo VIM můžete také použít Nano nebo jiný editor.

  4. Restartujte databázi:

    sudo /etc/init.d/postgresql restart

    (Zde můžete zkontrolovat, zda to fungovalo s psql -U postgres ).

  5. Vytvořte uživatele se stejným jménem jako vy (abyste ho našli, můžete napsat whoami ):

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

    Možnosti říkají postgresql, aby vytvořil uživatele, který se může přihlásit, vytvářet databáze, vytvářet nové role, je superuživatel a bude mít zašifrované heslo. Ty opravdu důležité jsou -P -E, takže budete požádáni o zadání hesla, které bude zašifrováno, a -d, abyste mohli provést createdb .

    Pozor na hesla :nejprve se vás dvakrát zeptá na nové heslo (pro nového uživatele), zopakuje, a poté jednou na heslo postgres (to, které je zadáno v kroku 2).

  6. Znovu upravte pg_hba.conf soubor (viz krok 3 výše) a změňte „peer“ na „md5“ na řádku týkajícím se „všech“ ostatních uživatelů:

    místní      vše     vše peer md5

  7. Restartujte (jako v kroku 4) a zkontrolujte, zda se můžete přihlásit bez -U postgres:

    psql template1

    Všimněte si, že pokud uděláte pouhý psql , selže, protože se vás pokusí připojit k výchozí databázi se stejným jménem jako vy (tj. whoami ). template1 je databáze administrátorů, která je zde od začátku.

  8. Nyní createdb <dbname> by mělo fungovat.



  1. SQL Server String nebo binární data by byla zkrácena

  2. Jak mohu dotazovat hodnotu ve sloupci SQL Server XML

  3. Referenční hodnota sériového sloupce v jiném sloupci při stejném INSERT

  4. Uložená procedura - vrátí identitu jako výstupní parametr nebo skalár