PostgreSQL FAQs

PostgreSQL FAQs
De acordo com a pesquisa anual de desenvolvedores de 2020 do Stackoverflow, o PostgreSQL é o segundo sistema de gerenciamento de banco de dados mais popular disponível, e esse não é sem um bom motivo. Desde o seu lançamento inicial em 1996, o PostGresql, ou Postgres, melhorou consideravelmente, adicionando vários recursos úteis, incluindo tipos definidos pelo usuário, herança de tabela, controle de simultaneidade de várias versões e muito mais.

O PostgreSQL também é muito leve, fácil de configurar e pode ser instalado em várias plataformas, como contêineres, VMs ou sistemas físicos. Além de sua GUI padrão, Pgadmin, o Postgres também suporta mais de 50 outros Ides, um terço dos quais são livres para usar. Este artigo abordará algumas das perguntas mais frequentes (perguntas frequentes) sobre o PostgreSQL.

É pós -grausql grátis?

PostgreSQL é um produto gratuito que foi lançado sob a licença PostgreSQL aprovada pela OSI. Isso significa que não há taxa necessária para usar o PostgreSQL, mesmo para fins comerciais, embora existam algumas extensões e serviços de terceiros que exigem uma assinatura ou taxa única.

É pós-grausql de código aberto?

Sim, PostgreSQL é de código aberto. O PostgreSQL começou como um projeto da Universidade de Berkeley em 1986 e foi lançado ao público em 8 de julho de 1996, como um sistema de gerenciamento de banco de dados relacional e gratuito e de código aberto.

É sensível ao caso PostGresql?

PostgreSQL é sensível ao minúsculo por padrão, mas em determinadas situações, pode ser tornado insensível ao caso. Por exemplo, ao criar uma tabela no PostgreSQL, os nomes de coluna e tabela são automaticamente convertidos em casos mais baixos para torná-los insensíveis ao caso. O mesmo também é feito para consultas; Dessa forma, eles combinam com os nomes de coluna e tabela já convertidos.

Observe que quando você usa citações para o nome da coluna ou tabela, como "quantidade", a conversão não ocorre. Você também terá que usar citações em suas consultas, para impedir que o PostgreSQL converte as consultas em minúsculas. Você também pode tornar os valores da coluna insensíveis ao caso usando uma palavra-chave específica do PostGresql chamada Citext Ao criar colunas. Esta palavra -chave também permite uma coluna declarada como EXCLUSIVO ou CHAVE PRIMÁRIA para ser insensível ao caso.

É pós -grausql relacional?

O PostgreSQL foi originalmente projetado para ser um sistema de gerenciamento de banco de dados relacional. Desde então, ele cresceu muito além de seu design original, pois o PostgreSQL agora suporta alguns recursos do NOSQL, como armazenar e recuperar dados em JSON (JSONB) e pares de valores-chave (Hstore). Ao contrário de muitos bancos de dados apenas noSQL, os recursos NoSQL do PostgreSQL são compatíveis com ácido e podem ser interfigurados no SQL, como qualquer outro tipo de dados suportado pelo PostgreSQL.

Por que devo usar PostgreSQL?

Você deve entender as necessidades do seu produto antes de escolher um sistema de gerenciamento de banco de dados para esse produto. Geralmente, essa opção se resume a usar um DBMS relacional ou um banco de dados NoSQL. Se você estiver lidando com dados estruturados e previsíveis com um número estático de usuários ou aplicativos acessando o sistema, considere ir para um banco de dados relacional, como o PostgreSQL.

