premetto che non ho mai usato postgres, ma di sicuro questa riga non va bene
con gli apici singoli le variabili non vengono risolte, e, a meno che tu non abbia un db di nome $dbname, non credo che riuscirai mai a collegarti...Codice PHP:
$conn = @pg_connect('dbname=$dbname user=$user password=$password');
prova a togliere il @ da davanti alla funzione, se salta fuori un errore lo saprai
e dopo aggiugni la visualizzazione completa degli errori, non si sa mai