Apêndice M. Glossário

Essa é uma lista de termos e seus significados no contexto do PostgreSQL, e dos sistemas de banco de dados relacionais (SGBDR), em geral.

ACID

Atomicidade, Consistência, Isolamento, e Durabilidade. Esse conjunto de propriedades das transações do banco de dados visa garantir a validade durante operações concorrentes, mesmo em caso de erros, travamento, falta de energia, etc.

Agrupamento de bancos de dados (database cluster)

Uma coleção de bancos de dados e objetos SQL globais, e seus metadados estáticos e dinâmicos comuns. Às vezes referido apenas como agrupamento (cluster).

No PostgreSQL, o termo agrupamento é também, às vezes, usado para se referir a uma instância. (Esse termo não deve ser confundido com o comando SQL CLUSTER.)

ANALYZE (operação de analisar)

O processo de coletar estatísticas de dados em tabelas e outras relações, para auxiliar o planejador de consultas a tomar decisões sobre como executar as consultas.

(Esse termo não deve ser confundido com a opção ANALYZE do comando EXPLAIN.)

Para obter mais informações, veja o comando ANALYZE.

Área de dados (data area)

Ver Diretório de dados (data directory).

Arquivo de registro (log file)

Os arquivos de registro contêm linhas de texto legíveis por humanos sobre eventos. Os exemplos incluem falhas de conexão, consultas com execução demorada, etc.

Para obter mais informações, veja Manutenção do arquivo de log.

Atomicidade

Propriedade de uma transação, onde todas as suas operações são concluídas como uma única unidade, ou nenhuma delas é concluída. Além disso, se ocorrer uma falha do sistema durante a execução de uma transação, nenhum resultado parcial será visível após a recuperação. Essa é uma das propriedades ACID.

Atômico

Em referência a datum: o fato do valor não poder ser dividido em componentes menores.

Em referência a transação de banco de dados: veja atomicidade.

Atributo

Elemento com nome e tipo de dados encontrado em uma tupla.

Autovacuum (processo de limpeza e análise)

Conjunto de processos em segundo plano que rotineiramente executam as operações vacuum e analyze.

Para obter mais informações, veja O daemon autovacuum.

Banco de dados (database)

Uma coleção com nome de objetos SQL locais.

Para obter mais informações, veja Overview.

Bloqueio (lock)

Mecanismo que permite um processo limitar ou impedir o acesso simultâneo a um recurso.

Catálogo

O padrão SQL usa este termo para indicar o que é chamado de banco de dados na terminologia do PostgreSQL.

(Esse termo não deve ser confundido com catálogo do sistema).

Para obter mais informações, veja Overview.

Catálogo do sistema

Coleção de tabelas que descrevem a estrutura de todos os objetos SQL da instância. O catálogo do sistema reside no esquema pg_catalog. Essas tabelas contêm dados em representação interna, e normalmente não são consideradas úteis para serem examinadas pelo usuário; também estão presentes visões amigáveis no esquema pg_catalog, que oferecem acesso mais conveniente a algumas dessas informações. Também existem tabelas e visões adicionais no esquema information_schema, mostrando algumas das mesmas informações, e outras adicionais, conforme exigido pelo padrão SQL (veja O esquema de informações).

Para obter mais informações, veja Esquemas.

Chave (key)

Maneira de identificar uma linha de uma tabela, ou de outra relação, pelos valores contidos em um ou mais atributos da relação.

Chave estrangeira (foreign key)

Tipo de restrição definida em uma ou mais colunas de uma tabela, requerendo que os valores nessas colunas identifiquem zero ou uma linha em outra (ou, com menos frequência, na mesma) tabela.

Chave primária (primary key)

Caso especial de restrição de unicidade (unique constraint), definida em uma tabela ou outra relação, que também garante que todos os atributos da chave primária também não tenham valores nulos. Como o nome indica, pode haver apenas uma chave primária por tabela, embora seja possível ter várias restrições de unicidade que também não tenham atributos que possam ser nulos.

Checkpointer (processo)

Processo especializado responsável pela execução de pontos de verificação.

Classe (arcaico)

Ver Relação.

Cliente (processo)

Qualquer processo, possivelmente remoto, que estabeleça uma sessão se conectando a uma instância para interagir com um banco de dados.

