SlideShare uma empresa Scribd logo
1 de 27
História
O Postgres, desenvolvido originalmente no Departamento de Ciência de
Computação da Universidade de Berkeley, foi pioneiro em muitos dos
conceitos objeto-relacionais que agora estão disponíveis em alguns bancos
de dados comerciais. Fornece suporte a linguagem SQL92/SQL99,
integridade de transações e extensibilidade de tipos. O PostgreSQL é um
descendente com código aberto do código original desenvolvido em
Berkeley.
Características
O PostgreSQL é um poderoso sistema gerenciador de banco de dados
objeto-relacional de código aberto. Tem mais de 15 anos de
desenvolvimento ativo e uma arquitetura que comprovadamente
ganhou forte reputação de confiabilidade, integridade de dados e
conformidade a padrões. Roda em todos os grandes sistemas
operacionais:
 GNU/Linux,
 Unix
 AIX,
 BSD,
 HP-UX,
 SGI IRIX,
 Mac OS X,
 Solaris,
 Tru64,
 e MS Windows
Características
É totalmente compatível com ACID, tem suporte completo a chaves
estrangeiras, junções (JOINs), visões, gatilhos e procedimentos
armazenados (em múltiplas linguagens). Inclui a maior parte dos tipos
de dados do ISO SQL:1999, incluindo INTEGER, NUMERIC, BOOLEAN,
CHAR, VARCHAR, DATE, INTERVAL, e TIMESTAMP. Suporta também o
armazenamento de objetos binários, incluindo figuras, sons ou vídeos.
Possui interfaces nativas de programação para:
 C/C++,
 Java,
 .Net,
 Perl,
 Python,
 Ruby,
 Tcl,
 ODBC
Características
Como um banco de dados de nível corporativo, o PostgreSQL possui
funcionalidades sofisticadas como:
 o controle de concorrência multiversionado (MVCC),
 recuperação em um ponto no tempo (PITR),
 tablespaces,
 replicação assíncrona,
 transações agrupadas (savepoints),
 cópias de segurança
(online/hot backup),
 planejador de consultas (otimizador),
 registrador de transações sequencial
(WAL) para tolerância a falhas.
Características
 Suporta conjuntos de caracteres internacionais,
 codificação de caracteres multibyte,
 Unicode e sua ordenação por localização,
 sensibilidade a caixa (maiúsculas e minúsculas) e formatação.
