segunda-feira, 19 de setembro de 2011

Trabalho Bimestral - Banco de Dados PostGre


Modelo de Dados do Banco

PostgreSQL  é um sistema gerenciador de banco de dados  objeto relacional  (SGBDOR), desenvolvido como projeto de código aberto, o PostgreSQL é um dos SGBDs (Sistema Gerenciador de Bancos de Dados) de código aberto mais avançados, contando com recursos como:
* Consultas complexas
* Chaves estrangeiras
* Integridade transacional
* Controle de concorrência multi-versão
* Suporte ao modelo híbrido objeto-relacional
* Gatilhos
* Visões
* Linguagem Procedural em várias linguagens (PL/pgSQL, PL/Python, PL/Java, PL/Perl) para Procedimentos armazenados
* Indexação por texto
* Estrutura para guardar dados Georeferenciados PostGIS

Plataformas

Em geral, qualquer plataforma moderna  compatível com Unix deve ser capaz de executar o PostgreSQL. As plataformas que foram testadas antes do lançamento de uma versão são listadas nas instruções de instalação.
O PostgreSQL também executa nativamente nos sistemas operacionais Microsoft Windows baseados no NT tais como Win200 SP4, WinXP e Win2003. Um instalador pré-empacotado está disponível em http://pgfoundry.org/projects/pginstaller. Versões do Windows baseadas no MS-DOS (Win95, Win98, WinMe) podem executar o PostgreSQL utilizando o Cygwin.
Há também uma versão para o Novell Netware 6  e uma versão para OS/2 (eComStation).

Fabricante e Desenvolvedor

O PostgreSQL é um projeto open source coordenado pelo PostgreSQL Global Development Group. Embora as atividades do grupo sejam patrocinadas por diversas organizações de todo o mundo.
Portanto, o desenvolvimento do PostgreSQL é feito por um grupo de desenvolvedores, em sua maioria voluntários, espalhados por todo o mundo e que se comunicam via Internet. Logo, trata-se, de um projeto direcionado pela comunidade de desenvolvedores e de usuários, a qual qualquer pessoa pode se juntar, bastando se inscrever em listas de discussão e delas participarem.

Características Principais

Limite de Banco de Dados

Tamanho ilimitado de registro: não impõe limites no tamanho de armazenamento dos tipos de dados. Com a arquitetura TOAST (The Oversized-Attribute Storage Technique), os únicos limites de armazenamento de tipos de dados são impostos pela configuração do hardware.

Se um tipo de dado não se ajustar ao tamanho do bloco, atributos únicos podem ser automaticamente comprimidos ou movidos, ou ainda comprimidos fora do registro e armazenados independentemente, dentro de uma tabela relacionada. É possível armazenar registros longos, de qualquer tamanho e com ótima performance.


Tamanho máximo de um banco
Ilimitado
Tamanho máximo de uma tabela
64TB
Tamanho máximo de um registro
Ilimitado para a versão 7.1 e posteriores
Tamanho máximo de um campo
1GB para a versão 7.1 e posteriores
Máximo de linhas numa tabela
Ilimitado
Máximo de colunas numa tabela
1600
Máximo de índices numa tabela
Ilimitado


Versão de SQL utilizada

O Grupo de Desenvolvimento Global do PostgreSQL anuncia o lançamento do PostgreSQL 9.0, a versão mais recente do banco de dados relacional de código aberto mais avançado do mundo.

Suporte a Características do SQL

Stored procedures são, normalmente, pequenos pedaços de código que ficam armazenados no lado do servidor de banco de dados. A construção desses pedaços de código é tida como uma boa prática por programadores que podem, por exemplo, deixar no lado do servidor códigos complexos que são utilizados por vários aplicativos, evitando a necessidade de replicá-los em cada um deles. Diferentemente de outros SGBDs que tratam os conceitos de procedimentos armazenados, gatilhos e funções como coisas distintas, o PostgreSQL trata todos eles como funções. Essas funções têm características diferentes, mas são todas criadas como funções ou functions. Por exemplo, o que diferencia uma função de trigger (gatilho) das outras é o tipo de dado que ela retorna. Falaremos sobre gatilhos em artigos mais adiante. Então, a partir de agora utilizaremos o termo função para nos referirmos aos nossos procedimentos armazenados.