Além de escolher o PostgreSQL porque é um RDBMS, existem vários outros recursos deste sistema de gerenciamento de banco de dados que o torna um dos sistemas mais populares disponíveis hoje. Alguns desses recursos incluem o seguinte:

  • Suporte para vários tipos de dados, como JSON/JSONB, XML, pares de valor-chave (Hstore), ponto, linha, círculo e polígono. Você também pode criar tipos de dados personalizados.
  • Invólucros de dados estrangeiros que permitem conexão com outros bancos de dados ou fluxos, como neo4j, couchdb, Cassandra, Oracle e muito mais, com uma interface SQL padrão.
  • Capacidade de criar funções personalizadas.
  • Idiomas processuais, como PL/PGSQL, Perl, Python e mais.
  • Acesso a muitas extensões que fornecem funcionalidade adicional, como pós -gis.
  • Controle de simultaneidade de várias versões.
  • Autenticação multifatorial com certificados e um método adicional.

E muito mais. Você pode ver uma lista completa dos recursos oferecidos pelo PostgreSQL aqui.

PostgreSQL vs MySQL: é PostGresql melhor do que MySQL?

MySQL é o sistema de gerenciamento de banco de dados mais popular disponível hoje. É leve, fácil de entender e configurar, e muito rápido, principalmente ao lidar com funções somente leitura de alta concorrência. A facilidade de uso do MySQL facilita a localização de administradores de banco de dados para este sistema de gerenciamento de banco de dados.

Dito isto, o MySQL não possui vários dos recursos que acompanham os bancos de dados PostGresql. Para começar, o PostgreSQL não é apenas um sistema de gerenciamento de banco de dados relacional, também é um sistema de gerenciamento de banco de dados-relativa de objetos-relatórios. Isso significa que o PostGresQL suporta recursos exclusivos, como herança de tabela e sobrecarga de funções.

Ele tem um desempenho melhor ao lidar com consultas complexas sob carga pesada. No entanto, diminui a velocidade ao lidar com operações somente leitura.

O PostgreSQL também possui uma gama mais ampla de tipos de dados disponíveis e permite criar tipos de dados personalizados para o seu banco de dados. Talvez sua maior vantagem sobre o MySQL seja a extensibilidade do PostgreSQL. Você pode criar extensões PostGresql para se adequar ao seu caso de uso.

Na maioria das vezes, o PostgreSQL é um DBMS melhor que o MySQL. Mas no final, tudo se resume ao seu caso de uso. Se você estiver criando um site ou aplicativo da web simples e só precisará armazenar dados, é melhor usar o MySQL. Mas se você estiver lidando com operações mais complexas e de alto volume, considere ir com o PostgreSQL.

PostgreSQL vs MongoDB: é PostgreSQL melhor que o MongoDB?

Uma comparação entre PostgreSQL e MongoDB é simplesmente uma comparação entre os sistemas de gerenciamento de banco de dados relacionais e os bancos de dados NOSQL. E cuja resposta é melhor se resume ao seu caso de uso; Como você deseja usar e estruturar seus dados. Cada DBMS contém características que são úteis em diferentes situações.

Se você estiver construindo um aplicativo com uma estrutura de dados imprevisível e dinâmica, você deseja optar por um banco de dados NOSQL como o MongoDBB. Os sistemas de gerenciamento de banco de dados NoSQL são conhecidos por seus bancos de dados sem esquema, o que significa que a estrutura do banco de dados não precisa ser definida na criação. Isso torna os bancos de dados NoSQL muito flexíveis e facilmente escaláveis.

PostgreSQL é mais adequado se você estiver trabalhando com dados com uma estrutura estática fixa que muda com pouca frequência. PostgreSQL também tem a vantagem do SQL, uma linguagem de consulta poderosa e bem estabelecida. Os sistemas de gerenciamento de banco de dados relacionais são mais apropriados para aplicativos que requerem integridade referencial, como aplicativos de fintech.

Nos últimos anos, ambos os tipos de DBMS têm adotado os principais recursos do outro. Por exemplo, como explicado acima, o PostgreSQL suporta pares de valor-chave e tipos de dados JSON, principais recursos dos sistemas de gerenciamento de banco de dados NoSQL (DBMS). O MongoDB agora afirma ser compatível com ácido, um recurso essencial dos sistemas de gerenciamento de banco de dados relacionais (RBDMS).

