====== Instalação no CentOS ======
===== Instalação dos pacotes =====
# yum install postgresql-server postgresql
Inicializando o DataBase
# postgresql-setup initdb
Initializing database ... OK
# systemctl start postgresql.service
# systemctl enable postgresql.service
ln -s '/usr/lib/systemd/system/postgresql.service' '/etc/systemd/system/multi-user.target.wants/postgresql.service'
# systemctl status postgresql.service
postgresql.service - PostgreSQL database server
Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled)
Active: active (running) since Ter 2015-04-28 11:30:33 BRT; 2min 4s ago
Main PID: 11864 (postgres)
CGroup: /system.slice/postgresql.service
├─11864 /usr/bin/postgres -D /var/lib/pgsql/data -p 5432
├─11865 postgres: logger process
├─11867 postgres: checkpointer process
├─11868 postgres: writer process
├─11869 postgres: wal writer process
├─11870 postgres: autovacuum launcher process
└─11871 postgres: stats collector process
Abr 28 11:30:33 pgsql.rascunhos.wiki.br systemd[1]: Started PostgreSQL database server.
===== Criando um usuário para administrar o DataBase =====
# su - postgres
-bash-4.2$ psql
psql (9.2.10)
Digite "help" para ajuda.
postgres=# CREATE USER gean WITH SUPERUSER LOGIN PASSWORD 'senha';
CREATE ROLE
postgres=# \q
-bash-4.2$ exit
logout
===== Mudando a forma de altenticação para MD5 =====
# vim /var/lib/pgsql/data/pg_hba.conf
[...]
# TYPE DATABASE USER 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
# IPv6 local connections:
host all all ::1/128 md5
[...]
===== Liberando o acesso externo =====
# vim /var/lib/pgsql/data/postgresql.conf
[...]
listen_addresses = '*' # what IP address(es) to listen on;
[...]
===== Configuração do FirewallD =====
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="172.16.200.0/24" service name="postgresql" accept' --permanent
success
# firewall-cmd --reload
success
# firewall-cmd --list-all
public (default, active)
interfaces: enp0s3
sources:
services: dhcpv6-client ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
rule family="ipv4" source address="172.16.200.0/24" service name="postgresql" accept
===== Testando o acesso =====
# systemctl restart postgresql.service
# psql -U gean postgres
Senha para usuário gean:
psql (9.2.10)
Digite "help" para ajuda.
postgres=# \l
Lista dos bancos de dados
Nome | Dono | Codificação | Collate | Ctype | Privilégios de acesso
-----------+----------+-------------+-------------+-------------+-----------------------
postgres | postgres | UTF8 | pt_BR.UTF-8 | pt_BR.UTF-8 |
template0 | postgres | UTF8 | pt_BR.UTF-8 | pt_BR.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | pt_BR.UTF-8 | pt_BR.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(3 registros)
postgres=# \q