Crie a tabela em um esquema Postgres

Crie a tabela em um esquema Postgres

PostgreSQL é um dos sistemas de banco de dados mais populares-relativos de objetos. É um software gratuito e de código aberto que estende a linguagem SQL com recursos adicionais para lidar com as cargas de trabalho de dados complexas. Pode funcionar com vários tipos de dados, confiáveis ​​e seguros. Saiba mais sobre os recursos do PostgreSQL.

Neste guia, aprenderemos mais sobre a criação de tabelas em um esquema no PostgreSQL.

Esquemas em PostgreSQL

Um banco de dados PostGresql pode conter um ou mais esquemas nomeados, cada esquema contendo tabelas.

O mesmo nome de objeto pode ser atribuído em vários esquemas sem conflito. Por exemplo, o seguinte esquema/árvore de tabela é válido:

  • schema_a
    • tabela 1
    • mesa 2
  • schema_b
    • tabela 1
    • mesa 2

Você pode pensar em esquemas como diretórios no nível do sistema operacional. A diferença é que não pode haver esquemas aninhados. Saiba mais detalhadamente sobre o esquema na documentação do PostgreSQL.

Pode haver vários motivos para implementar os esquemas:

  • Vários usuários usando o mesmo banco de dados sem conflitar um com o outro.
  • Melhor organização e gerenciamento de bancos de dados em grupos lógicos.
  • Aplicativos de terceiros podem criar seu esquema exclusivo sem colidir com os esquemas existentes ou outros objetos.

Tabelas no PostgreSQL

Qualquer banco de dados relacional consiste em várias tabelas relacionadas, cada uma composta por linhas e colunas. PostgreSQL vem com várias tabelas embutidas que contêm várias informações do sistema. No entanto, também podemos criar novas tabelas sob bancos de dados e esquemas definidos pelo usuário.

Pré-requisitos:

Para executar as etapas demonstradas neste guia, você precisará dos seguintes componentes:

  • Um sistema Linux adequadamente configurado. Saiba mais sobre a instalação do Ubuntu no VirtualBox.
  • Uma instalação adequada do PostgreSQL. Confira a instalação do PostGresql no Ubuntu.
  • Acesso a um usuário do PostgreSQL com permissão de uso para um banco de dados.

Para os fins deste guia, usaremos PostGres Para executar todas as ações no PostgreSQL.

Criando mesas em um esquema

Criando um banco de dados de demonstração

Como mencionado anteriormente, existem esquemas em um banco de dados. Para fins de demonstração, criamos um banco de dados dummy, evitando a interrupção em qualquer banco de dados existente.

Acesse o shell postgreSql como PostGres:

$ sudo -i -u pós -gres psql

Crie um novo banco de dados Demo_DB:

$ Crie banco de dados Demo_db;

Verifique se o banco de dados foi criado com sucesso:

$ \ l

Finalmente, conecte-se ao banco de dados recém-criado:

$ \ Connect Demo_DB;

O esquema público

Qualquer novo banco de dados no PostgreSQL vem com um esquema padrão - público. Se você tentar criar um objeto sem especificar o nome do esquema, o esquema público será selecionado por padrão.

O comando a seguir imprime todo o esquema disponível no banco de dados PostGresql:

$ \ dn

Como alternativa, também podemos usar a seguinte consulta SQL:

$ SELECT * de pg_catalog.pg_namespace;

Criando um novo esquema

Para criar um novo esquema sob um banco de dados específico, a estrutura de comando é a seguinte:

$ Crie esquema;

Após a regra, vamos criar um novo esquema demo_schema:

$ CREATE SCHEMA Demo_schema;

Verifique a lista de esquemas para verificação:

$ \ dn

Criando uma mesa em um esquema

Agora que temos o esquema de destino criado, podemos preenchê -lo com mesas.

A sintaxe para criar uma tabela é a seguinte:

CRIAR A TABELA . (
..
)