Características
É altamente escalável, tanto na quantidade enorme de
dados que pode gerenciar, quanto no número de
usuários concorrentes que pode acomodar. Existem
sistemas ativos com o PostgreSQL em ambiente de
produção que gerenciam mais de 4TB de dados.
Alguns limites do PostgreSQL estão incluídos na tabela
abaixo:
Tamanho Máximo do Banco de Dados Ilimitado
Tamanho máximo de uma Tabela 32 TB
Tamanho Máximo de uma Linha 1.6 TB
Tamanho Máximo de um Campo 1 GB
Máximo de Linhas por Tabela Ilimitado
Máximo de Colunas por Tabela 250–1600
Máximo de Índices por Tabela Ilimitado
Peculiaridades
PostgreSQL automaticamente converte todos identificadores (tipo
nomes de tabela/coluna) para minúsculo na criação do objeto e na
query. Para força o uso misto de maiúsculo ou minúsculo, você precisa
usar escape no identificador usando aspas dupla ("").
Peculiaridades
PostgreSQL não tem comandos especiais para obter informação dos
dados do banco de dados (dicionário de dados) (tipo todas as tabelas do
banco de dados atual). Ao invés, há um schema padrão chamado
information_schema no PostgreSQL 7.4 e superior contendo views do
sistema com todas as informações necessárias, em um form fácil de
acessá-las.
pSQL
O psql é um cliente no modo terminal do PostgreSQL.
Permite digitar comandos interativamente, submetê-
los para o PostgreSQL e ver os resultados. Como
alternativa, a entrada pode vir de um arquivo. Além
disso, disponibiliza vários meta-comandos e diversas
funcionalidades semelhantes às do interpretador de
comandos (shell) para facilitar a criação de scripts e
automatizar um grande número de tarefas.
PGADMIN
Existem várias ferramentas de administração disponíveis
para o PostgreSQL. A mais popular é a pgAdmin, e
existem várias outras ferramentas comerciais disponíveis.
Criação de banco
ADD SERVER
ADDRESS 127.0.0.1
DESCRIPTION CDTeste
SERVICE Teste
PORT 5432
MAINTENANCE DB Postgres
USERNAME Postgres
SENHA system
Criação de tabelas
create table cd (
codigo_cd int not null,
codigo_gravadora int not null,
nome_cd varchar(50) not null,
preco_venda decimal (5,2) not null,
data_lancamento smalldatetime not null,
cd_indicado int not null);
create table cd (
codigo_cd integer UNIQUE NOT NULL,
codigo_gravadora integer not null,
nome_cd varchar(50) not null,
preco_venda numeric (5,2) not null,
data_lancamento timestamp not null,
cd_indicado integer not null);
Criação de tabelas – Chaves PK e FK
alter table cd add primary key (codigo_cd);
alter table cd ADD CONSTRAINT cd_codigo_cd_pkey PRIMARY KEY
(codigo_cd);
alter table cd add foreign key (cd_indicado) references cd;
alter table cd
add constraint fk_cd_cd
foreign key (codigo_cd)
references cd (codigo_cd);
Criação de tabelas - Inserções
insert into estado values('AC', 'Acre');
insert into estado values('AL', 'Alagoas');
insert into estado values('AP', 'Amapá');
insert into estado (id, title, author_id, subject_id)
VALUES (41472, 'Practical PostgreSQL', 1212, 4);
Restrições
Constrain CHECK
Ao criar uma tabela podemos prever que o banco exija que o valor de um campo satisfaça
uma expressão
--Restrição de verificação
CREATE TABLE products (
product_no integer,
name text,
price numeric CHECK (price > 0)
);
--Restrição de valor não nulo
CREATE TABLE products (
product_no integer NOT NULL,
name text NOT NULL,
price numeric NOT NULL CHECK (price > 0)
);
Restrições
Constrain UNIQUE
Garante que os dados contidos em uma coluna ou um grupo de colunas, é único no que diz
respeito a todas as linhas na tabela.
CREATE TABLE products (
product_no integer UNIQUE,
name text,
price numeric
);
Herança
CREATE TABLE cidades (
nome text,
populacao real,
altitude int -- (em pés)
);
CREATE TABLE capitais (
estado char(2)
) INHERITS (cidades);
Esquemas
Um banco de dados pode conter vários esquemas e dentro de cada um desses
podemos criar várias tabelas. Ao invés de criar vários bancos de dados, criamos
um e criamos esquemas dentro desse. Isso permite uma maior flexibilidade, pois
uma única conexão ao banco permite acessar todos os esquemas e suas tabelas.
Portanto devemos planejar bem para saber quantos bancos precisaremos,
quantos esquemas em cada banco e quantas tabelas em cada esquema.
Regras
O comando CREATE RULE cria uma regra aplicada à tabela ou visão especificada.
Uma regra faz com que comandos adicionais sejam executados quando um
determinado comando é executado em uma determinada tabela.
É importante perceber que a regra é, na realidade, um mecanismo de
transformação de comando, ou uma macro de comando.
As RULES (regras) permitem executar uma
ação alternativa em: inclusão, alteração,
exclusão e seleção (somente em caso de
visões).
Em outras palavras, uma regra faz com
que sejam executados comandos
adicionais quando é executado um
determinado comando em uma tabela.
Diferentemente das regras, os TRIGGERS
(gatilhos) podem ser acionados antes
(before) ou depois (after) de alguma ação
de insert, update e delete.
Diferenças entre o SQL Server e PostgreSQL
Escolhendo um servidor de banco de dados não é simples. SQL Server,
PostgreSQL e todos oferecem uma forma de organizar e armazenar
dados, mas cada um tem seus próprios benefícios exclusivos. Escolha a
que melhor atenda às suas necessidades começa com a compreensão
das diferenças entre essas opções.
Diferenças entre o SQL Server e PostgreSQL
Sistema Operacional
Nem todos os servidores de banco de dados podem ser executados em
qualquer sistema operacional. O programa de banco de dados
PostgreSQL pode ser executado em Windows 2000 ou superior, Mac,
Unix e Linux.
SQL Server só roda em Windows XP ou qualquer versão do Windows
2000 ou superior.
Diferenças entre o SQL Server e PostgreSQL
Instalação e Manutenção
Instalação e manutenção de banco de dados é o que vai gastar a maior
parte do seu tempo depois de baixá-lo. SQL Server é bem mais
complicado que o PostgreSQL. Independentemente disso, em ambos
será necessário algum treino para entender e administrar se a pessoa
encarregada de bases de dados da organização é nova para a tecnologia.
Diferenças entre o SQL Server e PostgreSQL
Vistas
Os programas variam um pouco na forma como você pode usar views. O
SQL Server permite views atualizáveis, materializaveis, e intercambiáveis.
O PostgreSQL também suporta exibições atualizáveis, mas o designer
tem que escrever regras contra views ordenadas para atualizá-las.
Diferenças entre o SQL Server e PostgreSQL
Recursos disponíveis apenas no PostgreSQL
O banco de dados PostgreSLQ tem mais recursos internos. Por exemplo,
permite que o SQL dinâmico e ação em funções. Em outras palavras,
você pode usar funções de ação dentro de declarações SELECT. Suporta
índices funcionais e parciais e é o único que pode definir funções
personalizadas agregadas em C, SQL, plpgsql, e qualquer linguagem PL.
Recursos disponíveis apenas no PostgreSQL
O banco de dados PostgreSLQ tem mais recursos internos. Por exemplo,
permite que o SQL dinâmico e ação em funções. Em outras palavras,
você pode usar funções de ação dentro de declarações SELECT. Suporta
índices funcionais e parciais e é o único que pode definir funções
personalizadas agregadas em C, SQL, plpgsql, e qualquer linguagem PL.
Diferenças entre o SQL Server e PostgreSQL
Dúvidas?
Obrigado.

