domingo, 8 de outubro de 2017

Criando uma tablespace no PostgreSQL

No PostgreSQL os bancos de dados utilizam tablespaces para armazenar seus dados. Há já tablespaces criadas  pelo próprio SGBD que podemos utilizar, aqui veremos como criar uma nova tablespace.

Vamos fazer isto utilizando o terminal do Ubuntu (ou similar) e o pgAdmin, se você ainda não instalou o pgAdmin e ou o postgre veja o post: https://ualaslimadev.blogspot.com.br/2017/10/instalacao-do-postgresql-no-ubuntu-e.html que ensina como fazer.


Para esse tutorial também é necessário que você tenha uma conexão estabelecida com o servidor, aprendemos a criar uma conexão no nosso último post https://ualaslimadev.blogspot.com/2017/10/criando-uma-nova-conexao-com-o-pgadmin.html .


Observados os parágrafos acima abra o pgadmin e observe na área de trabalho do programa  na coluna esquerda o "Server Groups", clique sobre ele ou sobre o botão "+" à sua frente para que uma árvore hierárquica se abra. Entre os "filhos" exibidos está "servers" que contém a conexão que criamos anteriormente. Abrindo essa conexão (de forma análoga ao feito com  "Server Groups") encontraremos entre outras "Databases" que já possui um BD criado automaticamente e um pouco abaixo temos "Tablespaces". Agora vamos passo a passo criar nosso novo tablespace:


   1 - O primeiro passo é criarmos um diretório e atribui-lo ao usuário postgres. Usaremos um exemplo aqui, você pode fazer os passos desse tutorial criando uma pasta em outro local com outro nome se assim desejar desde que nos comandos e passos mostrados aqui você faça as alterações necessárias. Criaremos nossa pasta pelo terminal, então minimize a janela do pgAdmin3 e abra o terminal do seu sistema:

  •  Agora com o terminal aberto use o comando a seguir para irmos até a pasta raiz do sistema:
    • cd \
  • Vamos criar nosso diretório onde ficará nosso tablespace dentro do diretório tmp, se você usar o comando "ls" os diretórios e arquivos dentro do diretório em que você está serão exibidos, entre eles o tmp. Para acessar, ou entrar no tmp use o comando:
    • cd tmp
  • Dentro de tmp vamos criar uma pasta chamada teste com o comando:
    • mkdir teste
  • Se usarmos o comando: ls -lart /tmp/teste serão listados os usuários com direito de acesso a pasta teste. Observe que o usuário "postgres" não aparece na relação;
  • Vamos alterar o usuário dono do diretório teste para postgres. Faremos isso com o seguinte comando:
    • sudo chown -c -R postgres: /tmp/teste      Se a senha for requisitada insira e confirme com enter. Você pode utilizar o comando do tópico anterior para confirmar que agora o usuário postgres tem acesso a pasta teste.
Agora com a pasta criada e pronta para uso do SGBD vamos voltar para o PgAdmin.

   2 - No PgAdmin clicando com o botão direito do mouse sobre "tablespaces" abrirá um pequeno menu, entre as opções exibidas está "New Tablespace" clique sobre ela;

3 - Uma nova janela é aberta, nela iremos criar de fato nosso novo tablespace. A janela é dividida em guias. a primeira delas é a guia "Properties", nela vamos preencher os campos:
  • Nome = "Nome que você deseja dar ao tablespace";
  • Owner = "Clique na seta no fim do campo e escolha o usuário que será o dono da tablespace, certamente se você é um usuário iniciante apenas o usuário "postgres" existe".
   4 - Ainda na mesma janela vamos agora clicar sobre a guia "Definition" nela há o campo "Location", nele colocamos o endereço da pasta que criamos para hospedar nosso tablespace /tmp/teste;

   5 - Se você desejar ver o código SQL gerado vá até a guia SQL. Confirme com "OK" e o tablespace estará criado pronto para uso. Caso ele não apareça imediatamente clique com o botão direito do mouse sobre "tablespaces" e em seguida clique sobre "refresh".

Pronto, criamos então um novo tablespace que poderá ser usado na criação de novos bancos de dados, e o assunto de nosso próximo post será justamente a criação de novos BDs, até lá!



FONTES:

Nenhum comentário:

Postar um comentário