Coletor de estatísticas (processo)

Processo que coleta informações estatísticas sobre as atividades da instância.

Para obter mais informações, veja O coletor de estatísticas.

Coluna

Atributo encontrado em uma tabela ou visão.

Concorrência (simultaneidade)

Conceito de que múltiplas operações independentes acontecem no banco de dados ao mesmo tempo. No PostgreSQL, a concorrência é controlada pelo mecanismo de controle de concorrência multiversão (MVCC).

Conexão

Linha de comunicação estabelecida entre um processo do cliente e um processo servidor, geralmente através de uma rede, dando suporte a uma sessão. Esse termo às vezes é usado como sinônimo de sessão.

Para obter mais informações, veja Conexões e autenticação.

Conjunto resultado (result set)

Relação transmitida do processo servidor para o cliente após a conclusão do comando SQL, geralmente um SELECT, mas pode ser um comando INSERT, UPDATE, ou DELETE, se for especificada a cláusula RETURNING.

O fato do conjunto de resultados ser uma relação, significa que uma consulta pode ser utilizada na definição de outra consulta, tornando-se uma subconsulta.

Consistência

Propriedade que os dados no banco de dados estão sempre em acordo com as restrições de integridade. As transações podem violar algumas das restrições transitoriamente antes de serem efetivadas, mas se essas violações não estiverem resolvidas no momento da efetivação, essa transação será automaticamente desfeita (rolled back). Essa é uma das propriedades ACID.

Consulta (query)

Solicitação enviada pelo cliente ao processo servidor, geralmente para retornar resultados, ou para modificar dados no banco de dados.

Consulta paralela

Capacidade de lidar com partes da execução de uma consulta, para tirar vantagem dos processos paralelos em servidores com várias CPUs.

Controle de concorrência multiversão (multi-version concurrency control – MVCC)

Mecanismo projetado para permitir que várias transações estejam lendo e escrevendo as mesmas linhas, sem que um processo cause a interrupção de outros processos. No PostgreSQL, o MVCC é implementado criando cópias (versões) das tuplas enquanto elas vão sendo modificados; depois que as transações que podem ver as versões antigas terminam, essas versões antigas precisam ser removidas.

Conversão (cast)

Conversão do datum de seu tipo de dados corrente para outro tipo de dados.

Para obter mais informações, veja o comando CREATE CAST.

Cópia de segurança base (base backup)

Cópia binária de todo os arquivos do agrupamento de bancos de dados. É gerado pela ferramenta pg_basebackup. Juntamente com arquivos do WAL, pode ser usado como ponto de partida para recuperação, envio de log, ou replicação por fluxo (streaming).

Datum

Representação interna do valor de um tipo de dados SQL.

DELETE

Comando SQL que remove linhas de uma tabela ou relação.

Para obter mais informações, veja o comando DELETE.

Diretório de dados (data directory)

Diretório base no sistema de arquivos do servidor, que contém todos os arquivos de dados e subdiretórios associados ao agrupamento de bancos de dados (com exceção dos espaços de tabelas (tablespaces) e, opcionalmente, do WAL). A variável de ambiente PGDATA é comumente usada para fazer referência ao diretório de dados.

O espaço de armazenamento do agrupamento de bancos de dados engloba o diretório de dados, mais quaisquer espaços de tabelas adicionais.

Para obter mais informações, veja Organização dos arquivos de banco de dados.

Durabilidade

Garantia de que uma vez que a transação tenha sido efetivada (committed), as alterações permanecerão mesmo após uma falha ou travamento do sistema. Essa é uma das propriedades ACID.

Efetivar (commit)

O ato de finalizar uma transação no banco de dados, tornando-a visível para as demais transações, e garantindo a sua durabilidade.

Para obter mais informações, veja o comando COMMIT.

Empacotador de dados estrangeiros (foreign data wrapper)

Meio de representar dados que não estão contidos no banco de dados local, de tal forma que pareça como se estivesse nas tabelas locais. Com um empacotador de dados estrangeiros, é possível definir um servidor estrangeiro (foreign server), e tabelas estrangeiras (foreign tables).

Para obter mais informações, veja o comando CREATE FOREIGN DATA WRAPPER.

