Postgres Page History


Versão utilizada

Atualmente estamos utilizando o banco Postgres para Linux na seguinte versão:

Versão do Postgres no Linux:
"Debian GNU/Linux 8 (jessie)"
PostgreSQL 9.4.9 on x86_64-unknown-linux-gnu, compiled by gcc (Debian 4.9.2-10) 4.9.2, 64-bit

A versão do Postgis utilizada é a postgresql-9.4-postgis-2.1, ou seja 2.1.4 r12966

Para obter um comparativo entre as versões disponíveis do Postgres, selecione aqui

Estamos utilizando agora a versão 10.4. O PgAdmin dever ser na versão 4 e está disponível para download aqui

Como saber a versão do Postgres instalada

No query SQL rodar:

select version();

Como saber a versão do Postgis instalada

No query SQL rodar:

select postgis_full_version();

Instruções para instalação do Postgres no Windows

  1. Baixe o instalador do Postgres, conforme link da página anterior.
  2. Em senha entre nexus243. O usuário é postgres.
  3. Na porta deixe o valor padrão 5432
  4. Em locale deixe a opção padrão Default locale
  5. Deixe o Stack builder ligado para poder fazer download dos complementos.
  6. Selecione o servidor PostgreSQL 9.5
  7. Em database drivers, ligue todos.
  8. Em spatial options, selecione a opção 64 bits ou 32 bits conforme o seu sistema operacional.
  9. Não selecionar a opção Skip instalation.
  10. Selecione create spatial database se quiser criar um exemplo de banco de dados espacial.
  11. Entre username: postgres, senha: nexus243, porta: 5432.
  12. No nome do banco de exemplo, pode ser utilizado o nome padrão postgis_22_sample.
  13. Selecione Sim para registral o GDAL.
  14. Em raster driver, selecione Sim.
  15. Selecione Sim para Raster out.

Instruções de instalação do Postgres no Linux Debian

Uma forma alternativa e mais fácil para a instalação e realizar o download do instalador automático, para isso selecione aqui.

Para rodar o pacote .run, selecione o mesmo com o botão direito do mouse e selecione Properties, depois clique em Permissions e selecione Allow executing file as program. Feito isso, um duplo clique para executar o mesmo.

No prompt do terminal, com superusuário rode o comando:

apt-get install postgresql-9.4

Mais informações selecione aqui

Instalação Postgres Ubuntu

Selecione aqui

Instruções de desistalação do Postgres no Linux Debian

No prompt do terminal, com superusuário rode o comando:

apt-get --purge remove postgresql-9.4

Os pacotes instalados podem vir a ser verificados com o comando:

dpkg -l | grep postgres

Depois de verificados os pacotes instalados, eles podem vir a ser removidos, por exemplo, com o comando:

apt-get --purge remove postgresql-9.4 postgresql-client-9.4 postgresql-client-common postgresql-common

sudo apt-get autoremove

pgAdmin

Windows

O pgAdmin é o software que permite você acessar as tabelas do banco de dados geográfico. Caso necessite atualizá-lo ou realizar o download do mesmo, selecione aqui

Caso o PgAdmin não funcione apresentando mensagem que falta a componente MSVCP120.dll, instale o Visual C++ Redistributable Packages for Visual Studio 2013. Para download selecione aqui e baixe o arquivo vcredist_x64.exe. Isso geralmente acontece para sistemas 64 bits.

Debian

Rodar o comando:

apt-get install pgadmin3

O pgAdminIII está localizado no menu em Development-pgAdminIII

Atualização para restaurar banco de dados com o pgAdminIII

apt-get install postgresql-client

Estabelecendo a primeira conexão com o banco de dados Postgres

Se você for entrar no pgAdminIII e tentar adicionar um servidor não vai conseguir, pois precisa primeiro estabelecer uma senha iniciar para o usuário postgres. Para isso, abra uma janela de terminal e digite:

root@nexusLinux:/etc/init.d# su postgres  (entra no usuário postgres)

postgres@nexusLinux:/etc/init.d$ psql  (chama o psql para poder digitar os comandos SQL)

psql (9.4.9)
Type "help" for help.

postgres=# alter user postgres with password 'postgres'; (seta a senha inicial do usuário postgres pela primeira vez)
ALTER ROLE

postgres=# \q (sai do SQL)