Mais conteúdo relacionado

Mais procurados

Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)
Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)
Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)Thanh Bùi
 
Git - An Introduction
Git - An IntroductionGit - An Introduction
Git - An IntroductionBehzad Altaf
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POODaniel Brandão
 
Redes de Computadores - Aula 02
Redes de Computadores - Aula 02Redes de Computadores - Aula 02
Redes de Computadores - Aula 02thomasdacosta
 
Arquitetura de dispositivos móveis
Arquitetura de dispositivos móveis Arquitetura de dispositivos móveis
Arquitetura de dispositivos móveis Italo Andrade
 
Apostila 5 processos e threads
Apostila 5   processos e threadsApostila 5   processos e threads
Apostila 5 processos e threadsPaulo Fonseca
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)Armando Daniel
 
Aula 3 - Sistemas operacionais - Linux
Aula 3 - Sistemas operacionais - LinuxAula 3 - Sistemas operacionais - Linux
Aula 3 - Sistemas operacionais - LinuxLucasMansueto
 
Sistemas operativos módulo2 - ms dos
Sistemas operativos   módulo2 -  ms dosSistemas operativos   módulo2 -  ms dos
Sistemas operativos módulo2 - ms dosteacherpereira
 
Modelos de banco de dados
Modelos de banco de dadosModelos de banco de dados
Modelos de banco de dadosEdgar Stuart
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPDaniel Brandão
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADLeinylson Fontinele
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasRodrigo Branas
 

Mais procurados (20)

Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)
Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)
Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)
 