Epoch (época ou era)

Ver ID de transação.

Espaço de tabelas (tablespace)

Local com nome no sistema de arquivos do servidor. Todos os objetos SQL que requerem armazenamento além de sua definição no catálogo do sistema, devem pertencer a um único espaço de tabelas. Inicialmente, o agrupamento de bancos de dados contém um único espaço de tabelas utilizável, usado como padrão para todos os objetos SQL, chamado pg_default.

Para obter mais informações, veja Espaços de tabelas.

Esquema (schema)

Esquema é um espaço de nomes para objetos SQL, onde todos residem no mesmo banco de dados. Cada objeto SQL deve residir em exatamente um esquema.

Todos os objetos SQL definidos pelo sistema residem no esquema pg_catalog.

Mais genericamente, o termo esquema é usado significando todas as descrições de dados (definições de tabela, restrições, comentários, etc.) para um dado banco de dados, ou subconjunto do mesmo.

Para obter mais informações, veja Esquemas.

Extensão

Pacote complementar de software, que pode ser instalado em uma instância para obter recursos extras.

Para obter mais informações, veja Empacotamento de objetos em uma extensão.

Fork (segmento)

Cada um dos conjuntos de arquivos divididos em segmentos nos quais a relação é armazenada. O segmento principal (main fork) é onde os dados reais estão. Também existem dois segmentos (forks) secundários para metadados: o mapa de espaço livre e o mapa de visibilidade. As relações UNLOGGED também possuem um segmento inicial.

Fragmentação (bloat)

Espaço em páginas de dados que não contém versões de linha correntes, como espaço não utilizado (livre), ou versões de linha desatualizadas.

Função (rotina)

Tipo de rotina que recebe zero ou mais argumentos, retorna zero ou mais valores de saída, sendo limitada a ser executada em uma transação. As funções são chamadas como parte de uma consulta, por exemplo, através do comando SELECT. Certas funções podem retornar conjuntos; essas funções são chamadas de funções retornando conjunto.

As funções também podem ser usadas por gatilhos.

Para obter mais informações, veja o comando CREATE FUNCTION.

Função analítica

Veja Função de janela (rotina).

Função de agregação (rotina)

Função que combina (agrega) vários valores de entrada, por exemplo, contando, calculando a média ou somando, produzindo um único valor de saída.

Para obter mais informações, veja Funções de agregação.

Veja também Função de janela (rotina).

Função de banco de dados (role)

Coleção de privilégios de acesso à instância. As próprias funções de banco de dados são um privilégio que pode ser concedido a outras funções de banco de dados. Isso é geralmente feito por conveniência, ou para garantir a integridade quando vários usuários precisam dos mesmos privilégios.

Para obter mais informações, veja o comando CREATE ROLE.

Função de janela (rotina)

Tipo de função usada em uma consulta, que se aplica a uma partição do conjunto de resultados da consulta; o resultado da função se baseia nos valores encontrados nas linhas da mesma partição ou quadro.

Todas as funções de agregação podem ser usadas como funções de janela, mas funções de janela também podem ser usadas para, por exemplo, classificar cada uma das linhas na partição. Também são conhecidas como funções analíticas.

Para obter mais informações, veja Funções de janela.

Gatilho (trigger)

Função que pode ser definida para ser executada sempre que uma determinada operação (INSERT, UPDATE, DELETE, TRUNCATE) é aplicada a uma relação. O gatilho executa dentro da mesma transação que a instrução que o chamou e, se a função falhar, a instrução que a chamou também falhará.

Para obter mais informações, veja o comando CREATE TRIGGER.

GRANT (permissão)

Comando SQL usado para permitir um usuário (user), ou uma função de banco de dados (role), acessar objetos específicos no banco de dados.

Para obter mais informações, veja o comando GRANT.

Heap (pilha)

Contém os valores dos atributos da linha (ou seja, os dados) de uma relação. O heap é estruturado dentro de um ou mais segmentos de arquivo no segmento principal da relação.

Host (hospedeiro)

Computador que se comunica com outros computadores em uma rede. Às vezes é usado como sinônimo de servidor. Também é usado para se referir a um computador onde um processo cliente executa.

ID de transação