postgres@nexusLinux:/etc/init.d$  su (volta para o root)

Password: nexus243

root@nexusLinux:/etc/init.d#

Entre agora no pgAdminIII e realize a adição do servidor com File-Add Server

Mais informações, selecione aqui

Dica: Logue com o usuário root. Mais informações, selecione aqui

Backup

Pode acontecer quando você tiver versões diferentes do pgAdmin, por exemplo, uma versão no cliente diferente da versão do servidor, que quando for realizar um backup, apareça a mensagem:

C:\Program Files (x86)\Boundless\OpenGeo\pgsql\bin\pg_dump.exe --host 10.10.50.2 --port 5432 --username "postgres" --no-password  --format custom --blobs --verbose --file "C:\Postgres_backup\20161108073200-gis-linux-producao.backup" "gis"
pg_dump: server version: 9.4.9; pg_dump version: 9.3.5
pg_dump: aborting because of server version mismatch

Process returned exit code 1.

Isto é devido ao caminho PG bin path estar apontado em sua máquina cliente, para uma versão do dump diferente. Para resolver isso entre no pgAdmin e selecione File-Options e vá até Binary paths e aponte PG bin path para o local correto.

C:\Program Files (x86)\Boundless\OpenGeo\pgsql\bin - versão 9.3.5

C:\Program Files (x86)\pgAdmin III\1.22 - versão 9.4.9

Depois que realizar estas modificações, saia e entre novamente no pgAdmin.

Cópia direta do banco de dados de um servidor para outro

Para realizar a cópia, entre no usuário root e em seguida digite:

su postgres

Agora realize a cópia do banco de dados. Vou colocar o exemplo:

Banco de dados de origem

servidor: 192.168.1.29
porta: 5432
usuário: postgres
nome do banco de dados: gis

Banco de dados destino

servidor: 192.168.1.153
porta: 5437
usuário: postgres
nome do banco de dados: gis

Para realizar o dump do banco origem para o destino o comando é:

pg_dump -C -h 192.168.1.29 -p 5432 -U postgres gis | psql -h 192.168.1.153 -p 5437 -U postgres gis

Para mais informações, selecione aqui

Lembrar que a extensão espacial no banco de dados destino deve estar instalada com o comando:

CREATE EXTENSION postgis;

Renomear um banco de dados

Para renomear um banco de dados existente, abra com privilégios de administrador o Shell do pgAdmin e execute o seguinte comando:

ALTER DATABASE nome_banco_antigo RENAME TO nome_banco_novo;

Lembre de ao entrar no Shell, de verificar se os dados de login, banco e porta estão corretos. É necessário o ; no final no comendo.

Para sair do Shell digite \q.

Instalação extensão Postgis no Debian

Para instalar a extensão rodar os seguintes comandos:

apt-get update

apt-get -f upgrade

apt-get install postgresql-9.4-postgis-2.1

25-07-2018-Última versão: postgresql-10-postgis-2.4

Mais informações, selecione aqui

Instalação extensão Postgis no Ubuntu

Para instruções, selecione aqui

Criação do banco geográfico

Para poder realizar configuração de um banco de dados espacial siga os seguintes passos:

  1. Crie um banco de dados no Postgres normalmente.

  2. Após criado, entre no gerenciador SQL do pgAdmin e neste banco rode o seguinte comando:

CREATE EXTENSION postgis;

Após isto realizado, será possível importar um mapa, caso deseje, com o PostGIS Shapefile Import/Export.

O que acontece quando crio um banco geográfico

Após criar a extensão no banco Postgres acontecerão as seguintes modificações no banco de dados que está vazio e foi recém criado.

Novas funções geográficas criadas

public.PNG

No esquema Public são adicionadas diversas funções geográficas, como por exemplo:

  • AddGeometryColumn() a qual é responsável por adicionar uma coluna geográfica a uma tabela.
  • ST_AsText() que retorna a geometria no formato texto. Veja mais sobre isso nas queries geográficas deste repositório.
  • ST_Length() que retorna o comprimento de uma linha.
  • ST_Touches() que verifica se dois polígonos se tocam.
  • ST_Contains() que verifica se um polígono está dentro do outro.
  • e muito mais ...

Sistema de coordenadas cartográficas