Git - An Introduction
Git - An IntroductionGit - An Introduction
Git - An Introduction
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Redes de Computadores - Aula 02
Redes de Computadores - Aula 02Redes de Computadores - Aula 02
Redes de Computadores - Aula 02
 
Comandos CMD
Comandos CMDComandos CMD
Comandos CMD
 
Arquitetura de dispositivos móveis
Arquitetura de dispositivos móveis Arquitetura de dispositivos móveis
Arquitetura de dispositivos móveis
 
Apostila 5 processos e threads
Apostila 5   processos e threadsApostila 5   processos e threads
Apostila 5 processos e threads
 
Banco De Dados
Banco De DadosBanco De Dados
Banco De Dados
 
MVC
MVCMVC
MVC
 
Introdução ao SQL
Introdução ao SQLIntrodução ao SQL
Introdução ao SQL
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
 
Aula 3 - Sistemas operacionais - Linux
Aula 3 - Sistemas operacionais - LinuxAula 3 - Sistemas operacionais - Linux
Aula 3 - Sistemas operacionais - Linux
 
Sistemas operativos módulo2 - ms dos
Sistemas operativos   módulo2 -  ms dosSistemas operativos   módulo2 -  ms dos
Sistemas operativos módulo2 - ms dos
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
Modelos de banco de dados
Modelos de banco de dadosModelos de banco de dados
Modelos de banco de dados
 
SO-10 Entrada e Saída: Software
SO-10 Entrada e Saída: SoftwareSO-10 Entrada e Saída: Software
SO-10 Entrada e Saída: Software
 
Linguagem assembly
Linguagem assemblyLinguagem assembly
Linguagem assembly
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHP
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo Branas
 

Destaque

Postgre S Q L Apresentacao U F C
Postgre S Q L Apresentacao U F CPostgre S Q L Apresentacao U F C
Postgre S Q L Apresentacao U F CRibamar Sousa
 
Apostila de postgre
Apostila de postgreApostila de postgre
Apostila de postgrems6675
 
Novidades da versão 9.0 do PostgreSQL
Novidades da versão 9.0 do PostgreSQLNovidades da versão 9.0 do PostgreSQL
Novidades da versão 9.0 do PostgreSQLMatheus Espanhol
 
Minicurso PostgreSQL
Minicurso PostgreSQLMinicurso PostgreSQL
Minicurso PostgreSQLDiogo Biazus
 
PostgreSQL: Performance Tuning
PostgreSQL: Performance TuningPostgreSQL: Performance Tuning
PostgreSQL: Performance TuningFernando Ike
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQLbrobelo
 
Ten Reasons Why You Should Prefer PostgreSQL to MySQL
Ten Reasons Why You Should Prefer PostgreSQL to MySQLTen Reasons Why You Should Prefer PostgreSQL to MySQL
Ten Reasons Why You Should Prefer PostgreSQL to MySQLanandology
 

Destaque (17)

Postgre S Q L Apresentacao U F C
Postgre S Q L Apresentacao U F CPostgre S Q L Apresentacao U F C
Postgre S Q L Apresentacao U F C
 
Por que PostgreSQL?
Por que PostgreSQL?Por que PostgreSQL?
Por que PostgreSQL?
 
Modelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDSModelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDS
 
Se meu elefante falasse
Se meu elefante falasseSe meu elefante falasse
Se meu elefante falasse
 
Apostila de postgre
Apostila de postgreApostila de postgre
Apostila de postgre
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Conceitos E Aplicações
Conceitos E AplicaçõesConceitos E Aplicações
Conceitos E Aplicações
 
Postgre sql
Postgre sqlPostgre sql
Postgre sql
 
Novidades da versão 9.0 do PostgreSQL
Novidades da versão 9.0 do PostgreSQLNovidades da versão 9.0 do PostgreSQL
Novidades da versão 9.0 do PostgreSQL
 
Minicurso PostgreSQL
Minicurso PostgreSQLMinicurso PostgreSQL
Minicurso PostgreSQL
 
