Sobre a preparação desta formação

From Geomaster, Lda
Jump to navigation Jump to search

Criar um outro servidor na mesma máquina

Criar um novo servidor Postgresql só para a formação:

sudo pg_createcluster --locale pt_PT.UTF-8 -p 5433 9.5 madeira

Alterar as regras de acesso ao servidor, para ficar disponível na rede (por razões de segurança um novo servidor não está acessível através da rede):

Alterar os ficheiros de configuração pg_hba.conf e postgresql.conf

pg_hba.conf

sudo vi /etc/postgresql/9.5/madeira/pg_hba.conf

Onde está:

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5

Acrescestar uma nova linha para ficar:

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
host    all             all             0.0.0.0/0               md5

postgresql.conf

sudo vi /etc/postgresql/9.5/madeira/postgresql.conf
listen_addresses = '*'


Arrancar com o servidor:

sudo pg_ctlcluster 9.5 madeira start

Verificar que o servidor está a correr e que ainda só tem a base de dados postgres e nenhum utilizador:

sudo su postgres
psql -p 5433
\l
\du
\quit

Criar contas e bases de dados para todos os formandos

Criar contas, base de dados e acrescentar a extensão Postgis:

postgres@dusseldorf:~$ cat cria.sh 
#!/bin/bash

for value in {1..30}
do
	echo $value
	echo psql -p 5433 postgres -c "CREATE ROLE madeira$value WITH PASSWORD 'ilovepostgres' LOGIN SUPERUSER CREATEROLE CREATEDB;"
	echo psql -p 5433 postgres -c "CREATE DATABASE madeira$value WITH OWNER madeira$value;"
	echo psql -p 5433 madeira$value -c "CREATE EXTENSION postgis;"
done

Após a formação

Remover o servidor (e tudo o que foi criado entretanto)

sudo pg_dropcluster --stop 9.5 madeira