A tabela spatial_ref_sys é criada. Esta tabela é uma referência aos sistemas de projeção cartográficas existentes para o globo terrestre. Mais informações sobre os sistemas de projeção, selecione aqui.

spatial.PNG

Índices espaciais

As tabelas geográficas possuem uma coluna geográfica, a qual possui associado a esta coluna índices espaciais. Estes índices são utilizados para o processamento eficiente das operações espaciais.

Instalação do QGIS

A versão utilizada do QGIS é a 2.18. Para download selecione aqui

Configuração do banco espacial

Para poder realizar configuração de um banco de dados espacial siga os seguintes passos:

  1. Crie um banco de dados no Postgres normalmente.

  2. Após criado, entre no gerenciador SQL do pgAdmin e neste banco rode o seguinte comando:

CREATE EXTENSION postgis;

Após isto realizado, será possível importar um mapa, caso deseje, com o PostGIS Shapefile Import/Export.

Teste de funcionamento

Para testar o Postgres se está funcionando, entre no PgAdmin.

Se não entrar, abra os serviços do Windows e veja se o serviço do PostgresSql está iniciado.

Acesso remoto ao PostGIS

Para acessar remotamente ao banco de dados Postgres/PostGIS é necessário realizar alterações nos seguintes arquivos:

postgresql.conf
pg_hba.conf

HBA significa host-based authentication. Este arquivo pg_hba.conf controla a autenticação dos clientes no servidor de banco de dados Postgres.

Eles se encontram no diretório

Windows: C:\Program Files\PostgreSQL\9.5\data

Linux Debian: /etc/pstgresql/9.4/main (instalação com apt-get) ou /opt/PostgresSQL/9.4/data (Enterprise DB)

Porta

Verifique a porta de acesso e se necessário altere a mesma no arquivo /etc/pstgresql/9.4/mainpostgresql.conf modificando a mesma para:

Obs. Esta configuração, se utilizar o EDB para instalar o Postgres, estará disponível em /opt/PostgreSQL/9.4/data/postgresql.conf

port = 5434

O número padrão é o 5432. Pode deixar este se não estiver sendo utilizado por outro servidor.

Após realizar esta modificação reinicie o serviço do Postgres.

Reiniciar serviço do Postgres

Linux Debian:

cd /etc/init.d

./postgresql-9.4 restart

ou

./postgresql restart

Firewall do Windows

Libere o acesso a esta porta em Configurações avançadas no Painel de Controle do Windows em Painel de Controle\Sistema e Segurança\Firewall do Windows (Windows 7).

Selecione Regras de Engrada e em seguida Nova Regra. Selecione então Porta e o número da porta, siga os passos que aparecem a seguir, criando uma regra TCP.

Firewall do seu roteador

No firewall de seu roteador, adicione um servidor virtual colando o IP fixo do seu servidor Postgres e o roteamento de entrada do roteador e encaminhamento para a porta escolhida. No nosso caso 5434.

Endereço IP de escuta

Configure agora os endereços IP que o seu servidor Postgres irá escutar, ou seja, endereços IPs externos em que vai permitir que acessem o banco de dados. Em nosso caso iremos permitir que qualquer endereço IP externo acesse ao banco de dados Postgres. Para isso edite o arquivo postgresql.conf com a seguinte linha:

listen_addresses = '*'

Após realizar esta modificação reinicie o serviço do Postgres.

Configuração de quem de fora irá acessar o banco

Para que você possa liberar para que qualquer pessoa de fora acesse o seu banco de dados Postgres é necessário alterar o arquivo pg_hba.conf informando que qualquer um pode acessar, para isso insira a seguinte linha no mesmo:

host    all                     all                     0.0.0.0/0        trust

Veja que por padrão está configura como:

host    all             all             127.0.0.1/32            md5

indicando que o banco é só acessado localmente pelo servidor. Por este motivo você adiciona esta linha.

Após realizar esta modificação reinicie o serviço do Postgres.

Verificação se a porta do servidor Postgres está ativa

Para verificar a partir de uma máquina Windows, se a porta do servidor Postgres no Linux está ativa, siga o seguinte procedimento:

  1. Faça download do PortQry, selecione aqui. É um programa que roda no terminal do Windows para checar acesso liberado as portas especificadas por você.

  2. Rode o PortQry no Windows, solicitando o acesso a porta do Postgres, por exemplo:

