Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


PostgreSQL: Introdução e Características, Resumos de Bancos de Dados Relacionais

Este documento fornece uma introdução ao sgbd relacional de código aberto postgresql, destacando suas peculiaridades, como o mecanismo de travamento/bloqueio, o suporte a múltiplos tipos de índices e a linguagem procedural pl/pgsql. Além disso, aborda a arquitetura do postgresql, a criação de um banco de dados, o arquivo de configuração de autenticação do cliente e as transações.

Tipologia: Resumos

2023

Compartilhado em 25/12/2023

fernando-tinelli
fernando-tinelli 🇧🇷

2 documentos

1 / 7

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
PostgreSQL
Sumário
Introdução.................................................................................................................................................2
Características...................................................................................................................................2
Instalação..........................................................................................................................................3
Arquitetura........................................................................................................................................3
Regras de Nomeação........................................................................................................................3
Utilitários..........................................................................................................................................3
Tipo de Dados...................................................................................................................................4
Peculiaridades do PostgreSQL.........................................................................................................4
Concatenação de Strings.........................................................................................................4
Serial e BigSerial.....................................................................................................................5
Sequence.................................................................................................................................5
Foreing Keys...........................................................................................................................5
Transação.................................................................................................................................5
Stored Procedures....................................................................................................................5
Criando um BD a partir de um Template de BD.....................................................................6
Roles........................................................................................................................................6
Arquivo de Configuração de Autenticação do Cliente.....................................................................6
pf3
pf4
pf5

Pré-visualização parcial do texto

Baixe PostgreSQL: Introdução e Características e outras Resumos em PDF para Bancos de Dados Relacionais, somente na Docsity!

PostgreSQL

  • Introdução Sumário
    • Características...................................................................................................................................
    • Instalação..........................................................................................................................................
    • Arquitetura........................................................................................................................................
    • Regras de Nomeação........................................................................................................................
    • Utilitários..........................................................................................................................................
    • Tipo de Dados...................................................................................................................................
    • Peculiaridades do PostgreSQL.........................................................................................................
      • Concatenação de Strings.........................................................................................................
      • Serial e BigSerial.....................................................................................................................
      • Sequence.................................................................................................................................
      • Foreing Keys...........................................................................................................................
      • Transação.................................................................................................................................
      • Stored Procedures....................................................................................................................
      • Criando um BD a partir de um Template de BD.....................................................................
      • Roles........................................................................................................................................
    • Arquivo de Configuração de Autenticação do Cliente.....................................................................

Introdução

Características

O PostgreSQL é um SGBD Relacional de Objetos de código aberto, baseado no POSTGRES de Berkeley. Suporta grande parte do padrão ANSI SQL e outras funcionalidades. Oferece um dos mais sofisticados mecanismos de travamento/bloqueio. Suporte para MCC – Multiversion Concurrency Control – ou MVCC. Nesse mecanismo, processos de leitura não bloqueiam processo de escrita e vice-versa, reduzindo drasticamente (às vezes eliminando) a contenção entre transações concorrentes e paralisação parcial ou completa (deadlock). Isso é possível pois é criado várias versões dos itens que estão sendo utilizados pelas transações. Utiliza WAL – Write Ahead Loggin – para garantir a integridade dos dados e loggins de transações. Suporte para múltiplos tipos de índices (B-Tree – default, rTree e Hash) permitindo a escolha do índice mais eficiente para cada aplicação. Sua linguagem procedural é a PL/pgSQL (adicionado a partir do PostgreSQL 11). Também suporta PL/Java, PL/Python e PL/Perl para procedimentos armazenados. Possui integridade transacional. Suporte completo à arquitetura de rede cliente-servidor. Replicação Master-Slave e Alta Disponibilidade. A partir da versão 9.0 do PostgreSQL, foi adicionado um recurso de Streaming Replication (SR) nativamente ao PostgreSQL , permitindo a replicação de transações, por padrão de forma síncrona, assim que concluídas sem necessidade de aguardar que um segmento seja completado. Excelente escalabilidade vertical, mas não tão boa escalabilidade horizontal. Uma coleção de databases gerenciados por uma única instância PostgreSQL constitui um cluster de banco de dados. Os objetos do banco de dados (tabelas, views, triggers, stored procedures, domínios, etc) são agrupados em schemas , que são subdivisões dentro de um database.

  • Não pode ser uma palavra reservado do SGBD.

