Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re: Trouble Connecting to PostgreSQL with DBD::Pg

by erix (Vicar)
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
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 127.0.0.1/32 ident # IPv6 local connections: host all all ::1/128 ident

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://871350]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (11)
As of 2015-07-07 09:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (88 votes), past polls