PortQry.exe -n ip_do_servidor_postgres -r numero_porta_inicial:numero_porta_final

PortQry.exe -n 192.168.1.31 -r 5440:5444

Driver pago para acesso ao Postgres

Existe um driver pago para acesso ao banco de dados Postgres. Para acessar você precisa no servidor instalar a versão server e no cliente a versão client. Ele está disponível no link http://www.pgoledb.com/. Para acessar faça um arquivo de teste de conexão, por exemplo testeConexãoPostgres.UDL, selecione o mesmo e configure o Provider como** Intellisoft OLE Provider for PostgresSQL (BI Alias)**.

Este driver lê elementos geográficos convertendo o tipo geom para string.

Driver gratuito para acesso ao Postgres

Para acessar o Postgres a partir de um servidor vinculado do SQLServer, faça o download da última versão do driver ODBC selecionando aqui.

Para acessar as informações de como instalar e configurar o servidor vinculado com o SQLServer selecione os links abaixo.

Parte 1

Parte 2

ODBC

Para acessar os drivers ODBC para o Postgres, selecione aqui

Caso você esteja utilizando Windows 7 64 bits é importante em Painel de Controle\Sistema e Segurança\Ferramentas Administrativas você selecionar com o botão da direita Fontes de Dados (ODBC) e verificar se ele está acessando o driver a partir do diretório System 64 bits como na figura abaixo. Veja na pasta de destino.

ODBC.PNG

Depois crie uma conexão de usuário com o PostgresODBC semelhante a mostrada na figura a seguir:

conexao.PNG

Em Manage DSN configure como mostrado abaixo:

odbc2.PNG

ODBC 32 bits e ODBC 64 bits

As aplicações ODBC para 32 bits e 64 bits encontram-se nas seguintes localizações:

32 bits - C:\Windows\System32\odbcad32.exe

64 bits - C:\Windows\SysWOW64\odbcad32.exe

Instruções para apagar um esquema

Para apagar completamente um esquema rode o comando:

DROP SCHEMA public CASCADE;

Depois para recriá-lo rode o comando:

CREATE SCHEMA public;

Caso não consiga, forneça antes as permissões:

GRANT ALL ON SCHEMA public TO postgres;

GRANT ALL ON SCHEMA public TO public;

Cópia de um banco de dados

Para copiar um banco de dados para outro rodar o seguinte comando:

CREATE DATABASE nomeNovoBancoDeDados WITH TEMPLATE nomeDoBancoASerCopiado;

Apagar um banco de dados

Entrar no shell do Postgres e rodar os comandos:

revoke connect on database nome_do_banco_de_dados from public;
drop database nome_do_banco_de_dados;

Obs.: Lembrar de sair do pgAdmin antes.

Restauração do banco de dados

Antes de iniciar a restauração crie um banco de dados vazio com o nome gis e siga os seguintes procedimentos:

Criação dos Roles

Roles são funções ou papeis. Uma role pode se comportar como usuário ou um grupo. Um role pode se comportar como um usuário ou delegar permissões para outros roles.

Crie os seguintes roles

CREATE ROLE rol_consulta NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
GRANT ALL ON DATABASE "gis" TO "rol_consulta";

CREATE ROLE rol_editor_sdp NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
GRANT ALL ON DATABASE "gis" TO "rol_editor_sdp";

CREATE ROLE rol_editor_ses NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
GRANT ALL ON DATABASE "gis" TO "rol_editor_ses";

CREATE ROLE rol_editor_saa NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
GRANT ALL ON DATABASE "gis" TO "rol_editor_saa";

CREATE ROLE rol_supereditor NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
GRANT ALL ON DATABASE "gis" TO "rol_supereditor";

CREATE ROLE nexus LOGIN ENCRYPTED PASSWORD 'md54b93900fdc2a5471bb49784b0cf69e89'
  SUPERUSER CREATEDB CREATEROLE REPLICATION
   VALID UNTIL 'infinity';
GRANT rol_supereditor TO user_supereditor;

CREATE ROLE gisweb LOGIN ENCRYPTED PASSWORD 'md5e58ecdd06526d391a5aa6ec7f677fea0'
  SUPERUSER INHERIT CREATEDB CREATEROLE REPLICATION
   VALID UNTIL 'infinity';