Triggers são procedimentos armazenados que são acionados por algum evento e em determinado momento. Na maioria dos bancos de dados estes eventos podem ser inserções (INSERT), atualizações (UPDATE) e exclusões (DELETE), e os momentos podem ser dois: antes da execução do evento (BEFORE) ou depois (AFTER). E isso também vale para o PostgreSQL. Um diferencial das triggers deste banco de dados para outros é que no PostgreSQL as triggers são sempre associadas a funções de triggers e, nos demais, criamos o corpo da trigger na própria declaração desta. O PostgreSQL possui dois tipos de triggers: triggers-por-linha e triggers-por-instrução. A trigger-por-linha é disparada uma vez para cada registro afetado pela instrução que disparou a trigger. Já a trigger-por-instrução é disparada somente uma vez quando a instrução é executada.

Funções de triggers são funções que não recebem nenhum parâmetro e retornam o tipo trigger. Essas funções recebem uma estrutura chamada TriggerData, e esta é passada internamente para a função pelo PostgreSQL, devem ser escritas em C (linguagem C) ou alguma linguagem procedural disponível no banco de dados. Essas liguagens podem ser várias, como Ruby, Perl, Python, entre outras.
Atualmete existem quatro linguagens procedurais disponíveis na distribuição padrão do PostgreSQL: PL/pgSQL, PL/Tcl, PL/Perl e PL/Python. Mas é possível que o usuário defina outras linguagens.


Documentação ou Suporte

Suporte

O PostgreSQL tem uma ampla variedade de opções de suporte comercial e da comunidade disponível para os seus usuários. Veja abaixo a seção "Comunidade" para ver detalhes das opções disponíveis para os usuários da comunidade de PostgreSql, incluindo listas de discussão e IRC. E não se esqueça de ler o FAQ e a documentação.

Suporte Comercial
Suporte comercial está disponível a partir de uma das muitas empresas que oferecem suporte profissional ao PostgreSQL. Uma lista de empresas que oferecem serviços de hospedagem com acesso ao PostgreSQL também está disponível.

Suporte da Comunidade
O PostgreSQL é bem suportado pela sua ativa comunidade. O desenvolvimento corrente é registrado no Noticiário Semanal do PostgreSQL e em mais de uma dúzia de listas categorizadas em tópicos como administração, anúncios, empregos, performance e SQL. Nós também temos vários Grupos de Usuários espalhados pelo mundo com informações sobre PostgreSQL em várias linguas. Os recursos da comunidade estão listados abaixo:

Documentação

FAQ (Inglês)
FAQ pt_BR
Artigos (Inglês)
Artigos (pt_BR)
Lista de Discussão PGBR-Geral (Comunidade Brasileira)
Lista de Discussão PGBR-Dev (Organização da Comunidade Brasileira)
Lista de Discussão PGBR-Eventos (Anúncio de Eventos da Comunidade Brasileira)
Listas de Discussão Internacionais
Planeta PostgreSQL Brasil (agregador de sites/blogs brasileiros)
Planet PostgreSQL Internacional (agregador de sites/blogs internacional)
Canal Brasileiro no IRC: #postgresql-br em irc.freenode.net
Outros canais no IRC

Licenças (valores para servidor e estação)

