Resumo de uso do PostgreSQL
apt-get update
 apt-get install postgresql postgresql-doc postgresql-9.5-slony1 postgresql-9.5-postgis
sudo su
su - postgresql
psql
Permitir Acesso somente Local
Para permitir que aplicativos e sites criados com o PHP tenham acesso através de uma conexão onde usam 'host=localhost', ou seja, local, devemos executar como root.
 Criar bancos
 Criar usuários com direitos somente ao banco
 Cada site deve ter um usuário exclusivo e um banco onde tem plenos poderes.
 CRIAR MAIS DOIS USUÁRIOS
 Criar usuários que não podem criar usuários, bancos nem roles
su - postgres
 createuser ribafs
 createuser joao
 
 Alterar a senha dentro do SGBD
 psql
 ALTER USER postgres WITH PASSWORD 'senha';
 \q         para sair
cp /etc/postgresql/9.1/main/postgresql.conf /etc/postgresql/9.1/main/postgresql.confCOP
 nano /etc/postgresql/9.1/main/postgresql.conf
listen_addresses = '*' (Escutar todas os IPs. Controlar no pg_hba.conf)
 Neste arquivo (pg_hba.conf) você consegue restringir o acesso ao seu banco de dados por IP, por usuário, por tipo de senha, etc.
cp /etc/postgresql/9.1/main/pg_hba.conf /etc/postgresql/9.1/main/pg_hba.confCOP
 nano /etc/postgresql/9.1/main/pg_hba.conf
Liberar o IP do sysadmin (10.40.0.103)
# Database administrative login by UNIX sockets
 local   all         postgres                          ident        (Usuário postgres usa a mesma senha do SO)
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
 local   all         all                               ident
 # IPv4 local connections:
 host    all         all         127.0.0.1/32               md5
 host    all         all         10.40.0.133/32          md5
Toda uma rede:
 host    all         all         10.0.0.0/24          md5
 exit
/etc/init.d/postgresql restart
Para não atribuir senha para o postgres, usando somente através do root podemos usar:
 su postgres -c psql postgres
Alguns scripts em
 /usr/share/postgresql/8.4/
Uso Remoto do PostgreSQL
Acesso remoto do IP 192.168.1.67
 No postgresql.conf listen_addresses deve estar com '*'
Alterar o pg_hba.conf na linha do IP para trust
 host    all         all         192.168.1.67/32          md5
Para toda a rede:
 host    all         all         192.168.1.0/24          md5
Restartar
 /etc/init.d/postgresql restart
Acessar com:
 psql -h IP -U usuario -d banco
ou
 psql -h IP -U usuario
Listar bancos remotamente
 psql -l -h 192.168.1.12 -U postgres
Ajuda
 psql --help
 Backup local e restore remoto
 pg_dump banco | psql -h hostname banco -U postgres
pg_restore apoena -f
 Máscara Explicada
Apenas para iluminar um pouco, aquele número que vem depois da barra "/"
 significa o número de bits que ele vai utilizar na mascara. Vejamos.
Suponha que voce deixe 189.0.0.0/24, o que vai acontecer?
1) Voce vai tentar conectar no IP do seu servidor a partir de seu IP de
 origem IP
 2) Seu servidor vai pegar o seu IP de origem e fazer um calculo de
 mascara usando 24 bits, numa comparação XOR bit-a-bit que vai resultar
 em 189.22.33.0
 3) Ele vai pegar o resultado do calculo acima e comparar com seu arquivo
 e vai identificar que 189.22.33.0 NÃO É IGUAL A 189.0.0.0.
Portanto você tem que utilizar 189.0.0.0/8, pois assim ele vai pegar o
 seu IP IP, vai fazer uma comparacao XOR bit-a-bit e vai ter
 como resultado 189.0.0.0, com esse resultado ele vai comprar com o
 189.0.0.0 e vai reconhecer a IGUALDADE entre eles e vai aceitar.
Em resumo.
IP/8  => IP/255.0.0.0       = 192.0.0.0
 IP/16 => IP/255.255.0.0     = 192.168.0.0
 IP/24 => IP/255.255.255.0   = 192.168.1.0
 IP/32 => IP/255.255.255.255 = 192.168.1.12
Outras mascaras são possíveis através de deslocamento de bit do parte da
 rede para o host, obtendo-se sub-redes, mas ai ja acabamos fungindo do
 escopo da lista.
 --
 Dickson S. Guedes
 Criar Usuários com privilégios Restritos
Permitir Acesso somente Local
 Para permitir que aplicativos e sites criados com o PHP tenham acesso através de uma conexão onde usam 'host=localhost', ou seja, local, devemos executar como root.
Neste arquivo (pg_hba.conf) você consegue restringir o acesso ao seu banco de dados por IP, por usuário, por tipo de senha, etc.
cp /etc/postgresql/8.4/main/pg_hba.conf /etc/postgresql/8.4/main/pg_hba.confCOP
 nano /etc/postgresql/8.4/main/pg_hba.conf
Liberar o IP do servidor WEB (10.10.0.102) e do servidor de Email (10.10.0.103)
# Database administrative login by UNIX sockets
 local   all         postgres                          ident        (Usuário postgres usa a mesma senha do SO)
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
 local   all         all                               ident
 # IPv4 local connections:
 host    all         all         127.0.0.1/32               md5
 host    all         all         10.10.0.102/32          md5
 #host    all         all         10.10.0.103/32          md5
Toda uma rede:
 host    all         all         10.0.0.0/24          md5
 exit
/etc/init.d/postgresql restart