GRANT rol_consulta TO gisweb;
GRANT rol_editor_saa TO gisweb;
GRANT rol_editor_sdp TO gisweb;
GRANT rol_editor_ses TO gisweb;
COMMENT ON ROLE gisweb
  IS 'Usuario do Modulo GisWEB';

CREATE ROLE gisadmin LOGIN ENCRYPTED PASSWORD 'md5af2f8175a1be926bdf99e0f8ea8110cf'
  SUPERUSER INHERIT CREATEDB CREATEROLE REPLICATION
   VALID UNTIL 'infinity';
GRANT ALL ON DATABASE gis TO gisadmin;

CREATE ROLE comercial2gis LOGIN ENCRYPTED PASSWORD 'md526ca9ac5b020d6e7b85ad286e31016b8'
   NOSUPERUSER NOINHERIT NOCREATEDB NOCREATEROLE NOREPLICATION
   VALID UNTIL 'infinity';
GRANT rol_editor_saa TO comercial2gis;

Instalação das extensões para o Postgres

Dica: Não utilizar o rpm para instalar pacotes no Debian. Isto poderá causar sérios danos no seu sistema.

Para instalar um pacote rpm utilizar o alien.

TDS_FDW

O tds_fdw é uma extensão que permite ao Postgres no Linux, acessar um banco de dados externo SQLServer.

Para a instalação do mesmo, seguir o seguinte procedimento:

PATH="$PATH:/usr/sbin:/sbin"

cd ~/Downloads

wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm (para obter o pacote alien)

apt-get install alien (para converter o pacote .rpm em .deb)

dpkg -i epel-release_7-10_all.deb (para instalar o pacote epel-release)

apt-get install freetds-dev

apt-get install freetds-common

wget https://github.com/GeoffMontee/tds_fdw/archive/v1.0.7.tar.gz

tar -xvzf v1.0.7.tar.gz

cd tds_fdw-1.0.7

apt-get install postgresql-server-dev-9.4 (instalar para poder compilar)

apt-get install sudo (este não precisar instalar pois já estamos em root)

apt-get install make

apt-get update 

apt-get upgrade

apt-get install build-essential

(agora altere o arquivo ~/Downloads/tds_fdw.control substituindo a seguinte linha. Isto é necessário pois foi utilizado o instalador EnterpriseDB para instalar o Postgres. Veja link no início da página em **Instruções de instalação do Postgres no Linux Debian**)

(de: module_pathname = '$libdir/tds_fdw')

(para: module_pathname = '/usr/lib/postgresql/9.4/lib/tds_fdw')

(isso é feito pois o Postgres foi instalado em outro diretório)

make USE_PGXS=1

sudo make USE_PGXS=1 install

(copie os arquivos gerados para o diretório do Postgres, pois ele está em outro diretório, diferente do especificado no make. Isto é necessário pois foi utilizado o instalador EnterpriseDB para instalar o Postgres. Veja link no início da página em **Instruções de instalação do Postgres no Linux Debian**)

cp ~/Downloads/tds_fdw-1.0.7/tds_fdw.so /opt/PostgreSQL/9.4/lib/tds_fdw.so

cp ~/Downloads/tds_fdw-1.0.7/tds_fdw.control /opt/PostgreSQL/9.4/share/postgresql/extension/tds_fdw.control

cp ~/Downloads/tds_fdw-1.0.7/tds_fdw--1.0.7.sql /opt/PostgreSQL/9.4/share/postgresql/extension/tds_fdw--1.0.7.sql

Mais informações selecione:

repositório epel

conversão .rpm para .deb

aqui

instruções de instalação tds_fdw

aqui

aqui

Lista de extensões para instalar

As seguintes extensões deverão ser instaladas, com os seguintes comandos:

create extension adminpack;

create extension hstore;

create extension postgis;

create extension tablefunc;

create extension tds_fdw;

Conexão com banco de dados SQLServer externo

Para se conectar ao banco de dados SQLServer através da extensão tds_fdw, criar um **Foreign Data Warpper* no Postgres.

CREATE SERVER daescs
   FOREIGN DATA WRAPPER tds_fdw
  OPTIONS (servername '192.168.0.253',port '1433');
ALTER SERVER daescs
  OWNER TO postgres;

