PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como configurar o postgresql pela primeira vez?


As outras respostas não foram completamente satisfatórias para mim. Aqui está o que funcionou para o postgresql-9.1 no Xubuntu 12.04.1 LTS.

  1. Conecte-se ao banco de dados padrão com o usuário postgres:

    sudo -u postgres psql template1

  2. Defina a senha para o usuário postgres e saia do psql (Ctrl-D):

    ALTER USER postgres com senha criptografada 'xxxxxxx';

  3. Edite o pg_hba.conf Arquivo:

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

    e altere "peer" para "md5" na linha referente ao postgres:

    local      todos     postgres par md5

    Para saber qual versão do postgresql você está executando, procure a pasta de versão em /etc/postgresql . Além disso, você pode usar o Nano ou outro editor em vez do VIM.

  4. Reinicie o banco de dados:

    sudo /etc/init.d/postgresql restart

    (Aqui você pode verificar se funcionou com psql -U postgres ).

  5. Crie um usuário com o mesmo nome que você (para encontrá-lo, você pode digitar whoami ):

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

    As opções dizem ao postgresql para criar um usuário que possa fazer login, criar bancos de dados, criar novas funções, ser um superusuário e ter uma senha criptografada. Os realmente importantes são -P -E, para que você digite a senha que será criptografada, e -d para que você possa fazer um createdb .

    Cuidado com as senhas :primeiro ele pedirá duas vezes a nova senha (para o novo usuário), repetida e, em seguida, uma vez a senha do postgres (a especificada na etapa 2).

  6. Novamente, edite o pg_hba.conf (veja a etapa 3 acima) e altere "peer" para "md5" na linha referente a "todos" os outros usuários:

    local      todos     todos par md5

  7. Reinicie (como na etapa 4) e verifique se você pode fazer login sem -U postgres:

    modelo psql1

    Observe que se você fizer um mero psql , ele falhará, pois tentará conectá-lo a um banco de dados padrão com o mesmo nome que você (ou seja, whoami ). template1 é o banco de dados de administração que está aqui desde o início.

  8. Agora createdb <dbname> Deveria trabalhar.