Identificador numérico, único e atribuído sequencialmente, para que cada transação receba um quando causa uma modificação no banco de dados. Frequentemente abreviado como xid. Quando armazenados em disco, os xids têm apenas 32 bits de comprimento, portanto, apenas aproximadamente quatro bilhões de identificadores de transação podem ser gerados; para permitir que o sistema funcione por mais tempo, são usadas épocas (epochs), também com 32 bits de comprimento. Quando o contador atinge o valor de xid máximo, ele recomeça em 3 (valores abaixo desse são reservados), e o valor da época é incrementado em um. Em alguns contextos, os valores de época e xid são considerados juntos como um único valor de 64 bits.

Para obter mais informações, veja Tipos de dados de identificador de objeto.

Índice (relação)

Uma relação que contém dados derivados de uma tabela ou visão materializada. Sua estrutura interna apoia a recuperação rápida e acesso aos dados originais.

Para obter mais informações, veja o comando CREATE INDEX.

INSERT

Comando SQL usado para adicionar dados a uma tabela.

Para obter mais informações, veja o comando INSERT.

Instância

Um grupo de processos servidores e auxiliares que se comunicam usando uma área de memória compartilhada comum. O processo postmaster gerencia a instância; uma instância gerencia exatamente um agrupamento de bancos de dados com todos os seus bancos de dados. Podem ser executadas várias instâncias no mesmo servidor, desde que suas portas TCP não entrem em conflito.

A instância lida com todas as principais funcionalidades de um SGBD: acesso de leitura e escrita a arquivos e memória compartilhada, garantia das propriedades ACID, conexões com os processos cliente, verificação de privilégios, recuperação de falhas, replicação, etc.

Integridade referencial

Um meio de restringir os dados em uma relação através de uma chave estrangeira, de modo que deva ter dados correspondentes em outra relação.

Isolamento

A propriedade de que os efeitos de uma transação não são visíveis para as transações concorrentes, antes que esta seja efetivada (commit). Essa é uma das propriedades ACID.

Para obter mais informações, veja Isolamento de transação.

JOIN (junção)

Uma operação e palavra-chave do SQL usada em consultas, para combinar dados de várias relações.

Linha (row)

Ver Tupla.

Logger (processo)

Se ativo, esse processo escreve informações sobre eventos do banco de dados no arquivo de registro (log file) corrente. Ao atingir determinados critérios dependentes de tempo ou volume, um novo arquivo de registro é criado. Também é chamado de syslogger.

Para obter mais informações, veja Relatório e registro de erros.

Mapa de espaço livre (fork)

Estrutura de armazenamento que mantém metadados sobre cada página de dados do segmento principal (main fork) da tabela. A entrada do mapa de espaço livre para cada página armazena a quantidade de espaço livre que está disponível para tuplas futuras, sendo estruturada para ser procurada com eficiência pelo espaço disponível para uma nova tupla de um determinado tamanho.

Para obter mais informações, veja Mapa de espaço livre.

Mapa de visibilidade (fork)

Estrutura de armazenamento que mantém metadados sobre cada página de dados do segmento principal (main fork) da tabela. A entrada do mapa de visibilidade para cada página armazena dois bits: o primeiro (all-visible/tudo-visível), indica que todas as tuplas na página são visíveis para todas as transações; o segundo (all-frozen/tudo-congelado), indica que todas as tuplas na página estão marcadas como congeladas.

Mapeamento de usuário (user mapping)

Tradução das credenciais de login no banco de dados local, em credenciais em um sistema de dados remoto definido por um empacotador de dados estrangeiros.

Para obter mais informações, veja o comando CREATE USER MAPPING.

Master (servidor mestre)

Ver Primário (servidor).

Materializada

A propriedade de que algumas informações foram pré-computadas e armazenadas para uso posterior, em vez de serem computadas novamente.

Esse termo é usado na visão materializada, significando que os dados derivados da visão da consulta estão armazenados em disco em separado das fontes desses dados.

Esse termo também é usado para se referir a algumas consultas de várias etapas, significando que os dados resultantes da execução de uma determinada etapa são armazenados na memória (com a possibilidade de serem descarregados para o disco), para poderem ser lidos várias vezes por outra etapa.

Memória compartilhada (shared memory)

