Instalação do gestor de base de dados Postgresql com PostGIS
Da GeoBox
Índice
|
Instalação do Postgresql
sudo apt-get install postgresql postgresql-contrib
Atribuir uma senha à conta postgres da base de dados:
sudo su postgres -c psql template1 postgres=# ALTER USER postgres WITH PASSWORD 'geobox'; postgres=# \q
Criar um novo utilizador geobox da base de dados, com a senha geobox:
$ sudo su postgres -c "createuser -P" Digite o nome da role a ser adicionada: geobox Digite a senha para a nova role: geobox Digite-a novamente: geobox A nova role poderá criar um super-usuário? (s/n) s $
Tornar o Postgresql acessível na rede
Acrecentar uma linha:
listen_addresses = '*'
e descomentar a linha:
password_encryption = on
em postgresql.conf.
No ficheiro pg_hba.conf, acrecentar uma linha, antes das outras linhas começadas por host:
host all all 0.0.0.0/0 md5
e reinicializar o serviço.
sudo gvim /etc/postgresql/8.4/main/postgresql.conf sudo gvim /etc/postgresql/8.4/main/pg_hba.conf sudo service postgresql-8.4 restart
Instalação do pgAdmin III
sudo apt-get install pgadmin3 pgadmin3-data
Acrescentar algumas funcionalidades usadas pelo pgAdmin
$ sudo su postgres -c psql </usr/share/postgresql/8.4/contrib/adminpack.sql
Ligação inicial com pgAdmin III
Instalação do PostGIS 1.5
sudo apt-get install postgis postgresql-8.4-postgis
Criação de uma template_postgis
NOTA: NÃO É NECESSÁRIO CRIAR A TEMPLATE. É criada na instalação dos pacotes Postgis.
Esta template_postgis facilita depois a criação de base de dados geográficas. A template é a mesma coisa que uma base de dados normal, mas é marcada como template para não ser removida ou alterada inadvertidamente.
sudo su - postgres createdb template_postgis createlang plpgsql template_postgis cd /usr/share/postgresql/8.4/contrib/ (ou /usr/share/postgresql/8.4/contrib/postgis-1.5) psql -d template_postgis -f postgis.sql psql -d template_postgis -f spatial_ref_sys.sql psql template1 UPDATE pg_database SET datistemplate = TRUE WHERE datname = 'template_postgis'; \c template_postgis GRANT ALL ON geometry_columns TO PUBLIC; GRANT ALL ON spatial_ref_sys TO PUBLIC; VACUUM FREEZE; \q exit
Criação de uma template_postgis com pt_PT.UTF-8
sudo su - postgres createdb template_postgis_pt --locale=pt_PT.UTF-8 -e UTF-8 -T template0 createlang plpgsql template_postgis_pt cd /usr/share/postgresql/8.4/contrib/ (ou /usr/share/postgresql/8.4/contrib/postgis-1.5) (ou cd /usr/share/postgresql/9.1/contrib/postgis-1.5/) psql -d template_postgis_pt -f postgis.sql psql -d template_postgis_pt -f spatial_ref_sys.sql psql template1 UPDATE pg_database SET datistemplate = TRUE WHERE datname = 'template_postgis_pt'; \c template_postgis_pt GRANT ALL ON geometry_columns TO PUBLIC; GRANT ALL ON spatial_ref_sys TO PUBLIC; VACUUM FREEZE; \q exit
Criação da base de dados geotuga
Depois de criada a template_postgis, para se criar uma nova base de dados, na linha de comandos, faz-se:
sudo su - postgres createdb -O geobox -T template_postgis geotuga exit
Carregar dados já preparados, na geotuga
sudo su - postgres cd /tmp wget http://dl.dropbox.com/u/5489125/mcdonalds_EPSG_3763.backup pg_restore --host localhost --port 5432 --username geobox --dbname geotuga --verbose "mcdonalds_EPSG_3763.backup" (senha geobox) exit
Depois de inseridos os dados, deve ser preenchida a tabela geometry_columns.
psql -U geobox -d geotuga -W -h localhost -c "insert into geometry_columns(f_table_catalog,f_table_schema,f_table_name,f_geometry_column,coord_dimension,srid,"type") values ('', 'public', 'mcdonald', 'the_geom', 2, 3763, 'POINT');" (senha geobox)
Interface de administração web para o Postgresql
sudo apt-get install phppgadmin
http://localhost/phppgadmin/
Configuração do phppgadmin
Trocar
allow from 127.0.0.0/255.0.0.0 ::1/128 # allow from all
por
# allow from 127.0.0.0/255.0.0.0 ::1/128
allow from allem
/etc/phppgadmin/apache.conf
Reiniciar o servidor Apache:
sudo apache2ctl graceful
Anterior: Instalação e configuração do servidor Apache
Seguinte: Instalação do gestor de base de dados Postgresql 9.x com PostGIS