Utilitários

Para criar um database, pode-se utilizar o comando SQL “CREATE DATABASE” ou utilizar o comando “createdb <nome_banco>” diretamente no shell, bastando estar logado com o usuário postgres. Já para excluir um banco pode-se utilizar o comando “dropdb <nome_banco>”. O psql é um utilitário de linha de comando que permite executar comandos SQL. Para conectar-se no banco com, basta utilizar o comando “psql <nome_banco>”. O comando “psql \l” lista todos os bancos de dados do PostgreSQL. O comando “psql \h” lista todos os comandos suportados pelo utilitário.

  • SELECT version(); → exibe a versão do PostgreSQL instalada.
  • SELECT current_data; → exibe a data atual do database. O PGAdmin também pode ser utilizado para executar comandos SQL.

Tipo de Dados

Além dos tipos padrões do ANSI SQL, o PostgreSQL suporta outros tipos de dados, como: dados enumerados; geométricos; georeferênciais (point); JSON; XML; Matrizes compostas; intervalo; endereço de rede; sequência de bits; pg_lsn; e pseudo-tipos. Money → armazena um valor em moeda, de 8 bytes, com uma precisão fracionária fixa. A precisão fracionária é determinada pela configuração da variável “lc_monetary” do database. Text → armazena sequências de caracteres de qualquer tamanho, sendo semelhante ao varchar (que também existe). Name → armazena identificadores nos catálogos internos do banco (já mencionado acima). “char” → diferente do char(1), pois ele usa apenas um byte de armazenamento. Bytea → armazena uma string binária, suportando dois formatos externos para entrada e saída, o “escape” (default) e o “hex” , respectivamente. O “hex” codifica os dados binários como dois dígitos hexadecimais por byte, o mais significativo primeiro, sendo que ele é compatível com diversos aplicativos e protocolos externos e tende a ser mais rápido para converter do que o formato “escape”.

boolean → pode ter vários estados para entrada: true (yes, on ou 1); false (no, off ou 0); e unknown (representado por null). Como saída é “t” ou “f”.

Peculiaridades do PostgreSQL

Concatenação de Strings É possível concatenar string nos comandos SQL através do operador “ || ”. É possível fazer o cast explicitamente (conforme a palavra text) ou deixar que seja feito implicitamente. Serial e BigSerial A técnica mais simples e comum para adicionar uma chave primária no PostgreSQL é usar os tipos de dados SERIAL e BIGSERIAL. SERIAL não é um tipo de dado verdadeiro, mas é simplesmente uma notação abreviada que instrui o PostgreSQL a criar um identificador exclusivo e incrementado automaticamente para a coluna especificada. Sequence Possui as mesmas funcionalidades de SEQUENCE’s do Oracle. Foreing Keys É possível definir um campo como FK direto na sua definição. Transação Delimitado por BEGIN e um COMMIT ou ROLLBACK. Também oferece o SAVEPOINT e ROLLBACK TO . Stored Procedures Podem ser dos tipos:

relevante para o tipo de conexão), bem como o método de autenticação a ser usado para conexões que utilizam estes parâmetros. O primeiro registro com os dados: tipo de correspondência de conexão, endereço do cliente, banco de dados solicitado e nome de usuário é usado para executar a autenticação. Não há nenhuma possibilidade de múltiplas tentativas, ou seja, se um registro é escolhido e a autenticação falhar, os registros subsequentes não são considerados. Se nenhum registro coincide, o acesso é negado. Abaixo temos um exemplo do arquivo:

  • Valores possíveis para METHOD: ◦ “trust” → não será solicitado qualquer senha para conectar ao banco de dados ◦ “reject” → qualquer conexão será rejeitada incondicionalmente. ◦ “password” → o usuário deverá inserir uma senha não criptografada.