Konfigürasyonumda ( Ubuntu 10.04.3
ve PostgreSQL 8.4
), giriş yaptığım kullanıcı adı için .pgpass
dosyadan bir şifre almaya çalıştığımla aynı olduğunda işe yarayabilirim .
Olarak giriş deployer
, Unix kullanıcı eşdeğeri olmayan .pgpass
bir kullanıcı adına ait veritabanına erişmek için dosyayı kullanmaya çalışıyordu appname
. Veritabanıma erişmek için kullanıcı olarak .pgpass
kullanmaya başlayana kadar işi yapamadım deployer
...
İşte /home/deployer/.pgpass
dosya içeriğim:
*:*:*:deployer:password
İşte bir parçası /etc/postgresql/8.4/main/pg_hba.conf
:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 192.168.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
Gördüğünüz gibi, tüm bağlantılarım şifre ( md5
) gerektiriyor .
Bu yapılandırma ile, bu komutla oluşturduğum bir veritabanına sahip olduğumu varsayarsak:
deployer@ubuntu-server:~$ createdb -T template0 -O deployer -E UTF8 dbname
Bir şifre girmeden aşağıdaki işlemi gerçekleştirebiliyorum:
deployer@ubuntu-server:~$ dropdb dbname
En kısa zamanda benim adını değiştirmek olarak .pgpass
için .pgpass-no
, bir parola sorar.
BTW, .pgpass
dosyanızın 0600
izinler altında olması gerektiğini unutmayın :
deployer@ubuntu-server:~$ ls -la .pgpass
-rw------- 1 deployer staff 24 2012-01-06 17:29 .pgpass
-U
bayrağı kullanarak bağlanmak üzere kontrol edebilirsinizdropdb
vecreatedb