Tecnologia da Informação
PostgreSql - Criar um banco de dados parte I
Vamos apresentar alguns exemplos da criação de um banco de dados no postgresql.
Podemos criar um banco das seguintes formas:
- linha de comando via sql;
- linha de comando via utilitário createdb. Veja a segunda parte do artigo;
- através de interface gráfica. Exemplo PgAdmin, PhpPgAdmin, entre outras. Veja a terceira parte do artigo;
Criar um banco através da linha de comando via sql
Antes de criar o banco vamos fazer a conexão com o servidor:
psql -h<nome ou ip do host> -U <nome do usuário> -d<nome do banco dados>Exemplopsql -h 127.0.0.1 -U postgres -d postgresOUpsql -h 127.0.0.1 -U postgres Parâmetros-h: como estou executando localmente na minha máquina utilizei o ip 127.0.0.1.
Também poderia ter passado o nome localhost;
-U: nome do usuário, no meu caso postgres.
Para você criar um banco você deve ser um super usuário ou ser um usuário com o privilégio de "CREATEDB".
O usuário postgres é um super usuário. No final do artigo, mostramos como listar os privilégios dos usuários
-d: nome do banco que será conectado
Neste exemplo, nos conectamos ao banco de dados "postgres". Este banco é padrão do postgresql, pois já foi criado na instalação.
Quando o nome de usuário é igual ao do banco, como neste caso, não é necessário passar o parâmetro "-d" com o nome do banco, pois quando omitimos o nome do banco, o psql considera que é o nome do banco é igual ao nome do usuário;
Após ter se conectado com o servidor, você pode criar o banco executando a sentença sql conforme o exemplo a seguir:
SINTAXECREATE DATABASE nome_do_banco;
ExemploVamos criar um banco de chamado db_livraria
CREATE DATABASE db_livraria;
Veja a imagem abaixo da criação do banco de dados db_livraria:
Agora que já criamos o banco, como vamos acessá-lo?
Para acessarmos um banco utilizamos o comando psql "\c".\c <nome do banco>
No caso de "db_livraria", ficará ;\c db_livraria
Agora vamos listar todos os bancos do postgresql para verificar com quais parâmetros eles são criados, utilize o comando psql "\l", conforme exibido na imagem abaixo:
Ao observar o banco db_livraria, percebemos que alguns parâmetros foram incluídos por padrão como o proprietário do banco, a codificação "UTF-8" entre outros.Estas configurações foram baseadas no banco de dados "template1". O template1 é um modelo para a criação de outros bancos de dados. Ele é criado na instalação do postgresql. Em outros artigos, falaremos mais sobre o template1. Porém caso tenhamos necessidade, podemos passar os parâmetros na criação de um banco. Aqui descrevemos dois deles: "OWNER" e "CONNECTION LIMIT". Para consultar todos os parâmetros, verifique o manual do postgresql
.CREATE DATABASE nome_do_bancoWITH OWNER = <Nome do usuário proprietário do banco>CONNECTION LIMIT = <número máximo de conexões do banco.>
PARÂMETRO OWNER
Após o parâmetro OWNER colocamos o nome do usuário que será proprietário do novo banco, caso você não utilize este parâmetro, o usuário que está executando o comando será o proprietário do banco. Exemplo do parâmetro OWNERVamos criar um banco chamado db_financeiro. A proprietária deste banco será a Ana.O nome de usuário da Ana vai ser: ana.
Solução
Antes de criarmos o banco, vamos criar a usuária ana, caso ela não exista.
CREATE ROLE ana LOGIN PASSWORD 'cs486338#';
Após executarmos a sentença acima, criamos a usuária ana. Agora vamos criar o banco db_financeiro.
CREATE DATABASE db_financeiroWITH OWNER = ana;
Observações
Após o WITH passamos os parâmetros que queremos utilizar no banco. Porém o uso do WITH é opcional, ou seja também é possível passar os parâmetros sem utilizá-lo na sentença:O sinal de '=' também é opcional.A sentença também pode ser escrita desta forma.
CREATE DATABASE db_financeiro OWNER ana;
Para acessarmos o banco "db_financeiro" utilize o comando psql:
\c db_financeiro
PARÂMETRO CONNECTION LIMIT
CONNECTION LIMIT: número conexões podem ser feitas simultaneamente (ao mesmo tempo) em um banco. Caso você não passe este parâmetro não haverá limite de conexões, ou seja por padrão o valor deste parâmetro será -1.
Exemplo do parâmetro CONNECTION LIMIT
Criar um banco chamado db_escola. Serão permitidos, no máximo, duas conexões e a proprietária será a ana.CREATE DATABASE db_escolaWITH CONNECTION LIMIT = 2OWNER = ana;
Após a criação do banco, vamos sair da conexão com o usuário postgres, para isso vamos utilizar o comando psql "\q".
Agora vamos nos conectar com a usuária ana.
Quando a usuária ana tentar fazer a terceira conexão, haverá um erro devido ao limite de 2 conexões. Veja a imagem abaixo.
Observações
Caso você queira aumentar o limite de conexões do banco "db_escola" para 10 execute a sentença abaixo, na 1ª ou na 2ª conexão:
ALTER DATABASE db_escola CONNECTION LIMIT 10;
Importante: se você precisar limitar o número de conexões no servidor postgresql e não em um banco em específico, você deve alterar a diretiva "max_connections" no arquivo "postgresql.conf" e reiniciar o serviço, mas isso é assunto para um próximo post.
Verificar os privilégios de usuários
Como prometemos no início do artigo, vamos mostrar como verificar os privilégio de usuário. Para isso, vamos utilizar o comando psql "\du".
O resultado da execução deste comando é exibido na imagem a seguir:
Como podemos ver na imagem acima, os usuários carlos, caio e postgres terão privilégio
para criar banco de dados, pois os dois primeiros tem a permissão de CREATEDB e o
último tem a permissão de super-usuário.
A ana não terá permissão para criar novos bancos de dados.
Veja também:
PostgreSql - Criar um banco de dados parte II
PostgreSql - Criar um banco de dados parte III
PostgreSql - Criar tabela primeira parte
Postgresql - Criar tabela segunda parte
Faça um comentário no final do artigo, suas sugestões ou críticas serão bem-vindas.
loading...
-
Realizar Backup Do Mysql No Linux
Fazendo Backup de um banco de dados no MySQL no Ubuntu 12.04.1 Lista dos banco de dados padrão após a instalação do MySQL, com o comando: show databases; Criar um novo banco para ser usado como exemplo para realização do backup. Comando para...
-
Postgresql - Mudar O Nome De Uma Tabela
Para renomear uma tabela no PostgreSql utilizamos o seguinte comando: ALTER TABLE nome_da_tabela RENAME TO novo_nome_da_tabela;Caso tenha interesse, faça o download do exemplo, veja no GitHub ou assista o vídeo no final do artigo. 1º Exemplo Vamos...
-
Postgresql - Criar Um Banco De Dados Parte Iii
Na primeira e segunda parte do artigo, descrevemos alguns exemplos da criação de um banco de dados através da linha de comando. Nesta terceira parte do artigo, apresentamos um vídeo mostrando como criar um banco através de interface gráfica. Existem...
-
[oracle] Tempo Limite De Conexão
Neste post irei explicar como colocar um tempo de limite de conexão para os usuários do banco de dados Oracle. 1. Conecte-se ao banco de dados com o usuário system ou sys. 2. Verifique se o parâmetro RESOURCE_LIMIT está como 'true',...
-
Mysql - Primeiros Passos
Instalar e gerenciar um banco de dados MySql é bem simples. InstalaçãoDownload e instalação do XAMPP, que da suporte ao MySql e a outras ferramentas como o phpMyAdmin, usado para gerenciar seus bancos de dados.Inicie o XAMPP e no modulo MySql clique...
Tecnologia da Informação