Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

Re: Trouble Connecting to PostgreSQL with DBD::Pg

by erix (Parson)
on Nov 14, 2010 at 17:40 UTC ( #871350=note: print w/replies, xml ) Need Help??

in reply to Trouble Connecting to PostgreSQL with DBD::Pg

I know it works

You can only conclude that it works from the server itself. Is your perl program also running & connecting from the server?

Your code works for me. That means probably that you have to tweak your pg_hba.conf:

Pg authentication docs (NOTE: change '/current/' to whatever pg version you use; 'current' means Pg version 9.0 - and yes, it has changed).

Oh wait, I see you have 8.4, so here: 8.4 Pg authentication docs

Keep in mind that the first matching line (in pg_hba.conf) will be used.

irc freenode #postgresql is often the quickest way to get postgres database problems solved, or at least, discussed. The DBD:Pg author(s) are often there too.

UPDATE: if you leave the $dsn 'host=' param away, connection will be done via unix sockets (as opposed to tcp/ip).

  • Comment on Re: Trouble Connecting to PostgreSQL with DBD::Pg

Replies are listed 'Best First'.
Re^2: Trouble Connecting to PostgreSQL with DBD::Pg
by vendion (Scribe) on Nov 15, 2010 at 04:12 UTC

    I am running this code on my server, if the host=localhost part didn't give it away. I figured it may have but wasn't quite sure it was a problem on my end. I'll ask in the IRC for help getting my pg_hba.conf in order. I didn't think of using the unix socket for it but I will give it a try for now, will eventually need to get it to work through the tcp/ip port as well.

      Although of course I cannot garantee to spot any errors, you could show your pg_hba.conf here. (make sure you copy & paste the correct one; check with select current_setting('hba_file')).

        Thank you for offering to help out with my problem, here is my pg_hba.conf file

        # PostgreSQL Client Authentication Configuration File # =================================================== # # Refer to the "Client Authentication" section in the # PostgreSQL documentation for a complete description # of this file. A short synopsis follows. # # This file controls: which hosts are allowed to connect, how clients # are authenticated, which PostgreSQL user names they can use, which # databases they can access. Records take one of these forms: # # local DATABASE USER METHOD [OPTIONS] # host DATABASE USER CIDR-ADDRESS METHOD [OPTIONS] # hostssl DATABASE USER CIDR-ADDRESS METHOD [OPTIONS] # hostnossl DATABASE USER CIDR-ADDRESS METHOD [OPTIONS] # # (The uppercase items must be replaced by actual values.) # # The first field is the connection type: "local" is a Unix-domain soc +ket, # "host" is either a plain or SSL-encrypted TCP/IP socket, "hostssl" i +s an # SSL-encrypted TCP/IP socket, and "hostnossl" is a plain TCP/IP socke +t. # # DATABASE can be "all", "sameuser", "samerole", a database name, or # a comma-separated list thereof. # # USER can be "all", a user name, a group name prefixed with "+", or # a comma-separated list thereof. In both the DATABASE and USER field +s # you can also write a file name prefixed with "@" to include names fr +om # a separate file. # # CIDR-ADDRESS specifies the set of hosts the record matches. # It is made up of an IP address and a CIDR mask that is an integer # (between 0 and 32 (IPv4) or 128 (IPv6) inclusive) that specifies # the number of significant bits in the mask. Alternatively, you can +write # an IP address and netmask in separate columns to specify the set of +hosts. # # METHOD can be "trust", "reject", "md5", "password", "gss", "sspi", " +krb5", # "ident", "pam", "ldap" or "cert". Note that "password" sends passwo +rds # in clear text; "md5" is preferred since it sends encrypted passwords +. # # OPTIONS are a set of options for the authentication in the format # NAME=VALUE. The available options depend on the different authentica +tion # methods - refer to the "Client Authentication" section in the docume +ntation # for a list of which options are available for which authentication m +ethods. # # Database and user names containing spaces, commas, quotes and other +special # characters must be quoted. Quoting one of the keywords "all", "sameu +ser" or # "samerole" makes the name lose its special character, and just match + a # database or username with that name. # # This file is read on server startup and when the postmaster receives # a SIGHUP signal. If you edit the file on a running system, you have # to SIGHUP the postmaster for the changes to take effect. You can us +e # "pg_ctl reload" to do that. # Put your actual configuration here # ---------------------------------- # # If you want to allow non-local connections, you need to add more # "host" records. In that case you will also need to make PostgreSQL l +isten # on a non-local interface via the listen_addresses configuration para +meter, # or via the -i or -h command line switches. # # TYPE DATABASE USER CIDR-ADDRESS METHOD # "local" is for Unix domain socket connections only local all all ident # IPv4 local connections: host all all ident # IPv6 local connections: host all all ::1/128 ident

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://871350]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (3)
As of 2018-02-22 21:27 GMT
Find Nodes?
    Voting Booth?
    When it is dark outside I am happiest to see ...

    Results (299 votes). Check out past polls.