phpPgAdmin FAQ
--------------

ERRORS
------

Q: I've installed phpPgAdmin but when I try to use it I get an error message
   telling me that I have not compiled proper database support into my
   PHP installation. 

A: This means that you have not properly compiled PostgreSQL support into
   your PHP. The correct configure flag to use is '--with-pgsql'.  Read the
   PHP manual and website for more help with this.

   PostgreSQL support can be also compiled into PHP as a dynamic extension, 
   so if you have precompiled version (Linux RPM, or Windows binary), there 
   are still chances, that only thing you should do is to enable loading it
   automagically.

   It can be done by editing your php.ini file (under Windows, usually in 
   C:\WINDOWS or C:\WINNT, under Linux /etc/php.ini) and uncommenting this 
   line:

        ;extension=php_pgsql.dll	;under Windows
	;extension=pgsql.so		;under Linux

   so it would look like that:
   	
        extension=php_pgsql.dll		;under Windows
	extension=pgsql.so		;under Linux

Q: I always get "Login failed" even though I'm _sure_ I'm using the right
   username and password.

A: Check the PostgreSQL log on your server, it will give the exact reason
   why the login is failing.  Edit the pg_hba.conf file in your PostgreSQL
   data dir and make sure you have enabled access to the server properly.

   Another likely reason is that you have not started your PostgreSQL with
   TCP/IP sockets enabled.  To enable this, edit your postgresql.conf file
   and change this line:

   	#tcpip_socket = false

   to:

   	tcpip_socket = true

   and then restart PostgreSQL.

Q: I can use any password to log in!

A: PostgreSQL, by default, runs in trust mode.  That means that it doesn't
   ask for passwords for local connections.  We highly recommend that you
   edit your pg_hba.conf file, and change the login type to 'md5'.  Note
   that if you change the 'local' login type to 'md5', then you might need
   to enter a password to start PostgreSQL.  Get around this by using a
   .pgpass file - explained in the PostgreSQL documentation.

Q: For some users I get a "Login disallowed for security" message.

A: Logins via phpPgAdmin with no password or certain usernames (pgsql,
   postgres, root, administrator) are denied by default. Before changing this
   behaviour (setting $conf['extra_login_security'] to false in the
   config.inc.php file) please read the PostgreSQL documentation about client
   authentication and understand how to change PostgreSQL's pg_hba.conf to
   enable passworded local connections.

Q: When I enter non-ASCII data into the database via a form, it's inserted
   as hexadecimal or &#1234; format!

A: You have not created your database in the correct encoding.  This problem
   will occur when you try to enter an umlaut into an SQL_ASCII database, or
   SJIS Japanese into an EUC-JP database, etc.

Q: When I drop and re-create a table with the same name, it fails.

A: You need to drop the sequence attached to the SERIAL column of the table
   as well.  PostgreSQL 7.3 and above do this automatically.  If you have upgraded
   to PostgreSQL 7.3 from an earlier version, you need to run the
   contrib/adddepend script to record all dependencies.

Q: When inserting a row, what is does the 'Value' or 'Expression' box mean?

A: Choosing 'Expression' means that you can use functions, operators, other 
   field names, etc. in your value - you need to properly quote any literal 
   values yourself.  'Value' on the other hand, means that no matter what you
   enter as the value, it will be inserted as-is into the database.

Q: When browsing a table, the 'edit' and 'delete' links do not appear.

A: In order, phpPgAdmin will prefer the following as unique row identifiers:

	1. Primary keys
	2. Unique keys (cannot be parital or expressional indexes)
	3. OID column (will require a sequential scan to update, unless you 
	   index the OID column)

   Furthermore, any NULL values in the unique index will mean that that row
   will be uneditable.  Also, since OIDs can become duplicated in a table,
   phpPgAdmin will alter the row, and then check to ensure that exactly one
   row has been modified - otherwise rollback will occur.

Q: What happened to the database dump feature?

A: You need to configure phpPgAdmin (in the config.inc.php file) to point
   to the location of the pg_dump and pg_dumpall utilities on your server.
   Once you have done that, the database export feature will appear.

Q: I would like to use the pg_dump integration for database and table
dumps on Windows.  How do I get pg_dump.exe on Windows?

A: To get pg_dump.exe on Windows, you need to install the Cygwin
version of PostgreSQL.  Go to http://www.cygwin.com/ and download and
run the setup.exe.  During setup of Cygwin, choose database/PostgreSQL
as an extra package. Once installation is complete, you will have
pg_dump.exe installed.

Q: Why can't I reload the SQL script I dumped in the SQL window?

A: The following limitations currently exist in SQL script execution:

	* Only uploaded SQL scripts can contain COPY commands and for
	  this to work, you must have PHP 4.2 or higher.

	* 'psql' commands such as '\connect' will not work at all.

	* Multiline SQL statements will not work, eg:

		CREATE TABLE example (
			a INTEGER
		);

	* You cannot change the current database or current user during
	  the execution of the script.

   We do intend to work on some of these limitations in the future, but
   some of them are PostgreSQL restrictions and we recommend using the
   'psql' utility to restore your full SQL dumps.

Q: Why is there never any information on the 'Info' page of a table?

A: The Info page will show you what other tables have foreign keys to the
   current table and some data from the PostgreSQL statistics collector.
   The stats collector is not enabled by default in PostgreSQL.  To enable
   it, look in your postgresql.conf file for the stats_* options.  Just
   make them all 'true' and restart PostgreSQL.

Q: I would like to help out with the development of phpPgAdmin. How should I
   proceed?
   
A: Read the DEVELOPERS and TRANSLATORS files.