No entanto, nenhum recurso funciona como no tipo DBMS original que o suporta. Por exemplo, de acordo com este artigo, o MongoDB ainda tem vários problemas com sua conformidade com ácido. Além disso, enquanto o PostgreSQL suporta tipos de dados JSON e pares de valor-chave, esse sistema não é sem esquema-sem esquema. Você ainda é obrigado a declarar a estrutura na criação.

PostgreSQL: como se conectar a um servidor de banco de dados

Antes de se conectar a um banco de dados, verifique se você baixou e instalou o PostgreSQL em seu sistema operacional. Em seguida, inicie o PSQL aplicativo. Isso abre um programa de interface da linha de comando dedicado para interface com o servidor de banco de dados PostGresql.

Depois que o servidor for lançado, você será solicitado a preencher os seguintes campos sequencialmente: servidor, banco de dados, porta, nome de usuário e senha. Você pode manter as opções padrão definidas durante a instalação do PostGresql, pressionando Digitar para cada consulta.

Quando você chegar ao campo de entrada de senha, digite a senha definida durante a instalação para o usuário "Postgres". Uma vez feito isso e sua identidade for validada com sucesso, você estará conectado ao servidor de banco de dados.

Outra maneira de se conectar a um banco de dados é usando pgadmin. pgadmin A GUI do PostgreSQL é para interface com seus servidores de banco de dados. Usar pgadmin, Inicie o aplicativo. Isso deve abrir um aplicativo da web no seu navegador. Clique com o botão direito do mouse Servidores no canto superior esquerdo do aplicativo da web, depois mouse Criar e selecione Servidor… Do menu que aparece.

Você também pode clicar Adicione um novo servidor sob Links Rápidos. Qualquer que seja a opção que você escolher, agora você deve ver uma caixa de diálogo solicitando algumas informações.

Insira um nome para o servidor e depois navegue para o Conexão aba. Debaixo de Conexão guia, insira “localhost” como seu Nome/endereço do host, Em seguida, digite o PostGres senha do usuário que foi configurada durante a instalação. Clique Salvar Para salvar o servidor. A caixa de diálogo será fechada e você estará conectado ao servidor de banco de dados automaticamente.

Onde estão os bancos de dados PostGresql armazenados?

Por padrão, os bancos de dados PostgreSQL são armazenados em um dados pasta, mas a localização desta pasta varia com o sistema operacional. No Windows, você geralmente o encontrará em qualquer um dos seguintes locais: C: \ Arquivos de Programas (x86) \ PostGresql \\ Data ou C: \ Arquivos de Programas \ PostGresql \\ Data.

Em um Mac, se você instalou o PostGresql via Homebrew, você o encontrará em /usr/local/var/postgres/dados. Caso contrário, estará localizado em /Biblioteca/PostgreSQL // Dados.

Para Linux, o local varia com o sabor Linux. Às vezes, é encontrado em /usr/local/pgsql/dados ou /var/lib/postgreSql/[versão]/dados.

Para determinar a localização dos bancos de dados com mais precisão, insira o seguinte comando em PSQL:

Mostrar data_directory;

PostgreSQL: como iniciar o servidor de banco de dados

Iniciar um servidor PostGresql é um pouco diferente para cada sistema operacional. Para iniciar o servidor no Windows, primeiro, localize o diretório do banco de dados. Isso geralmente é algo como “C: \ Arquivos de Programas \ PostgreSQL \ 10.4 \ dados.”Copie o caminho do diretório, como você precisará em um momento. Em seguida, inicie Prompt de comando e execute o seguinte comando.

PG_CTL -D "C: \ Arquivos de Programas \ PostGresql \ 13 \ Data" Iniciar

O caminho deve ser o caminho do diretório de banco de dados que você copiou. Para parar o servidor, basta substituir "Iniciar" por "Stop" no comando acima. Você também pode reiniciá -lo substituindo “Start por“ reiniciar ”.