Memória RAM usada pelos processos comuns a uma instância. Espelha partes dos arquivos do banco de dados, mantendo uma área transitória para os registros do WAL, e armazenando informações comuns adicionais. Note que a memória compartilhada pertence à instância inteira, e não a um único banco de dados.

A maior parte da memória compartilhada é conhecida como buffers compartilhados, usados para espelhar parte dos arquivos de dados, organizados em páginas. Quando uma página é modificada, ela é chamada de página suja até que seja escrita de volta no sistema de arquivos.

Para obter mais informações, veja Memória.

NULL

Conceito de inexistência, que é um princípio central da teoria de banco de dados relacional. Representa a ausência de um valor definido.

Objeto SQL

Qualquer objeto que pode ser criado com um comando CREATE. A maioria dos objetos são específicos de um banco de dados, sendo comumente conhecidos como objetos locais.

A maioria dos objetos locais reside em um esquema específico em seu banco de dados contenedor, como relações (todos os tipos), rotinas (todos os tipos), tipos de dados, etc. Os nomes dos objetos de mesmo tipo no mesmo esquema são obrigatoriamente distintos.

Também existem objetos locais que não residem em esquemas; alguns exemplos são: extensões; conversões de tipo de dados; e empacotadores de dados estrangeiros. Os nomes desses objetos do mesmo tipo são obrigatoriamente distintos no banco de dados.

Outros tipos de objetos, como funções de banco de dados, espaços de tabelas, origens de replicação, subscrições para replicação lógica, e os próprios bancos de dados, não são objetos SQL locais, porque existem inteiramente fora de qualquer banco de dados específico; são chamados de objetos globais. Os nomes de tais objetos são obrigatoriamente distintos em todo o agrupamento de bancos de dados.

Para obter mais informações, veja Overview.

Otimizador

Ver Planejador de consultas (query planner).

Padrão SQL

Série de documentos que definem a linguagem SQL.

Página de dados (data page)

Estrutura básica usada para armazenar os dados da relação. Todas as páginas são do mesmo tamanho. As páginas de dados são normalmente armazenadas em disco, cada uma em um arquivo específico, podendo ser lidas para a área de memória compartilhada (shared buffers) onde podem ser modificadas, tornando-se sujas. Elas se tornam limpas novamente quando são escritas no disco. As páginas novas, que inicialmente existem apenas na memória, também estão sujas até serem escritas no disco.

Partição

Um dos vários subconjuntos disjuntos (não sobrepostos) de um conjunto maior.

Em referência a tabela particionada: Uma das tabelas que contém parte dos dados da tabela particionada, que é considerada a mãe. A própria partição é uma tabela, portanto, também pode ser consultada diretamente; ao mesmo tempo, às vezes uma partição pode ser uma tabela particionada, permitindo a criação de hierarquias.

Em referência a função de janela em uma consulta, uma partição é um critério definido pelo usuário que identifica quais linhas vizinhas no conjunto de resultados da consulta devem ser consideradas pela função.

Planejador de consultas (query planner)

A parte do PostgreSQL que se dedica a determinar (planejar) a maneira mais eficiente de executar as consultas. Também conhecido como otimizador de consultas, otimizador, ou simplesmente planejador.

Ponto de salvamento (savepoint)

Marca especial na sequência de etapas de uma transação. As modificações feitas nos dados após este ponto podem ser desfeitas para o momento do ponto de salvamento.

Para obter mais informações, veja o comando SAVEPOINT.

Postmaster (processo)

O primeiro processo de uma instância, que inicia e gerencia os outros processos auxiliares, e cria os processos servidores sob demanda.

Para obter mais informações, veja Ativação do servidor de banco de dados.

Primário (servidor)

Quando dois ou mais bancos de dados estão ligados por replicação, o servidor considerado fonte oficial da informação é chamado de primário, sendo também conhecido como mestre (master).

Procedimento (rotina)

Tipo de rotina. Suas qualidades distintivas são não retornar valores, e poder fazer declarações transacionais como COMMIT e ROLLBACK. São chamados através do comando CALL.

Para obter mais informações, veja o comando CREATE PROCEDURE.

Processo escritor (background writer)