O PostgreSQL usa a licença BSD, que requer apenas que o código fonte licenciado mantenha seu direito de cópia e informação da licença. Esta licença certificada pela OSI é amplamente vista como flexível e amigável às empresas, já que ela não restringe o uso do PostgreSQL com aplicações comerciais e proprietárias. Juntamente com suporte de múltiplas empresas e propriedade pública do código, a licença BSD torna o PostgreSQL muito popular com fabricantes que querem anexar um banco de dados com seus próprios produtos sem medo de ônus financeiro, prisão à um só fabricante, ou mudanças nos termos de licenças.
LICENÇAS OPEN SOURCES Algumas licenças: General Public License (Licença Pública Geral): A GPL é a licença com maior utilização por parte de projetos de software livre, em grande parte devido à sua adoção para o projeto GNU e o sistema operacional GNU/Linux. Licença Apache é uma licença para software livre (open source) de autoria da Apache Software Foundation (ASF). Todo software produzido pela ASF ou qualquer um dos seus projetos e subprojetos é licenciado de acordo com os termos da licença Apache.
BSD permite que o software distribuído sob a licença, seja incorporado a produtos proprietários. Trabalhos baseados no material podem até ser liberados com licença proprietária. Alguns exemplos notáveis são: o uso de código do BSD (funções de rede de computadores) em produtos da Microsoft, e o uso de muitos componentes do FreeBSD no sistema Mac OS X da Apple Computer. COMPARANDO LICENÇAS GPL BSD Express - Limitação ao tamanho dos dados (máximo 4GB) - Limitação ao tamanho de memória (máximo 1GB) Informix - No Máximo um Processador e 2 GB de memória.

Ferramentas

Algumas ferramentas de projeto, administração e modelagem, que facilitam a vida de quem trabalha com o banco de dados PostgreSQL. Agradecendo a Diogo Biazus, membro do Grupo Global de Desenvolvimento do PostgreSQL, pela contribuição dada a esta coluna.
As ferramentas estão listadas abaixo separadas em 3 categorias:

·       Multiplataforma: rodam em mais de uma plataforma de software (sistema operacional);
·       Linux: rodam em máquinas com o sistema operacional GNU/Linux e
·       Windows: rodam em máquinas com o sistema operacional Microsoft Windows.

Multiplataforma

PGAccess: esta é a interface gráfica para usuário (GUI) original do PostgreSQL, no estilo do navegador de banco de dados do MS Access, escrito em Tcl/Tk. Permite navegar, adicionar e editar tabelas, visões, funções, seqüências, bases de dados e usuários, assim como consultas auxiliadas por gráficos (QBE).
phpPgAdmin: um clone do popular phpMyAdmin, otimizado para o PostgreSQL. Como o próprio nome já diz, foi criado em PHP. Esta é uma ferramenta administrativa muito boa, robusta, e existe uma versão totalmente em português. Funciona muito bem, tem muitas funcionalidades e é código livre.
PGAdmin III: uma interface completa de administração do PostgreSQL, praticamente o cliente oficial.
OpenOffice.org: o OpenOffice.org 2 traz o aplicativo Base que via JDBC permite uma manipulação bem avançada de bases de dados possibilitando o desenvolvimento de formulários e relatórios bem complexos.
Xpg: interface de administração do banco de dados PostgreSQL baseado em Java, com acesso a tabelas e entrada de dados, interface para consultas e habilidade para exportar o resultado das mesmas para relatórios em HTML. Porém tem algumas limitações, algumas funções como criação de índices não podem ser feitas visualmente. É de código livre e tem um instalador RPM.
tedia2sql: conversor de diagramas UML do programa Dia (muito utilizado em plataformas POSIX) para scripts SQL. Esta é a ferramenta que permite criar diagramas de entidade relacional no Dia, e depois converter este modelo para um script SQL, inclusive para PostgreSQL.

Todas plataformas que suportam Java

