Quer ter acesso a todos os cursos desse Guia?
Tecnologia PostgreSQL
PostgreSQL é um sistema gerenciador de banco de dados relacionais, desenvolvido como projeto de código aberto.
Introdução
PostgreSQL, comumente chamado de Postgres, é um dos cinco SGBDs relacionais mais utilizados no mercado. De código aberto e gratuito é também uma das primeiras opções consideradas por desenvolvedores no início da construção de um projeto. Neste guia você encontrará cursos, vídeos e artigos com os tópicos mais importantes sobre esse banco, do básico ao avançado.
Você pode começar pelo curso a seguir:
Para aprofundar os conhecimentos, indicamos os seguintes posts:
O que é PostgreSQL?
O PostgreSQL é um sistema de gerenciamento de bancos de dados objeto-relacional de uso geral, um dos mais avançado sistema de banco de dados de código aberto. O PostgreSQL foi desenvolvido com base no POSTGRES 4.2 do Berkeley Computer Science Department, da Universidade da Califórnia.
O PostgreSQL foi projetado para rodar em plataformas semelhantes ao UNIX. No entanto, o PostgreSQL também foi projetado para ser portátil, para que pudesse ser executado em várias plataformas, como Mac OS X, Solaris e Windows.
O PostgreSQL é um software de código aberto. Seu código-fonte está disponível sob licença do PostgreSQL. Você está livre para usar, modificar e distribuir o PostgreSQL de qualquer forma.
O PostgreSQL é muito fácil de manter devido a sua estabilidade. Portanto, se você desenvolver aplicações baseados no PostgreSQL, o custo de desenvolvimento será baixo em comparação com outros sistemas de gerenciamento de banco de dados.
Índices
Índice é um mecanismo utilizado para otimizar o acesso a dados nas tabelas. Normalmente é construído um dicionário de chaves que indicam onde estão localizadas as informações e a ordenação física dos dados de acordo com um critério. No artigo abaixo você verá como usar índices no PostgreSQL:
Full-Text Search é uma técnica para a realização de consultas textuais em grandes volumes de dados. Essa funcionalidade é implementada na forma de um índice no PostgreSQL e permite localizar palavras e frases com grande eficiência dentro de campos textuais, superando as limitações do operador LIKE.
Transações
Bancos de dados relacionais em geral são transacionais, isto é, eles permitem a execução de uma sequência de operações como um bloco indivisível de forma a garantir a integridade dos dados em um ambiente com acesso concorrente. Nos artigos a seguir você compreenderá melhor o conceito de transação e como empregá-lo no PostgreSQL.
Stored procedures, Functions e Triggers
Stored Procedures (SPs) ou Procedimentos Armazenados são blocos PL/SQL nomeados, também chamados de subprogramas, que são armazenados como objetos do banco de dados. Os SPs permitem criar blocos de código que podem conter instruções procedurais e instruções SQL e podem possuir, opcionalmente, parâmetros de entrada e/ou saída.
-
ArtigoTrabalhando com Stored Procedures no PostgreSQL
-
ArtigoComo trabalhar com Stored Procedures e Cursores no Oracle, SQL Server e Firebird e PostgreSQL
Semelhante aos Stored Procedures existem as functions. A diferença principal é que as funções obrigatoriamente devem retornar um valor. As funções são muito utilizadas para computar valores, promover reusabilidade e facilidade de manutenção e podem ser chamadas a partir de instruções SQL.
-
ArtigoUtilização de Functions no PostgreSQL
-
ArtigoTrabalhando com Windows Functions no PostgreSQL
-
ArtigoPostgreSQL: Criação e uso de Stored functions
-
ArtigoFunções internas do PostgreSQL
Já os triggers são blocos de código que podem ser executados quando houver a ocorrência de algum evento associado a eles, como a inserção, modificação ou exclusão de um registro em uma tabela. Consulte os links a seguir para saber mais sobre os triggers e quando usá-los:
Replicação
O objetivo de um mecanismo de replicação de dados é permitir a manutenção de várias cópias idênticas de um mesmo dado em vários servidores de bancos de dados. Os principais benefícios da replicação de dados são a redundância, o que torna o sistema tolerante a falhas; a possibilidade de um balanceamento de carga do sistema, já que o acesso pode ser distribuído entre as réplicas; e finalmente ter o backup online dos dados, já que todas as réplicas estariam sincronizadas.
Particionamento
O particionamento, no contexto de bancos de dados, consiste de dividir as tabelas fisicamente em várias partes menores. Quando isso é feito, queries que acessam apenas uma determinada parte dos dados podem ser executadas de forma mais rápida, pois haverá uma quantidade menor de dados a ser consultada.
Auditoria
Auditoria é uma técnica que consiste de armazenar registros sobre as ações realizadas no banco de dados, a fim de que seja possível identificar o que ocorreu no banco em determinado momento e quem foi o responsável.
Otimização de desempenho
Muitas vezes é necessário aplicar mudanças visando otimizar o desempenho das operações de escrita e leitura de dados. Nesses cenários pode-se empregar um conjunto de técnicas para que as operações de acesso ao banco de dados possam ser realizadas mais rapidamente.
Segurança
Segurança é uma necessidade de qualquer sistema e se estende também aos bancos de dados, pois é necessário garantir, por exemplo, que os dados não sejam acessados por usuários não autorizados.
Nesta seção separamos alguns artigos que tratam de técnicas para aprimorar a segurança dos seus bancos PostgreSQL.
Backup
Hoje em dia as empresas estão, mais do que nunca, procurando manter seus dados seguros e de maneira que sua recuperação seja a mais rápida possível. Pensando nisso, o administrador de banco de dados deve sempre ter em mente quais são suas opções e melhores práticas utilizadas e disponíveis no mercado no que diz respeito a backups e recuperação, algumas das quais você pode conferir no artigo a seguir:
Comparativos entre SGBDs
Comparar SGBDs sempre é um grande desafio, pois cada banco de dados tem suas características que podem ser melhor aproveitadas em determinados contextos. Sendo assim, é importante conhecer as características de cada opção disponível no mercado a fim de optar pela que melhor atende às necessidades do negócio.
Nos posts abaixo você verá comparações entre os principais SGBDs em diversos aspectos.
-
VídeoUm estudo sobre os recursos dos principais SGBDs do mercado
-
VídeoPrincipais funcionalidades do SQL Server, Oracle, MySQL, PostgreSQL e DB2
-
ArtigoComparação de desempenho entre bancos SQL e NoSQL
Os links a seguir demonstram como realizar tarefas comuns nos diferentes bancos, comparando suas sintaxes e estruturas:
-
VídeoImportando arquivos CSV: Oracle, SQL Server, MySQL, PostgreSQL e MongoDB
-
VídeoManipulando datas no Oracle, SQL Server, MySQL, PostgreSQL e MongoDB
-
ArtigoArmazenamento de imagens no PostgreSQL e MySQL
Já o artigo abaixo apresenta os desafios e boas práticas para realizar a migração de bancos de dados entre diferentes SGBDs:
Conteúdo Extra
Nesta seção trazemos reunimos diversos artigos que lhe permitirão aprimorar seus conhecimentos sobre administração e uso do PostgreSQL.
-
ArtigoComo funcionam as Views no PostgreSQL
-
ArtigoTrabalhando com Estruturas de controle no PostgreSQL
-
ArtigoTrabalhando com herança no PostgreSQL
-
ArtigoIntegração de dados com Foreign Data Wrappers
-
ArtigoPostgreSQL distribuído com PgPool-II
-
ArtigoTrabalhando com Large Objects no PostgreSQL
-
DevCastQuatro dicas de bancos de dados
Quem está usando o PostgreSQL
Muitas empresas construíram produtos e soluções usando o PostgreSQL. Algumas empresas em destaque são a Apple, a Fujitsu, a Red Hat, a Cisco, a Juniper Network, etc.
Mais sobre bancos de dados
Além dos vídeos e artigos contidos nesse guia, a DevMedia publica com frequência novos conteúdos sobre bancos de dados, os quais você encontra nos Guias de Consulta abaixo:
-
Guia de CarreiraBanco de dados para Programadores Guia
-
Guia de consultaModelagem de dados Guia
-
Guia de consultaLinguagem SQL Guia
-
Guia de consultaSQL Server Guia
-
Guia de ConsultaMySQL Guia
-
Guia de ConsultaOracle Guia
-
Guia de ConsultaNoSQL e MongoDB Guia
Além do conteúdo apresentado nesse guia, você pode conferir todo o conteúdo de Banco de dados clicando aqui.
<Perguntas frequentes>