Processo que escreve no sistema de arquivos as páginas de dados modificadas na memoria compartilhada. Esse pŕocesso acorda periodicamente, funcionando apenas por um curto período, para distribuir sua custosa atividade de E/S ao longo do tempo, para evitar a geração de picos de E/S maiores que poderiam bloquear outros processos.

Para obter mais informações, veja Processo de escrita em segundo plano.

Processo servidor (backend)

Processo de uma instância que age em nome de uma sessão cliente processando suas solicitações.

(Esse termo não deve ser confundido com os termos semelhantes processo trabalhador ou processo escritor).

Processo trabalhador (background worker)

Processo na instância, que executa o código fornecido pelo sistema ou pelo usuário. Serve como infraestrutura para diversos recursos do PostgreSQL, tais como replicação lógica e consultas paralelas. Além disso, as extensões podem adicionar processos trabalhadores personalizados.

Para obter mais informações, veja o Processos trabalhadores em segundo plano.

Registro (record)

Ver Tupla.

Relação

Termo genérico para designar todos os objetos em um banco de dados possuidores de nome, e uma lista de atributos definidos em uma ordem específica. Tabelas, sequências, visões, tabelas estrangeiras, visões materializadas, tipos compostos e índices são todos relações.

Mais genericamente, uma relação é um conjunto de tuplas; por exemplo, o resultado de uma consulta também é uma relação.

No PostgreSQL, classe é um sinônimo arcaico para relação.

Replicação

Ato de reproduzir dados de um servidor em outro servidor chamado de réplica. Pode tomar a forma de uma replicação física, onde todas as alterações de arquivo de um servidor são copiadas literalmente, ou uma replicação lógica, onde um subconjunto definido de alterações de dados é transmitido usando uma representação de nível mais alto.

Réplica (servidor)

Banco de dados emparelhado com um banco de dados primário, mantendo uma cópia de alguns ou todos os dados do banco de dados principal. As principais razões para fazer isso são permitir maior acesso a esses dados, e manter a disponibilidade dos dados no caso do servidor primário se tornar indisponível.

Restrição (constraint)

Restrição nos valores dos dados permitidos numa tabela, ou em atributos de um domínio.

Para obter mais informações, veja Restrições.

Restrição de unicidade (unique constraint)

Tipo de restrição definida em uma relação, que restringe os valores permitidos em uma, ou em uma combinação de colunas, para que cada valor, ou combinação de valores, apareça apenas uma vez na relação — ou seja, nenhuma outra linha na relação pode conter esses valores em duplicidade.

Como os valores nulos não são considerados iguais entre si, podem existir várias linhas com valores nulos sem violar a restrição de unicidade.

Restrição de verificação (check constraint)

Um tipo de restrição definida em uma relação que restringe os valores permitidos em um ou mais atributos. A restrição de verificação pode fazer referência a qualquer atributo da mesma linha na relação, mas não pode fazer referência a outras linhas da mesma relação, ou a outras relações.

Para obter mais informações, veja Restrições.

REVOKE

Comando para impedir acesso a um conjunto de objetos com nome no banco de dados, para uma lista com nome de funções de banco de dados (roles).

Para obter mais informações, veja o comando REVOKE.

ROLLBACK (desfazer)

Comando para desfazer todas as operações realizadas desde o início da transação.

Para obter mais informações, veja o comando ROLLBACK.

Rotina

Conjunto definido de instruções armazenadas no sistema de banco de dados, que podem ser chamados para execução. As rotinas podem ser escritas em várias linguagens de programação. As rotinas podem ser funções (incluindo funções que retornam conjuntos e funções de gatilho), funções de agregação, e procedimentos.

Muitas rotinas se encontram definidas dentro do próprio PostgreSQL, e também podem ser adicionadas rotinas definidas pelo usuário.

Segmento

Ver Segmento de arquivo (file segment).

Segmento de arquivo (file segment)

Arquivo físico que armazena dados para uma determinada relação. Os segmentos de arquivo são limitados em tamanho por um valor de configuração (normalmente 1 gigabyte), portanto, se uma relação exceder esse tamanho, será dividida em vários segmentos.

Para obter mais informações, veja Organização dos arquivos de banco de dados.

(Esse termo não deve ser confundido com o termo semelhante segmento do WAL).