Druid III: modelagem espartana.
IBM Rational Data Architect: dicionário de dados, modelagem baseados em Eclipse. Suporte não nativo a PostgreSQL, via JDBC.
Squirrel SQL: o Squirrel SQL é uma interface gráfica em Java que permite visualizar e manusear qualquer banco de dados que suporte JDBC, como o PostgreSQL. Recursos adicionais são implementados via plugins.
Aqua Data Studio: outro freeware baseado em Java com um grande número de recursos sofisticados. Sua especialidade está em criar, editar e rodar scripts SQL. Possui cores diferenciadas para sintaxe e completa comandos automaticamente.
DBVisualizer: para quem quer uma ferramenta que funcione com vários bancos de dados diferentes, seja simples para rodar comandos SQL e visualizar a estrutura do banco de dados essa é a ferramenta certa. Não possui funcionalidades administrativas, é um visualizador.
DbWrench: uma interface espartana, para fazer a modelagem. Suporta engenharia reversa e pode ser usado gratuitamente por 30 dias.
Power Architect: Ferramente em Java para modelagem de dados com suporte a engenharia reversa. Licença GPL3

Linux

pgFouine: análise de registros de execução.
Data Architect: ferramenta de modelagem, pode ser usada para gerar bases a partir de um modelo ER (Entidade de Relacionamento). Gera o script SQL e funciona bem com o PostgreSQL, conecta com o banco através do Unix ODBC. Não é código aberto, mas o preço é muito bom para o potencial da ferramenta. Feito em Qt.
Red Hat: um tanto quanto polêmico, mas a Red Hat lançou seu banco de dados baseado no PostgreSQL, beneficiando-nos com novas ferramentas gráficas para projeto e administração de bases de dados.
TOra: originalmente, uma interface de administração de banco de dados Oracle, com habilidades limitadas para administrar bases de dados PostgreSQL (tabelas, visões e funções, somente). Porém, o sofisticado editor de funções do TOra irá funcionar para o PostgreSQL.

Plataforma Windows

Embarcadero ER Studio: uma das mais populares ferramentas de modelagem.
PGExplorer: esta é outra interface de administração de banco de dados PostgreSQL, muito parecida com o PGAdmin II.
DBTools: é uma ferramenta de gerenciamento com ótima usabilidade, desenvolvida por uma empresa brasileira, mas o software e a documentação estão em inglês. Se você for um usuário do antigo DBManager (versão 1.0.15 ou anterior) você irá se surpreender com o DBTools.
Zeos Database Explorer: permite a administração do banco de dados PostgreSQL com a ajuda de uma interface aperfeiçoada com controles avançados. O número de conjuntos de comandos incluem serviços de migração de bases de um ambiente para outro, assim como um utilitário de cópia de segurança da base de dados e restauração da mesma.
PgManager: basicamente, uma versão com mais recursos dos conhecidos PGAdmin II e PGAccess. Agrega suporte a edição de gatilhos e restrições, acha metadados e monitora consultas. Também inclui ferramentas de importação/exportação de múltiplos formatos de dados.
Microsoft Access: exatamente! Você pode usar o Microsoft Access como interface para administração de um banco de dados PostgreSQL. Contudo, você terá que conviver com as limitações impostas pelo ODBC com relação aos recursos que o programa oferece.
ERWin: aparentemente, um dos mais avançados e utilizados modeladores de entidade relacional. Não possui suporte direto ao PostgreSQL, porém, seus recursos flexíveis geram, com pouquíssimas alterações, scripts prontos para o PostgreSQL. Para que o ERWin gere um script compatível com o PostgreSQL, basta criar os domínios necessários em "/Domain Dictionary/" no menu "/Model/" para este banco de dados, como por exemplo SERIAL, INT2 ou SMALLINT, INT4 ou INTEGER, etc.
DeZign for Databases: esta é uma ferramenta de desenvolvimento de banco de dados que usa diagramas de entidade de relacionamento para modelagem e, gera automaticamente esquemas em SQL inclusive para o PostgreSQL. Suporta domínios, gera relatórios e dicionário de dados.
Quest Toad Data Modeller: antigo CaseStudio, esta é outra ferramenta de gerenciamento e projeto de banco de dados utilizando modelagem de diagramas de entidade relacional, também gera scripts SQL para o PostgreSQL e contém alguns recursos diferenciais como por exemplo, suporte a JScript e VBScript.
Genexus: modelador de banco de dados e gerador de aplicações. Ferramenta muito utilizada por grandes e médias empresas, mas amplamente criticada pela (baixa) qualidade do código e dos modelos tipicamente gerados.
Sybase Power Designer: ferramenta avançada de modelagem com suporte ao PostgreSQL, incluindo tabelas, visões, gatilhos, restrições e integridade referencial. Base para o PowerAMC (método Merise) e Quest QDesigner (substituído pelo Toad Data Modeller).


