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.

Answer: This means that your PHP setup doesn't have the pgsql extension.

If you compiled PHP yourself, you need to run configure with the '–with-pgsql' flag. Read the
PHP manual and website for more help with this.

PostgreSQL is also available in 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:

I always get “Login failed” even though I'm sure I'm using the
right username and password.

Answer: Check the PostgreSQL log on your server, if phpPgAdmin is able to reach your PostgreSQL server, it will give the exact reason
why the login is failing. If you can't find anything, then phpPgAdmin can not connect to your PostgreSQL server for some reasons.

Edit the pg_hba.conf file in your PostgreSQL data dir and make sure you have enabled access to the server properly.

If you've installed phpPgAdmin on a computer different from the PostgreSQL
server, another likely reason may be that you have not setup PostgreSQL server to listen on
your network. By default, PostgreSQL only accept connection on the localhost interface or UNIX socket (under unix-like systems).

Answer: 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.

Answer: 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.

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

Primary keys

Unique keys (cannot be parital or expressional indexes)

OID column (will be slow 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.

Answer: 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.

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?

Answer: To get the pg_dump utilities on Windows, you need to install PostgreSQL 8.0
or higher (we recommend the latest release) for Windows, available for download
from the PostgreSQL ftp site.
Once you have installed that, set the pg_dump and pg_dumpall locations
in the “config.inc.php” file to 'C:\Program Files\PostgreSQL\8.0\bin\pg_dump.exe'
and 'C:\Program Files\PostgreSQL\8.0\bin\pg_dumpall.exe', or wherever you
installed them.

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

Answer: 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.

Answer: 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.