Trying to set up postgres for ror app, getting error - fe_sendauth: no password supplied

前端 未结 4 608
一整个雨季
一整个雨季 2020-12-08 03:15

Getting:

An error has occurred:

Error connecting to the server: fe_sendauth: no password supplied

Settings in database.yml ar

相关标签:
4条回答
  • 2020-12-08 03:32

    No password supplied means you have set it up to require password authentication and no password is being supplied. Here is documentation for 9.0: http://www.postgresql.org/docs/9.0/static/auth-methods.html

    Keep in mind that local auth was changed from "ident" to "peer" in 9.1 to avoid confusion. See the 9.1 docs at http://www.postgresql.org/docs/9.1/static/auth-methods.html

    Also keep in mind that this is an ordered rule set with first match governing. Furthermore local and localhost are different. Local is for local UNIX domain socket connections, while host localhost would be for network connections to localhost. So it sounds like you have some troubleshooting to do but hopefully the docs should help.

    0 讨论(0)
  • 2020-12-08 03:34
    #appveyor.yml
    services: postgresql
    test_script:
      - SET PGUSER=postgres
      - SET PGPASSWORD=Password12!
      - PATH=C:\Program Files\PostgreSQL\9.6\bin\;%PATH%
    
    0 讨论(0)
  • 2020-12-08 03:44

    @rodrigo-zurek was spot on; you have to change the pg_hba.conf. Just want to add this answer for the OSX users because the pg_hba.conf is located in a different place by default.

    sudo su - postgres
    vim /Library/PostgreSQL/<YOUR_VERSION>/data/pg_hba.conf
    

    The default will have md5 in the column METHOD, but replace all of those with trust:

    # TYPE  DATABASE        USER            ADDRESS                 METHOD
    
    # "local" is for Unix domain socket connections only
    local   all             all                                     trust
    # IPv4 local connections:
    host    all             all             127.0.0.1/32            trust
    # IPv6 local connections:
    host    all             all             ::1/128                 trust
    

    Then, open up pgAdmin III inside your Applications/PostgreSQL 9.X, right click the database (e.g. PostgreSQL 9.4 (localhost)), and click Reload Configuration. After this, I was able to rake db:create.

    0 讨论(0)
  • 2020-12-08 03:52

    You need to change your change your pg_hba.conf. Here's an example of mine:

    pg_hba.conf:

    TYPE  DATABASE        USER            ADDRESS                 METHOD
    
    host    all             all             127.0.0.1/32            trust
    
    host    all             PC             127.0.0.1/32            trust
    
    host    all             all             ::1/128                 trust
    

    Note that trust means that anyone on address (in this case localhost) can connect as the listed user (or in this case any user of their choice). This is really only suitable for development configurations with unimportant data. Do not use this in production.

    0 讨论(0)
提交回复
热议问题