SELECT

Comando SQL usado para requisitar dados do banco de dados. Geralmente, não se espera que os comandos SELECT modifiquem o banco de dados de alguma maneira, mas é possível que as funções chamadas na consulta tenham efeitos colaterais que modificam os dados.

Para obter mais informações, veja o comando SELECT.

Sequência (relação)

Tipo de relação usada para gerar valores. Normalmente, os valores gerados são números sequenciais não repetidos. São comumente usadas para gerar os valores da chave primária.

Servidor

Computador onde as instâncias do PostgreSQL executam. O termo servidor denota um hardware real, um contenedor, ou uma máquina virtual.

Às vezes, esse termo é usado para se referir a uma instância ou a um hospedeiro.

Servidor de banco de dados (database server)

Ver Instância.

Servidor em modo de espera (standby server)

Ver Réplica (servidor).

Servidor estrangeiro (foreign server)

Uma coleção com nome de tabelas estrangeiras, onde todas usam o mesmo empacotador de dados estrangeiros, e possuem outros valores de configuração em comum.

Para obter mais informações, veja o comando CREATE SERVER.

Sessão

Estado que permite que um cliente e um processo servidor interajam, comunicando-se através de uma conexão.

Tabela

Coleção de tuplas tendo uma estrutura de dados comum (o mesmo número de atributos, na mesma ordem, tendo o mesmo nome e tipo de dados por posição). A tabela é a forma mais comum de relação no PostgreSQL.

Para obter mais informações, veja o comando CREATE TABLE.

Tabela estrangeira (foreign table) (relação)

Relação que parece ter linhas e colunas semelhantes a uma tabela comum, mas que encaminha as solicitações de dados por meio de seu empacotador de dados estrangeiros, que retorna conjuntos de resultado estruturados de acordo com a definição da tabela estrangeira.

Para obter mais informações, veja o comando CREATE FOREIGN TABLE.

Tabela particionada (relação)

Uma relação que é em termos semânticos o mesmo que uma tabela, mas cujo armazenamento está distribuído entre várias partições.

Tabela temporária

Tabela que existe durante o tempo de vida de uma sessão ou de uma transação, conforme especificado no momento da criação. Os dados das tabelas temporárias não são visíveis para outras sessões, e não são registrados. As tabelas temporárias são frequentemente usadas para armazenar dados intermediários para uma operação de várias etapas.

Para obter mais informações, veja o comando CREATE TABLE.

TOAST

A técnica de armazenamento de atributos superdimensionados (The Oversized-Attribute Storage Technique)

Mecanismo pelo qual atributos grandes de linhas da tabela são divididos e armazenados em uma tabela secundária, chamada de tabela TOAST. Cada relação com atributos grandes tem sua própria tabela TOAST.

Para obter mais informações, veja TOAST.

Transação

Combinação de comandos que devem atuar como um único comando atômico: todos os comandos são bem sucedidos, ou todos falham, como uma única unidade, e seus efeitos não são visíveis para as outras sessões até que a transação seja concluída, e possivelmente até mais tarde, dependendo do nível de isolamento.

Para obter mais informações, veja Isolamento de transação.

Transações por segundo (TPS)

Número médio de transações executadas por segundo, totalizado em todas as sessões ativas para uma execução medida. É usado como medida das características de desempenho de uma instância.

Tupla

Coleção de atributos em uma ordem fixa. Essa ordem pode ser definida pela tabela (ou outra relação) onde a tupla está contida, caso em que a tupla é geralmente chamada de linha. Também pode ser definida pela estrutura de um conjunto de resultados, caso em que às vezes é chamada de registro.

UPDATE

Comando SQL usado para modificar linhas que já devem existir em uma determinada tabela. Não pode criar ou remover linhas.

Para obter mais informações, veja o comando UPDATE.

Usuário (user)

Função de banco de dados que possui o privilégio LOGIN.

Vacuum

Processo de remoção de versões de tuplas desatualizadas, de tabelas ou visões materializadas, e outros processamentos estreitamente relacionados, exigidos pela implementação do MVCC do PostgreSQL. Pode ser iniciado através do uso do comando VACUUM, mas também pode ser tratado automaticamente através dos processos de autovacuum.