Quando você tenta executar este comando, você pode obter o seguinte erro: “PG_CTL não é reconhecido como um comando interno ou externo. Para resolver esse problema, adicione “C: \ Arquivos de Programas \ PostgreSQL \ 9.5 \ bin ”e“ C: \ Arquivos de Programas \ PostgreSql \ 9.5 \ lib ”para a variável de ambiente de caminho do seu sistema.

Para o MacOS, se você instalou o PostgreSQL com o HomeBrew, use os seguintes comandos:

Para iniciar o servidor de banco de dados manualmente, execute o seguinte comando:

pg_ctl -d/usr/local/var/postgres start

Verifique se o caminho do diretório é o do seu banco de dados.

Para iniciar o servidor de banco de dados agora e relançar no login, execute o seguinte comando:

Os serviços de cerveja iniciam o PostGresql

Para interromper o servidor para ambos os cenários, basta substituir "Start" por "Stop.”

No Linux, antes de iniciar um servidor de banco de dados, você deve primeiro definir uma senha para o PostGres do utilizador. Nenhuma senha é definida por padrão na instalação. Você pode definir a senha com o seguinte comando:

sudo -u pós -gres PSQL -C "Alter User Postgres senha 'PostGres';"

Claro, sua senha pode ser tudo o que você escolher para ser. Depois que a senha estiver definida, para iniciar o servidor, insira o seguinte comando no terminal:

SUDO SERVIÇO POSTGRESQL START

Para parar o servidor, substitua "Start" por "Stop" no comando, assim como no Windows e MacOS.

PostgreSQL: como criar um banco de dados

Para criar um banco de dados, verifique se você já está conectado a um servidor de banco de dados. Siga as instruções acima para fazer isso. Se você se conectou ao servidor via PSQL, Digite o seguinte comando para criar um banco de dados:

Criar banco de dados new_database;

Se você deseja se conectar ao seu banco de dados recentemente criado, digite o seguinte comando:

\ c new_database

Agora você deveria estar conectado a isso.

Se você se conectou ao servidor via pgadmin, no aplicativo da web, clique com o botão direito do mouse Bancos de dados, pairar sobre Criar, e selecione Base de dados…

Você deve ver uma caixa de diálogo aparecer solicitando determinados detalhes para criar o banco de dados. Você precisará inserir pelo menos o nome do banco de dados para criar o banco de dados. Insira um nome no Base de dados campo e clique Salvar. Agora você deve poder ver seu banco de dados recentemente criado Bancos de dados.

Onde estão os logs do PostgreSql?

Por padrão, os logs do PostgreSQL são armazenados no registro pasta sob o dados Pasta, o local padrão para bancos de dados PostGresql. Para confirmar isso, execute o seguinte comando em PSQL:

Mostrar log_directory;

Observe que este comando exibirá apenas um caminho relativo, mas o caminho deve estar localizado no dados pasta.

PostGresql possui procedimentos armazenados?

Embora o PostgreSQL sempre tenha suportado funções definidas pelo usuário, não foi até o seu V11.0 liberação que incluiu suporte para procedimentos armazenados. Para criar um procedimento armazenado no PostgreSQL, use o Criar procedimento declaração. Para executar um procedimento armazenado, use o CHAMAR declaração.

Conclusão

O PostgreSQL viu um desenvolvimento ativo há mais de 30 anos, tendo sido criado na década de 1980. Durante esse período, o PostgreSQL amadureceu significativamente e atualmente é o segundo sistema de gerenciamento de banco de dados mais popular do mundo, de acordo com a pesquisa anual de desenvolvedores da Stackoverflow 2020.

Duas razões principais para a popularidade do PostgreSQL são sua extensibilidade e a infinidade de recursos úteis disponíveis para seus usuários. Se você estiver selecionando um DBMS para o seu projeto e decidiu que prefere um RDBMS em vez de um banco de dados NOSQL, o PostgreSQL seria uma excelente opção para o seu aplicativo.