PostgreSQL: Performance Tuning
PostgreSQL: Performance TuningPostgreSQL: Performance Tuning
PostgreSQL: Performance Tuning
 
Postgre Sql
Postgre SqlPostgre Sql
Postgre Sql
 
Introdução ao MySQL
Introdução ao MySQLIntrodução ao MySQL
Introdução ao MySQL
 
Postgre sql
Postgre sqlPostgre sql
Postgre sql
 
SGBD Postgresql
SGBD PostgresqlSGBD Postgresql
SGBD Postgresql
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Ten Reasons Why You Should Prefer PostgreSQL to MySQL
Ten Reasons Why You Should Prefer PostgreSQL to MySQLTen Reasons Why You Should Prefer PostgreSQL to MySQL
Ten Reasons Why You Should Prefer PostgreSQL to MySQL
 

Semelhante a O que é PostgreSQL: história, características e peculiaridades do banco de dados de código aberto

PostgreSQL-Prático.pdf
PostgreSQL-Prático.pdfPostgreSQL-Prático.pdf
PostgreSQL-Prático.pdfArleiEvaristo
 
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdfQuitriaSilva550
 
Migração de Oracle para PostgreSQL - FISL
Migração de Oracle para PostgreSQL - FISLMigração de Oracle para PostgreSQL - FISL
Migração de Oracle para PostgreSQL - FISLFabio Telles Rodriguez
 
Bancos de dados open source
Bancos de dados open sourceBancos de dados open source
Bancos de dados open sourceRodrigo Aurélio
 
37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_serverJosé Henrique Sento Sé
 
37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_serverArt IT
 
Fazendo Um Elefante Passar Debaixo da Porta - CONSEGI
Fazendo Um Elefante Passar Debaixo da Porta - CONSEGIFazendo Um Elefante Passar Debaixo da Porta - CONSEGI
Fazendo Um Elefante Passar Debaixo da Porta - CONSEGIFabio Telles Rodriguez
 
Funcionalidades das versões 9.x do PostgreSQL
Funcionalidades das versões 9.x do PostgreSQLFuncionalidades das versões 9.x do PostgreSQL
Funcionalidades das versões 9.x do PostgreSQLMatheus Espanhol
 
Arquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosArquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosdiogocbj
 
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6Wagner Bianchi
 
Aula_TuningProf.Celinia_Equipe_Amós Lhips
Aula_TuningProf.Celinia_Equipe_Amós LhipsAula_TuningProf.Celinia_Equipe_Amós Lhips
Aula_TuningProf.Celinia_Equipe_Amós LhipsAmós Lhips
 
Apostila de Sql Server 2005
Apostila de Sql Server 2005Apostila de Sql Server 2005
Apostila de Sql Server 2005Andre Nascimento
 
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0Marcos William Valentini
 
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0Marcos William Valentini
 

Semelhante a O que é PostgreSQL: história, características e peculiaridades do banco de dados de código aberto (20)

PostgreSQL-Prático.pdf
PostgreSQL-Prático.pdfPostgreSQL-Prático.pdf
PostgreSQL-Prático.pdf
 
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
 
PostgreSQL Conceitos e aplicações
PostgreSQL  Conceitos e aplicaçõesPostgreSQL  Conceitos e aplicações
PostgreSQL Conceitos e aplicações
 
Migração de Oracle para PostgreSQL - FISL
Migração de Oracle para PostgreSQL - FISLMigração de Oracle para PostgreSQL - FISL
Migração de Oracle para PostgreSQL - FISL
 
Bancos de dados open source
Bancos de dados open sourceBancos de dados open source
Bancos de dados open source
 
37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server
 
37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server
 
NoSql e NewSql
NoSql e NewSqlNoSql e NewSql
NoSql e NewSql
 
Db2
Db2Db2
Db2
 
Fazendo Um Elefante Passar Debaixo da Porta - CONSEGI
Fazendo Um Elefante Passar Debaixo da Porta - CONSEGIFazendo Um Elefante Passar Debaixo da Porta - CONSEGI
Fazendo Um Elefante Passar Debaixo da Porta - CONSEGI
 