Para obter mais informações, veja Limpeza de rotina.

Visão (view)

Relação definida por um comando SELECT, mas que não possui armazenamento próprio. Sempre que uma consulta faz referência a uma visão, a definição da visão é substituída na consulta, como se o usuário a tivesse digitado como uma subconsulta, em vez do nome da visão.

Para obter mais informações, veja o comando CREATE VIEW.

Visão materializada (relação)

Relação definida por uma instrução SELECT (como uma visão), mas que armazena os dados da mesma maneira que uma tabela o faz. Não pode ser modificada através das operações INSERT, UPDATE, ou DELETE.

Para obter mais informações, veja o comando CREATE MATERIALIZED VIEW.

WAL – Registro de transação

Arquivador do WAL (WAL archiver) (processo)

Processo que salva cópias dos arquivos do WAL, com a finalidade de criar cópias de segurança, ou manter as réplicas atualizadas.

Para obter mais informações, veja Arquivamento contínuo e recuperação para um ponto-no-tempo (PITR).

Arquivo do WAL

Também conhecido como segmento do WAL, ou arquivo de segmento do WAL. Cada um dos arquivos numerados sequencialmente que fornecem espaço de armazenamento para o WAL. Os arquivos são todos do mesmo tamanho predefinido, escritos em ordem sequencial, intercalando as alterações à medida que ocorrem em várias sessões simultâneas. Se o sistema travar, os arquivos são lidos em ordem, e cada uma das alterações é repetida para restaurar o sistema ao estado em que se encontrava antes da falha.

Cada arquivo do WAL pode ser liberado após um ponto de verificação escrever todas as alterações nele nos arquivos de dados correspondentes. A liberação do arquivo pode ser feita tanto excluindo-o, quanto alterando seu nome para poder ser utilizado futuramente, o que é chamado de reciclagem.

Para obter mais informações, veja Estrutura interna do WAL.

Gravador do WAL (processo)

Processo que escreve os registros do WAL na memória compartilhada para os arquivos do WAL.

Para obter mais informações, veja Write Ahead Log (WAL).

Ponto de verificação (checkpoint)

Ponto na sequência do WAL, no qual é garantido que os arquivos de dados do heap e de índice foram atualizados com todas as informações da memória compartilhada modificada antes desse ponto de verificação; um registro de ponto de verificação é escrito e descarregado para o WAL para marcar esse ponto.

O ponto de verificação também é o ato de realizar todas as ações necessárias para chegar a um ponto de verificação conforme definido acima. Esse processo é iniciado quando condições predefinidas são atendidas, como um determinado período de tempo, ou um determinado volume de registros foi escrito; ou pode ser chamado pelo usuário com o comando CHECKPOINT.

Para obter mais informações, veja Configuração do WAL.

Reciclagem (recycling)

Ver Arquivo do WAL.

LOGGED (com registro de transações)

Uma tabela é considerada LOGGED se suas alterações são enviadas para o WAL. Por padrão, todas as tabelas regulares têm registro de transações. Uma tabela pode ser especificada como UNLOGGED no momento da criação, ou através do comando ALTER TABLE.

Registro do Log

Termo arcaico para registro do WAL.

Registro do WAL

Descrição de baixo nível de uma alteração de dados individual. Contém informações suficientes para que a alteração de dados seja reproduzida (repetida), caso uma falha do sistema cause a perda da alteração. Os registros do WAL usam um formato binário não imprimível.

Para obter mais informações, veja Estrutura interna do WAL.

Segmento do WAL

Ver Arquivo do WAL.

UNLOGGED (sem registro de transações)

Propriedade de certas relações, nas quais as alterações ocorridas não são escritas no WAL, desativando a replicação e a recuperação de falhas para essas relações.

O uso principal das tabelas sem registro de transações é armazenar dados de trabalho transitórios, compartilhados entre processos.

As tabelas temporárias são sempre sem registro de transações (unlogged).

WAL – registro de transações (write-ahead log)

Registro que acompanha as mudanças no agrupamento de bancos de dados (instância), à medida que ocorrem as operações realizadas pelos usuários e pelo sistema. É composto por muitos registros do WAL individuais, escritos sequencialmente nos arquivos do WAL.

Contato

CSS válido!