CREATE SERVER sgiweb
   FOREIGN DATA WRAPPER tds_fdw
  OPTIONS (servername 'sgiweb',tds_version '7.0',msg_handler 'notice');
ALTER SERVER sgiweb
  OWNER TO postgres;

Acesso a uma tabela do SQLServer

CREATE FOREIGN TABLE vw_daecom_ligacao
   (cod_dae integer NOT NULL,
    inscr_iptu character varying(10) ,
    cod_categoria integer ,
    qtd_economias integer ,
    num_caderno character varying(20) ,
    cod_hidrometro integer ,
    num_hidrometro character varying(20) ,
    cnpjcpf character varying(20) )
   SERVER daescs
   OPTIONS (query 'SELECT COD_DAE, INSCR_IPTU, COD_CATEGORIA, QTD_ECONOMIAS, NUM_CADERNO, COD_HIDROMETRO, NUM_HIDROMETRO, CNPJCPF FROM DAEComercial.dbo.VW_GCO_DAECOMERCIAL_CAD_CADASTRO');
ALTER FOREIGN TABLE vw_daecom_ligacao
  OWNER TO gisadmin;
CREATE FOREIGN TABLE gcd_consumo_mensal
   (pea_id integer NOT NULL,
    msetor_id character varying(30) ,
    consumo_mensal real ,
    mes integer ,
    ano integer )
   SERVER sgiweb
   OPTIONS (query 'SELECT PEA_ID, MSETOR_ID, CONSUMO_MENSAL, MES, ANO FROM SGIWEB.dbo.[VW_GCD_CONSUMO_MENSAL]');
ALTER FOREIGN TABLE gcd_consumo_mensal
  OWNER TO postgres;
 Accessing SQL Server Data

Now that we have a way to "talk" to SQL Server, let's create some PostgreSQL objects to access a remote table. If you already don't have a query window open against the adventureworks2012 database, open it from pgAdmin.

Step 1: Execute the following command to create a foreign server (change whatever IP address SQL Server is running with). The servername parameter can also be the host name of the SQL Server, but we have decided to use the IP address to eliminate any confusion:

CREATE SERVER mssql_adworks2012_server
FOREIGN DATA WRAPPER tds_fdw
OPTIONS (servername '10.51.2.228', port '1433');

Step 2: Once the query completes, run the following command to make a mapping between the local PostgreSQL user and the remote sa user:

CREATE USER MAPPING FOR postgres
SERVER mssql_adworks2012_server
OPTIONS (username 'sa', password 'mypassword');

Step 3: And finally, execute the following command to create the foreign table definition:

CREATE FOREIGN TABLE mssql_adworks2012_Sales_SalesPerson_table (
    BusinessEntityID int NOT NULL,
    TerritoryID int NULL,
    SalesQuota money NULL,
    Bonus money NOT NULL,
    CommissionPct real NOT NULL,
    SalesYTD money NOT NULL,
    SalesLastYear money NOT NULL,
    ModifiedDate text NOT NULL
)

SERVER mssql_adworks2012_server 
OPTIONS (database 'AdventureWorks2012', query 'SELECT BusinessEntityID, TerritoryID, SalesQuota, Bonus, CommissionPct, SalesYTD, SalesLastYear,ModifiedDate FROM Sales.SalesPerson');

If you compare the code for the foreign table with the scripted original table definition, you will see some major differences. That's because of the limitations related to foreign tables. At the time of writing this tip, you can't define a primary key constraint in a foreign table. We also had to water down the data types to make it work with PostgreSQL. For example, ModifiedDate has a date time value in SQL Server. The values in this column can't be easily mapped to PostgreSQL date or timestamp data type, so we defined the field with text data type to keep it really simple. Same goes for the rowguid field. It wouldn't even map to PostgreSQL' text data type so we decided not to port it across.

Esquemas banco GIS para saneamento

gw_saa - água gw_ses - esgoto gw_sdp - drenagem sc_mbc - mapeamento básico public - possui tabelas do banco comercial (extrangeiras). No nosso caso SQLServer

Conversão SQLServer para Postgres

SqlServer Postgres
varchar(n) character varing (n)
varchar(n) character varing (n)
bit boolean
numeric (p,s) numeric (p,s)
numeric (p,s) numeric (p,s)

Referências

Conversão SqlServer para Postgresql


Last edited by José Maria Villac Pinheiro