Vantagens

O PostgreSQL é um  banco  maduro, com um histórico de desenvolvimento iniciado em 1977.
Tem as principais características desejadas em um banco de dados:
Recuperação automática após crash de sistema (WAL);
MVCC (controle de concorrência de multi-versão).
Neste mecanismo, processos de leitura não bloqueiam processos de escrita e vice-versa, reduzindo drasticamente (às vezes, eliminando) a contenção entre transações concorrentes e paralisação parcial ou completa (deadlock);
Logging de transações;
Commit / Rollback / Checkpoints;
Triggers / Stored Procedures;
Constraints / Foreign Keys;
Backup On-line;
Algumas mudanças da versão mais recente Replicação e Escalabilidade: Hot Standby, Replicação em Fluxo Administração e Segurança: Atualização in Loco (Upgrade-in-Place) Integrada (pg_upgrade), Autenticação RADIUS, Verificação de Força de Senha (passwordcheck) Comandos de Gestão de Permissões de Banco de Dados Facilitados (GRANT ON ALL e DEFAULT PERMISSIONS) Projeto de Bancos de Dados e SQL: Restrições de Unicidade Postergáveis, Gatilhos Condicionais. Gatilhos por Colunas, Ordenamento em Agregações, Novas "Windowing Functions" (RANGE PRECEEDING e FOLLOWING). Funções Armazenadas (Stored Procedures): Blocos de Código de Procedimento Anônimos (comando DO), Melhorias nas Funções Armazenadas em Perl e Python (incluindo suporte ao Python 3), Chamadas com Parâmetros Nomeados Performance e Recursos Avançados: Mensagens Assíncronas Melhoradas (LISTEN/NOTIFY), Suporte a Windows 64-bit, Otimização para Consultas Geradas por ORM (remoção de JOIN), Chaves Únicas para Dados não Escalares (Exclusion Constraints), Suporte Expantido para Dados Chave-Valor (HStore), Planos de Explain em JSON e XML.
PGAccess : esta é a interface gráfica para usuário (GUI) original do PostgreSQL, no estilo do navegador de banco de dados do MS Access, escrito em Tcl/Tk. phpPgAdmin : um clone do popular phpMyAdmin, otimizado para o PostgreSQL. Esta é uma ferramenta administrativa muito boa, robusta, e existe uma versão totalmente em português. Funciona muito bem, tem muitas funcionalidades e é código livre. PGAdmin III : uma interface completa de administração do PostgreSQL, praticamente o cliente oficial. OpenOffice.org : o OpenOffice.org 2 traz o aplicativo Base que via JDBC permite uma manipulação bem avançada de bases de dados possibilitando o desenvolvimento de formulários e relatórios bem complexos. Xpg: interface de administração do banco de dados PostgreSQL baseado em Java, com acesso a tabelas e entrada de dados, interface para consultas e habilidade para exportar o resultado das mesmas para relatórios em HTML. Porém tem algumas limitações, algumas funções como criação de índices não podem ser feitas visualmente. É de código livre e tem um instalador RPM.

Dump

