Обсуждение: Phppgadmin
Hello, I know it's a mailing list dedicated to postgresql but, after a long research on the web, I found nothing good. I've got some problem phppgadmin 3.5.2 (running with postgresql 8.0 on debian sarge). I can connect to the database with psql and pgadmin III but when I use phppgadmin I get "login failed". ----------------------------------------------------------------------- An extract of the config.inc.php: <?php ... // Hostname or IP address for server. Use '' for UNIX domain socket. $conf['servers'][0]['host'] = ''; // Database port on server (5432 is the PostgreSQL default) $conf['servers'][0]['port'] = 5432; // Change the default database only if you cannot connect to template1 $conf['servers'][0]['defaultdb'] = ''; // Specify the path to the database dump utilities for this server. // You can set these to '' if no dumper is available. $conf['servers'][0]['pg_dump_path'] = '/usr/bin/pg_dump'; $conf['servers'][0]['pg_dumpall_path'] = '/usr/bin/pg_dumpall'; // Default language for the login screen if there's no translation // matching user's browser request. Eg: 'english', 'polish', etc. $conf['default_lang'] = 'english'; // If extra login security is true, then logins via phpPgAdmin with no // password or certain usernames (pgsql, postgres, root, administrator) // will be denied. Only set this false once you have read the FAQ and // understand how to change PostgreSQL's pg_hba.conf to enable // passworded local connections. $conf['extra_login_security'] = false; ... ?> ------------------------------------------------------------------------- of the pg_hba.conf # Database administrative login by UNIX sockets local all postgres ident sameuser local all postgres md5 # TYPE DATABASE USER CIDR-ADDRESS METHOD # "local" is for Unix domain socket connections only local all all ident sameuser #local all all md5 # IPv4 local connections: host all all 127.0.0.1/32 md5 host all all 192.168.1.0/24 trust #host all all 192.168.1.0/24 password # IPv6 local connections: host all all ::1/128 md5 ---------------------------------------------------------------------------- And postrgresql.conf #--------------------------------------------------------------------------- # CONNECTIONS AND AUTHENTICATION #--------------------------------------------------------------------------- # - Connection Settings - listen_addresses = '*' # what IP interface(s) to listen on; # defaults to localhost, '*' = any port = 5432 max_connections = 100 # note: increasing max_connections costs about 500 bytes of shared # memory per connection slot, in addition to costs from shared_buffers # and max_locks_per_transaction. #superuser_reserved_connections = 2 unix_socket_directory = '/tmp' #unix_socket_group = '' #unix_socket_permissions = 0777 # octal #rendezvous_name = '' # defaults to the computer name # - Security & Authentication - #authentication_timeout = 60 # 1-600, in seconds ssl = true #password_encryption = true #krb_server_keyfile = '' #db_user_namespace = false
> // Hostname or IP address for server. Use '' for UNIX domain > socket. > $conf['servers'][0]['host'] = ''; There you're trying to use "socket" connection (which corresponds to "local" in pg_hba.conf: > # "local" is for Unix domain socket connections only > local all all ident sameuser > #local all all md5 > # IPv4 local connections: > host all all 127.0.0.1/32 md5 > host all all 192.168.1.0/24 trust > #host all all 192.168.1.0/24 password > # IPv6 local connections: > host all all ::1/128 md5 Suggestion: try changing your phppgadmin configuration with $conf['servers'][0]['host'] = 'localhost'; (to connect via TCP/IP), or your pg_hba configuration for md5 or your preferred auth method on local sockets...
Hi Nabil, First, I suggest using the latest version of phpPgAdmin: 4.0. Second, your configuration seems ok, but you need to turn on logging in your PostgreSQL to see the exact error that you're getting. Chris Nabil Servais wrote: > Hello, I know it's a mailing list dedicated to postgresql but, after a > long research on the web, I found nothing good. I've got some problem > phppgadmin 3.5.2 (running with postgresql 8.0 on debian sarge). I can > connect to the database with psql and pgadmin III but when I use > phppgadmin I get "login failed". > > > ----------------------------------------------------------------------- > > > An extract of the config.inc.php: > > <?php > ... > > // Hostname or IP address for server. Use '' for UNIX domain > socket. > $conf['servers'][0]['host'] = ''; > > // Database port on server (5432 is the PostgreSQL default) > $conf['servers'][0]['port'] = 5432; > > // Change the default database only if you cannot connect to > template1 > $conf['servers'][0]['defaultdb'] = ''; > > // Specify the path to the database dump utilities for this server. > // You can set these to '' if no dumper is available. > $conf['servers'][0]['pg_dump_path'] = '/usr/bin/pg_dump'; > $conf['servers'][0]['pg_dumpall_path'] = '/usr/bin/pg_dumpall'; > > > // Default language for the login screen if there's no translation > // matching user's browser request. Eg: 'english', 'polish', etc. > $conf['default_lang'] = 'english'; > > // If extra login security is true, then logins via phpPgAdmin > with no > // password or certain usernames (pgsql, postgres, root, > administrator) > // will be denied. Only set this false once you have read the FAQ and > // understand how to change PostgreSQL's pg_hba.conf to enable > // passworded local connections. > $conf['extra_login_security'] = false; > ... > ?> > > > ------------------------------------------------------------------------- > > > of the pg_hba.conf > > # Database administrative login by UNIX sockets > local all postgres ident sameuser > local all postgres md5 > > # TYPE DATABASE USER CIDR-ADDRESS METHOD > > # "local" is for Unix domain socket connections only > local all all ident sameuser > #local all all md5 > # IPv4 local connections: > host all all 127.0.0.1/32 md5 > host all all 192.168.1.0/24 trust > #host all all 192.168.1.0/24 password > # IPv6 local connections: > host all all ::1/128 md5 > > ---------------------------------------------------------------------------- > > > > And postrgresql.conf > > #--------------------------------------------------------------------------- > > # CONNECTIONS AND AUTHENTICATION > #--------------------------------------------------------------------------- > > > # - Connection Settings - > > listen_addresses = '*' # what IP interface(s) to listen on; > # defaults to localhost, '*' = any > port = 5432 > max_connections = 100 > # note: increasing max_connections costs about 500 bytes of shared > # memory per connection slot, in addition to costs from > shared_buffers > # and max_locks_per_transaction. > #superuser_reserved_connections = 2 > unix_socket_directory = '/tmp' > #unix_socket_group = '' > #unix_socket_permissions = 0777 # octal > #rendezvous_name = '' # defaults to the computer name > > # - Security & Authentication - > > #authentication_timeout = 60 # 1-600, in seconds > ssl = true > #password_encryption = true > #krb_server_keyfile = '' > #db_user_namespace = false > > > > ---------------------------(end of broadcast)--------------------------- > TIP 5: don't forget to increase your free space map settings -- Christopher Kings-Lynne Technical Manager CalorieKing Tel: +618.9389.8777 Fax: +618.9389.8444 chris.kings-lynne@calorieking.com www.calorieking.com
>> # "local" is for Unix domain socket connections only >> local all all ident sameuser Oh yeah, "ident sameuser" for local will NOT work with phpPgAdmin. You need to use "md5" or something instead. Chris