Funcionalidades das versões 9.x do PostgreSQL
Funcionalidades das versões 9.x do PostgreSQLFuncionalidades das versões 9.x do PostgreSQL
Funcionalidades das versões 9.x do PostgreSQL
 
Apostila sql
Apostila sqlApostila sql
Apostila sql
 
Arquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosArquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dados
 
Aula 10 banco de dados
Aula 10   banco de dadosAula 10   banco de dados
Aula 10 banco de dados
 
Aula 06 - TEP - Introdução SQLite
Aula 06 - TEP - Introdução SQLiteAula 06 - TEP - Introdução SQLite
Aula 06 - TEP - Introdução SQLite
 
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
 
Aula_TuningProf.Celinia_Equipe_Amós Lhips
Aula_TuningProf.Celinia_Equipe_Amós LhipsAula_TuningProf.Celinia_Equipe_Amós Lhips
Aula_TuningProf.Celinia_Equipe_Amós Lhips
 
Apostila de Sql Server 2005
Apostila de Sql Server 2005Apostila de Sql Server 2005
Apostila de Sql Server 2005
 
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
 
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
 

Último

Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfHenrique Pontes
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOColégio Santa Teresinha
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBAline Santana
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniCassio Meira Jr.
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfEditoraEnovus
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.keislayyovera123
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfmirandadudu08
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfaulasgege
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSilvana Silva
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveaulasgege
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADOcarolinacespedes23
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasCassio Meira Jr.
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
Governo Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 BrasilGoverno Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 Brasillucasp132400
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxOsnilReis1
 

Último (20)

Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdf
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdf
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdf
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptx
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e Específicas
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
Governo Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 BrasilGoverno Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 Brasil
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
 