Realiza dump consistente com o banco de dados on-line sem bloquear usuários.
Podem ser selecionada parte dos objetos na exportação ou importação como permissões, dados, esquemas, etc.
Um dump pode ser exportado ou compactado diretamente para outro banco utilizando pipe!
Método SQL-dump : A idéia por trás do Método SQL-dump é gerar um arquivo texto contendo comandos SQL que, ao serem processados pelo servidor, recriam o banco de dados no mesmo estado em que este se encontrava quando o arquivo foi gerado. O PostgreSQL disponibiliza o programa utilitário pg_dump para esta finalidade. (o pg_dump não bloqueia outras operações no banco enquanto ta executando). Cópia de segurança no nível de sistema de arquivo: Uma estratégia alternativa para fazer cópia de segurança, é copiar diretamente os arquivos que o PostgreSQL usa para armazenar os dados dos bancos de dados. (O servidor de dados precisa estar totalmente parado tanto na hora de fazer a cópia como na hora de restaurar). Cópia de segurança em-linha: Durante todo o tempo, o PostgreSQL mantém o registro de escrita prévia (WAL = write ahead log) no subdiretório pg_xlog do diretório de dados do agrupamento. O WAL contém todas as alterações realizadas nos arquivos de dados do banco de dados. O WAL existe, principalmente, com a finalidade de fornecer segurança contra quedas: se o sistema cair, o banco de dados pode retornar a um estado consistente “refazendo” as entradas gravadas desde o último ponto de controle. Se for necessário fazer a recuperação, pode ser feita a recuperação da cópia de segurança do banco de dados no nível de sistema de arquivos e, depois, refeitas as alterações a partir da cópia dos arquivos de segmento do WAL, para trazer a restauração para o tempo presente.
Acredita-se que a maior vantagem do Software de código aberto como o PostgreSql é o fato que pequenas empresas tem condição de atingir qualidade admirável no seu software com relativamente baixo custo. Um exemplo prático foi a Jynx onde todas as informações são armazenadas num banco de dados relacional PostgreSql.
As principais vantagens do PostgreSql são:
o Imunidade ao fato de não ter que pagar por uma licença, muito menos para várias.
o Performance bastante admirável.
o Multi-plataforma.
o Altamente escalável.
O PostgreSQL tem algumas vantagens com relação ao MySQL, como integridade referencial e suporte a transações NATIVO. O MySQL também oferece esses recursos, mas não é NATIVO, mas usando as tabelas do tipo InnoDB que não é da equipe MySQL AB. Fora que para tirar proveito desse tipo de tabela o MySQL precisa ser mais bem configurado, para reservar espaço para as tabelas, entre
outras providências.

Clientes

Algumas Empresas que Patrocinam o PostgreSQL
- InterpriseDB
- Fijitsu
- RedHat
- Skype
- Sun

Algumas Empresas que usam o PostgreSQL (internacionais)
- Apple
- BASF
- Cisco
- OMS (Organização Mundial de Saúde)

Algumas Empresas que usam o PostgreSQL (nacionais)
- FAB (Força Aérea Brasileira)
- Prefeitura Municipal de Sobral
- Vivo
- DNOCS
- DETRAN do Ceará

História Evolutiva