Aqui:

  • esquema: Este campo especifica o nome do esquema onde a tabela é criada. Se nenhum valor for fornecido, a tabela será criada sob o público esquema.

Para demonstração, criamos uma tabela simples:

Crie tabela demo_schema.Demo_table (
Nome Char (64),
Id não nulo
);

Aqui:

  • O campo NOME é especificado para armazenar uma sequência de 64 caracteres.
  • O campo EU IA contém os valores inteiros. O termo "NÃO NULO" indica que EU IA não pode estar vazio ou nulo.

Podemos verificar a existência da tabela usando a seguinte consulta:

$ SELECT * de Demo_schema.Demo_table;

Inserindo dados na tabela

Com a tabela no lugar, agora podemos inserir alguns valores:

Insira em Demo_schema.Demo_table (nome, ID)
Valores
('PQR', 45),
('Ijk', 99)
;

Verifique o conteúdo da tabela:

$ SELECT * de Demo_schema.Demo_table;

Gerenciamento de esquema

Permissões de esquema

Com a ajuda da permissão do esquema, podemos gerenciar qual função pode desempenhar qual ação em um esquema específico. De todos os privilégios possíveis, os esquemas apenas apoiam Criar e usar.

Para atualizar a permissão do esquema para uma função específica, a estrutura de comando é a seguinte:

$ Grant em esquema para;

Para revogar a permissão do esquema para uma função específica, a estrutura de comando é a seguinte:

$ Revogar no esquema para;

Verifique a alteração usando o seguinte comando:

$ \ dn+

Alter Propriedades do esquema

Com a ajuda do Alter esquema declaração, podemos modificar as várias propriedades de um esquema. Por exemplo: propriedade, nome do esquema, etc.

Para alterar o nome do esquema, use a seguinte consulta:

$ Alter renomear o esquema para;

Para mudar a propriedade de um esquema, use a seguinte consulta:

$ Alter proprietário de esquema para;

Observe que, para alterar a propriedade, o usuário atual deve ter o CRIAR permissão para o esquema.

Excluindo um esquema

Se um esquema não for mais necessário, podemos excluí -lo usando o DERRUBAR consulta:

$ Schema Drop Schema

Se o esquema contiver algum objeto, precisamos do CASCATA modificador:

$ Drop Schema Cascade;

Gerenciamento de tabela

Permissões de tabela

Como o esquema, cada tabela também vem com gerenciamento de permissão, definindo que ação uma função pode desempenhar na tabela.

Para verificar as permissões de uma tabela, use o seguinte comando no PSQL:

$ \ dp

Alterar as propriedades da tabela

Com a ajuda do ALTERAR A TABELA declaração, podemos modificar os inúmeros aspectos de uma tabela já existente.

Por exemplo, para soltar uma coluna, a consulta se parece com a seguinte:

Coluna de gotas de tabela de altera;

Para adicionar uma nova coluna, podemos usar a seguinte consulta:

$ Alter tabela add colun;

Também podemos definir a compactação para uma coluna específica:

$ ALTER CONFIGURAÇÃO COMPRESSÃO DE CONFIGURAÇÃO DE COLUMA;

Excluindo uma tabela

Para excluir uma tabela de um esquema, podemos usar a consulta de tabela de gota:

$ Tabela de gota;

Observe que, diferentemente dos esquemas, o Mesa de soltar A consulta não produzirá um erro se a tabela está vazia ou não.

Conclusão

Neste guia, demonstramos como criar as tabelas em um esquema no PostgreSQL. Criamos um esquema dummy dentro de um banco de dados dummy e criamos uma tabela dentro do esquema. Este guia também foi exibido sobre como gerenciar as várias propriedades de esquemas e tabelas.

Para uma melhor integridade dos dados, você pode configurar uma replicação lógica PostGresql. Para manter o banco de dados PostGresql saudável, você pode configurar o Autovacuum para limpar as tuplas mortas que são deixadas pelos registros excluídos.

Para mais guias PostGresql, consulte a subcategoria PostgreSQL.