O que é PostgreSQL: história, características e peculiaridades do banco de dados de código aberto

  • 1.
  • 2. História O Postgres, desenvolvido originalmente no Departamento de Ciência de Computação da Universidade de Berkeley, foi pioneiro em muitos dos conceitos objeto-relacionais que agora estão disponíveis em alguns bancos de dados comerciais. Fornece suporte a linguagem SQL92/SQL99, integridade de transações e extensibilidade de tipos. O PostgreSQL é um descendente com código aberto do código original desenvolvido em Berkeley.
  • 3. Características O PostgreSQL é um poderoso sistema gerenciador de banco de dados objeto-relacional de código aberto. Tem mais de 15 anos de desenvolvimento ativo e uma arquitetura que comprovadamente ganhou forte reputação de confiabilidade, integridade de dados e conformidade a padrões. Roda em todos os grandes sistemas operacionais:  GNU/Linux,  Unix  AIX,  BSD,  HP-UX,  SGI IRIX,  Mac OS X,  Solaris,  Tru64,  e MS Windows
  • 4. Características É totalmente compatível com ACID, tem suporte completo a chaves estrangeiras, junções (JOINs), visões, gatilhos e procedimentos armazenados (em múltiplas linguagens). Inclui a maior parte dos tipos de dados do ISO SQL:1999, incluindo INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, e TIMESTAMP. Suporta também o armazenamento de objetos binários, incluindo figuras, sons ou vídeos. Possui interfaces nativas de programação para:  C/C++,  Java,  .Net,  Perl,  Python,  Ruby,  Tcl,  ODBC
  • 5. Características Como um banco de dados de nível corporativo, o PostgreSQL possui funcionalidades sofisticadas como:  o controle de concorrência multiversionado (MVCC),  recuperação em um ponto no tempo (PITR),  tablespaces,  replicação assíncrona,  transações agrupadas (savepoints),  cópias de segurança (online/hot backup),  planejador de consultas (otimizador),  registrador de transações sequencial (WAL) para tolerância a falhas.
  • 6. Características  Suporta conjuntos de caracteres internacionais,  codificação de caracteres multibyte,  Unicode e sua ordenação por localização,  sensibilidade a caixa (maiúsculas e minúsculas) e formatação.
  • 7. Características É altamente escalável, tanto na quantidade enorme de dados que pode gerenciar, quanto no número de usuários concorrentes que pode acomodar. Existem sistemas ativos com o PostgreSQL em ambiente de produção que gerenciam mais de 4TB de dados. Alguns limites do PostgreSQL estão incluídos na tabela abaixo: Tamanho Máximo do Banco de Dados Ilimitado Tamanho máximo de uma Tabela 32 TB Tamanho Máximo de uma Linha 1.6 TB Tamanho Máximo de um Campo 1 GB Máximo de Linhas por Tabela Ilimitado Máximo de Colunas por Tabela 250–1600 Máximo de Índices por Tabela Ilimitado
  • 8. Peculiaridades PostgreSQL automaticamente converte todos identificadores (tipo nomes de tabela/coluna) para minúsculo na criação do objeto e na query. Para força o uso misto de maiúsculo ou minúsculo, você precisa usar escape no identificador usando aspas dupla ("").
  • 9. Peculiaridades PostgreSQL não tem comandos especiais para obter informação dos dados do banco de dados (dicionário de dados) (tipo todas as tabelas do banco de dados atual). Ao invés, há um schema padrão chamado information_schema no PostgreSQL 7.4 e superior contendo views do sistema com todas as informações necessárias, em um form fácil de acessá-las.
  • 10. pSQL O psql é um cliente no modo terminal do PostgreSQL. Permite digitar comandos interativamente, submetê- los para o PostgreSQL e ver os resultados. Como alternativa, a entrada pode vir de um arquivo. Além disso, disponibiliza vários meta-comandos e diversas funcionalidades semelhantes às do interpretador de comandos (shell) para facilitar a criação de scripts e automatizar um grande número de tarefas.
  • 11. PGADMIN Existem várias ferramentas de administração disponíveis para o PostgreSQL. A mais popular é a pgAdmin, e existem várias outras ferramentas comerciais disponíveis.
  • 12. Criação de banco ADD SERVER ADDRESS 127.0.0.1 DESCRIPTION CDTeste SERVICE Teste PORT 5432 MAINTENANCE DB Postgres USERNAME Postgres SENHA system
  • 13. Criação de tabelas create table cd ( codigo_cd int not null, codigo_gravadora int not null, nome_cd varchar(50) not null, preco_venda decimal (5,2) not null, data_lancamento smalldatetime not null, cd_indicado int not null); create table cd ( codigo_cd integer UNIQUE NOT NULL, codigo_gravadora integer not null, nome_cd varchar(50) not null, preco_venda numeric (5,2) not null, data_lancamento timestamp not null, cd_indicado integer not null);
  • 14. Criação de tabelas – Chaves PK e FK alter table cd add primary key (codigo_cd); alter table cd ADD CONSTRAINT cd_codigo_cd_pkey PRIMARY KEY (codigo_cd); alter table cd add foreign key (cd_indicado) references cd; alter table cd add constraint fk_cd_cd foreign key (codigo_cd) references cd (codigo_cd);
  • 15. Criação de tabelas - Inserções insert into estado values('AC', 'Acre'); insert into estado values('AL', 'Alagoas'); insert into estado values('AP', 'Amapá'); insert into estado (id, title, author_id, subject_id) VALUES (41472, 'Practical PostgreSQL', 1212, 4);
  • 16. Restrições Constrain CHECK Ao criar uma tabela podemos prever que o banco exija que o valor de um campo satisfaça uma expressão --Restrição de verificação CREATE TABLE products ( product_no integer, name text, price numeric CHECK (price > 0) ); --Restrição de valor não nulo CREATE TABLE products ( product_no integer NOT NULL, name text NOT NULL, price numeric NOT NULL CHECK (price > 0) );
  • 17. Restrições Constrain UNIQUE Garante que os dados contidos em uma coluna ou um grupo de colunas, é único no que diz respeito a todas as linhas na tabela. CREATE TABLE products ( product_no integer UNIQUE, name text, price numeric );
  • 18. Herança CREATE TABLE cidades ( nome text, populacao real, altitude int -- (em pés) ); CREATE TABLE capitais ( estado char(2) ) INHERITS (cidades);
  • 19. Esquemas Um banco de dados pode conter vários esquemas e dentro de cada um desses podemos criar várias tabelas. Ao invés de criar vários bancos de dados, criamos um e criamos esquemas dentro desse. Isso permite uma maior flexibilidade, pois uma única conexão ao banco permite acessar todos os esquemas e suas tabelas. Portanto devemos planejar bem para saber quantos bancos precisaremos, quantos esquemas em cada banco e quantas tabelas em cada esquema.
  • 20. Regras O comando CREATE RULE cria uma regra aplicada à tabela ou visão especificada. Uma regra faz com que comandos adicionais sejam executados quando um determinado comando é executado em uma determinada tabela. É importante perceber que a regra é, na realidade, um mecanismo de transformação de comando, ou uma macro de comando. As RULES (regras) permitem executar uma ação alternativa em: inclusão, alteração, exclusão e seleção (somente em caso de visões). Em outras palavras, uma regra faz com que sejam executados comandos adicionais quando é executado um determinado comando em uma tabela. Diferentemente das regras, os TRIGGERS (gatilhos) podem ser acionados antes (before) ou depois (after) de alguma ação de insert, update e delete.
  • 21. Diferenças entre o SQL Server e PostgreSQL Escolhendo um servidor de banco de dados não é simples. SQL Server, PostgreSQL e todos oferecem uma forma de organizar e armazenar dados, mas cada um tem seus próprios benefícios exclusivos. Escolha a que melhor atenda às suas necessidades começa com a compreensão das diferenças entre essas opções.
  • 22. Diferenças entre o SQL Server e PostgreSQL Sistema Operacional Nem todos os servidores de banco de dados podem ser executados em qualquer sistema operacional. O programa de banco de dados PostgreSQL pode ser executado em Windows 2000 ou superior, Mac, Unix e Linux. SQL Server só roda em Windows XP ou qualquer versão do Windows 2000 ou superior.
  • 23. Diferenças entre o SQL Server e PostgreSQL Instalação e Manutenção Instalação e manutenção de banco de dados é o que vai gastar a maior parte do seu tempo depois de baixá-lo. SQL Server é bem mais complicado que o PostgreSQL. Independentemente disso, em ambos será necessário algum treino para entender e administrar se a pessoa encarregada de bases de dados da organização é nova para a tecnologia.
  • 24. Diferenças entre o SQL Server e PostgreSQL Vistas Os programas variam um pouco na forma como você pode usar views. O SQL Server permite views atualizáveis, materializaveis, e intercambiáveis. O PostgreSQL também suporta exibições atualizáveis, mas o designer tem que escrever regras contra views ordenadas para atualizá-las.
  • 25. Diferenças entre o SQL Server e PostgreSQL Recursos disponíveis apenas no PostgreSQL O banco de dados PostgreSLQ tem mais recursos internos. Por exemplo, permite que o SQL dinâmico e ação em funções. Em outras palavras, você pode usar funções de ação dentro de declarações SELECT. Suporta índices funcionais e parciais e é o único que pode definir funções personalizadas agregadas em C, SQL, plpgsql, e qualquer linguagem PL.
  • 26. Recursos disponíveis apenas no PostgreSQL O banco de dados PostgreSLQ tem mais recursos internos. Por exemplo, permite que o SQL dinâmico e ação em funções. Em outras palavras, você pode usar funções de ação dentro de declarações SELECT. Suporta índices funcionais e parciais e é o único que pode definir funções personalizadas agregadas em C, SQL, plpgsql, e qualquer linguagem PL. Diferenças entre o SQL Server e PostgreSQL