Após seu retorno a Berkeley, em 1985, Stonebraker começou um projeto pós-Ingres patrocinado pela DARPA (*Defense Advanced Research Projects Agency) e pelo ARO (Army Research Office) com o objetivo de resolver problemas com o modelo de banco de dados relacional. O PostgreSQL é um dos resultados de uma ampla evolução que se iniciou com o projeto Ingres, desenvolvido na Universidade de Berkeley, Califórnia. O líder do projeto, Michael Stonebraker, um dos pioneiros dos bancos de dados relacionais, deixou a universidade em 1982 para comercializar o Ingres, porém retornou a ela logo em seguida. *Agência de Pesquisas em Projetos Avançados. Estas funcionalidades incluíam a habilidade de definir tipos, mas também a habilidade de descrever relações - as quais até este momento eram amplamente utilizadas, mas completamente mantidas pelo usuário. No Postgres, o banco de dados "compreendia" as relações e podia obter informações de tabelas relacionadas utilizando regras. O principal problema era a incapacidade do modelo relacional compreender “tipos” (atualmente, chamados de objetos), ou seja, combinações de dados simples que formam uma única unidade. O projeto resultante, chamado Postgres, era orientado a introduzir a menor quantidade possível de funcionalidades para completar o suporte a tipos. As principais características acrescentadas nas versões 6.x são MVCC (Multiversion Concurrency Control – Controle de Concorrência Multiversões), melhorias no SQL e novos tipos de dados nativos (novos tipos de datas e hora e tipos geométricos). Em agosto de 1996, Marc Fournier, Bruce Momjian e Vadim B. Mikheev lançaram a primeira versão externa da Universidade de Berkeley e deram início à tarefa de estabilizar o código herdado. Também em 1996, o projeto foi renomeado para PostgreSQL a fim de refletir a nova linguagem de consulta ao banco de dados: SQL. A primeira versão de PostgreSQL, a 6.0, foi liberada em janeiro de 1997. Desde então, um grupo de desenvolvedores e de voluntários de todo o mundo, coordenados pela Internet, têm mantido o software e desenvolvido novas funcionalidades. A versão 8.0 foi lançada em janeiro de 2005 e entre outras novidades, foi a primeira a ter suporte nativo para Microsoft Windows (tradicionalmente, o PostgreSQL só rodava de forma nativa em sistemas Unix e, em sistemas Windows - através da biblioteca Cygwin). Dentre as muitas novidades da versão 8.x, pode-se destacar o suporte a tablespaces, savepoints, point-in-time recovery, roles e Two-Phase Commit (2PC). Em julho de 2009 foi lançada a versão mais recente: 8.4. Em maio de 2000 foi liberada a versão 7.0. As versões 7.x trouxeram as seguintes novas funcionalidades: Write-Ahead Log (WAL), esquemas SQL, outer joins, suporte a Ipv6, indexação por texto, suporte melhorado a SSL e informações estatísticas do banco de dados. Em um sistema usando WAL, todas as modificações são gravadas em um log antes de serem aplicadas. Uma das principais vantagens da utilização do WAL é um número reduzido de forma significativa de gravações em disco, pois somente o arquivo de log deve ser liberado para o disco no momento da confirmação da transação, ao invés de cada arquivo de dados alterados pela transação. Em ambientes de multiusuários, efetivações de várias transações podem ser realizadas com um único fsync do arquivo de log.

o Administração e Segurança
o Atualização in Loco (Upgrade-in-Place) Integrada (pg_upgrade)
o Autenticação RADIUS
o Verificação de Força de Senha (passwordcheck)
o Comandos de Gestão de Permissões de Banco de Dados Facilitados (GRANT ON ALL e DEFAULT PERMISSIONS)
o Performance e Recursos Avançados
o Mensagens Assíncronas Melhoradas (LISTEN/NOTIFY)
o Suporte a Windows 64-bit
o Otimização para Consultas Geradas por ORM (remoção de JOIN)
o Chaves Únicas para Dados não Escalares (Exclusion Constraints)
o Suporte Expantido para Dados Chave-Valor (HStore)
o Planos de Explain em JSON e XML

O PostgreSQL 9.0 inclui ainda dezenas de outras grandes melhorias que aprimoram todos os aspectos do projeto e da performance de aplicações de bancos de dados, incluindo: suporte a Windows 64 bits, gatilhos condicionais e por coluna, atualização in loco da 8.3 e 8.4, restrições de unicidade postergáveis, e mensagens assíncronas de alto desempenho.

Nenhum comentário:

Postar um comentário