{"id":16626,"date":"2019-07-12T11:50:25","date_gmt":"2019-07-12T14:50:25","guid":{"rendered":"https:\/\/blog.hostinger.io\/pt-tutoriais\/?p=16626"},"modified":"2026-03-10T13:01:27","modified_gmt":"2026-03-10T16:01:27","slug":"instalar-postgresql-centos","status":"publish","type":"post","link":"\/pt\/tutoriais\/instalar-postgresql-centos","title":{"rendered":"Como instalar PostgreSQL no CentOS 9, criar fun\u00e7\u00f5es e bancos de dados"},"content":{"rendered":"<?xml encoding=\"utf-8\" ?><p>O PostgreSQL &eacute; um sistema de gerenciamento de banco de dados relacional (RDBMS) de c&oacute;digo aberto, conhecido por sua capacidade de lidar com grandes quantidades de dados &mdash; o que o torna uma op&ccedil;&atilde;o popular para aplica&ccedil;&otilde;es complexas e de grande escala.<\/p><p>Ele &eacute; compat&iacute;vel com v&aacute;rios tipos de dados, linguagens de programa&ccedil;&atilde;o, web stacks e sistemas operacionais, incluindo distribui&ccedil;&otilde;es populares do Linux, como o CentOS.<\/p><p>Neste tutorial, explicaremos como instalar o PostgreSQL no CentOS 9. Voc&ecirc; tamb&eacute;m conhecer&aacute; as instru&ccedil;&otilde;es e os comandos b&aacute;sicos do&nbsp;<strong>postgres&nbsp;<\/strong>para gerenciar fun&ccedil;&otilde;es e bancos de dados. Vamos l&aacute;?<\/p><p>\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-o-que-voce-precisara-para-instalar-o-postgresql\"><strong>O que voc&ecirc; precisar&aacute; para instalar o PostgreSQL<\/strong><\/h2><p>Antes de instalar o PostgreSQL, certifique-se de que seu servidor atenda aos requisitos de hardware recomendados:<\/p><ul class=\"wp-block-list\">\n<li>Processador de 1 GHz.<\/li>\n\n\n\n<li>Pelo menos 2 GB de RAM.<\/li>\n\n\n\n<li>M&iacute;nimo de 512 MB de espa&ccedil;o de armazenamento.&nbsp;<\/li>\n<\/ul><p>Seu sistema tamb&eacute;m deve estar rodando o CentOS 9, pois as etapas de instala&ccedil;&atilde;o podem ser diferentes no caso de outros sistemas.<\/p><p>Se voc&ecirc; ainda n&atilde;o tem um servidor, recomendamos os planos de <a href=\"\/pt\/servidor-vps\">servidor dedicado<\/a> da Hostinger. O plano KVM 1, que sai por a partir de&nbsp;<strong>\u20ac5.49&nbsp;\/m&ecirc;s<\/strong>, oferece&nbsp;<strong>1 n&uacute;cleo vCPU<\/strong>,&nbsp;<strong>4 GB&nbsp;<\/strong>de RAM e&nbsp;<strong>50 GB&nbsp;<\/strong>de armazenamento, o que &eacute; mais do que suficiente para hospedar o PostgreSQL.<\/p><p>Al&eacute;m disso, voc&ecirc; pode instalar facilmente m&uacute;ltiplos sistemas operacionais Linux no VPS da Hostinger sem executar nenhum comando: basta selecionar um dos nossos templates de sistema operacional. N&oacute;s atualizamos continuamente esses templates para adicionar suporte &agrave;s distribui&ccedil;&otilde;es mais recentes, incluindo&nbsp;<strong>o CentOS 9<\/strong>.<\/p><p>Os planos VPS da Hostinger tamb&eacute;m simplificam suas tarefas de gerenciamento do banco de dados PostgreSQL. Nosso backup autom&aacute;tico semanal gratuito e o scanner de malware integrado te ajudar&atilde;o a manter a integridade dos seus dados sem precisar gastar tempo com isso.<\/p><p>Se voc&ecirc; precisar de ajuda para gerenciar seu servidor, basta recorrer ao&nbsp;<strong>Kodee<\/strong>, nosso&nbsp;<strong>assistente de IA<\/strong>. Com apenas algumas instru&ccedil;&otilde;es simples, voc&ecirc; receber&aacute; orienta&ccedil;&otilde;es sobre qualquer coisa que queira fazer, inclusive comandos e tarefas de manuten&ccedil;&atilde;o.<\/p><figure class=\"wp-block-image size-large\"><a href=\"\/pt\/alojamento-vps\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/blog.hostinger.io\/pt-tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-VPS-hosting_in-text-banner-1-1024x300.png\" alt=\"\" class=\"wp-image-32923\" srcset=\"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-VPS-hosting_in-text-banner-1.png 1024w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-VPS-hosting_in-text-banner-1-300x88.png 300w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-VPS-hosting_in-text-banner-1-150x44.png 150w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-VPS-hosting_in-text-banner-1-768x225.png 768w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-VPS-hosting_in-text-banner-1-1536x450.png 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-como-instalar-e-criar-um-banco-de-dados-postgresql\"><strong>Como instalar e criar um banco de dados PostgreSQL<\/strong><\/h2><p>Aqui est&atilde;o as etapas para instalar o PostgreSQL no CentOS. Antes de prosseguir, conecte-se ao seu servidor&nbsp;<a href=\"\/pt\/tutoriais\/como-se-conectar-servidor-vps-usando-terminal-ssh\"><strong>usando um cliente SSH como PuTTY<\/strong><\/a>, Terminal ou o&nbsp;<strong>terminal do navegador&nbsp;<\/strong>da Hostinger.<\/p><h3 class=\"wp-block-heading\" id=\"h-1-baixe-e-instale-o-postgresql\"><strong>1. Baixe e instale o PostgreSQL<\/strong><\/h3><p>Voc&ecirc; pode instalar o pacote PostgreSQL de duas maneiras: por meio do reposit&oacute;rio oficial ou o local. Neste tutorial, usaremos o reposit&oacute;rio oficial, pois ele &eacute; atualizado mais rapidamente do que o local. Aqui est&atilde;o as etapas:<\/p><ol class=\"wp-block-list\">\n<li>Adicione o reposit&oacute;rio PostgreSQL ao seu sistema usando o seguinte comando:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"> sudo dnf install -y https:\/\/download.postgresql.org\/pub\/repos\/yum\/reporpms\/EL-9-x86_64\/pgdg-redhat-repo-latest.noarch.rpm<\/pre><ol start=\"2\" class=\"wp-block-list\">\n<li>Desative o m&oacute;dulo PostgreSQL nativo do seu sistema para evitar instalar a vers&atilde;o incorreta:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo dnf -qy module disable postgresql<\/pre><ol start=\"3\" class=\"wp-block-list\">\n<li>Instale o servidor PostgreSQL executando este comando. Se voc&ecirc; quiser configurar outra vers&atilde;o, substitua&nbsp;<strong>17&nbsp;<\/strong>pelo n&uacute;mero correspondente:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo dnf install -y postgresql17-server<\/pre><ol start=\"4\" class=\"wp-block-list\">\n<li>Inicialize o banco de dados para definir os arquivos e a configura&ccedil;&atilde;o necess&aacute;rios para o PostgreSQL:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo \/usr\/pgsql-17\/bin\/postgresql-17-setup initdb<\/pre><ol start=\"5\" class=\"wp-block-list\">\n<li>Inicie e habilite o PostgreSQL durante a inicializa&ccedil;&atilde;o executando esses comandos um ap&oacute;s o outro:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo systemctl enable postgresql-17<\/pre><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo systemctl start postgresql-17<\/pre><p>E &eacute; isso! Antes de acessar o banco de dados, certifique-se de que o PostgreSQL esteja em execu&ccedil;&atilde;o verificando seu status com este comando:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo systemctl status postgresql-17<\/pre><div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"86\" src=\"https:\/\/blog.hostinger.io\/br-tutoriais\/wp-content\/uploads\/sites\/53\/2019\/07\/systemctl-shows-postgresql-service-status-1024x86.png\" alt=\"status de servi&ccedil;o do PostgreSQL no systemctl\" class=\"wp-image-47056\" srcset=\"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2019\/07\/systemctl-shows-postgresql-service-status.png 1024w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2019\/07\/systemctl-shows-postgresql-service-status-300x25.png 300w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2019\/07\/systemctl-shows-postgresql-service-status-150x13.png 150w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2019\/07\/systemctl-shows-postgresql-service-status-768x65.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div><p>Como alternativa, se voc&ecirc; usar o VPS da Hostinger, pode verificar o status do Postgresql sem digitar um comando sequer &mdash; basta perguntar ao assistente de IA <strong>Kodee<\/strong>. Digite &ldquo;cheque o status de servi&ccedil;o do postgresql-17 no meu VPS&rdquo; e o Kodee mostrar&aacute; as informa&ccedil;&otilde;es desejadas.<\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/blog.hostinger.io\/br-tutoriais\/wp-content\/uploads\/sites\/53\/2019\/07\/kodee-postgresql-17-vps-1024x521.png\" alt=\"kodee exibindo status de servi&ccedil;o postgresql-17 de um vps\" class=\"wp-image-49459\"><\/figure><\/div><h3 class=\"wp-block-heading\" id=\"h-2-conecte-se-ao-shell-do-postgresql\"><strong>2. Conecte-se ao shell do PostgreSQL<\/strong><\/h3><p>Para gerenciar o banco de dados, voc&ecirc; deve se conectar ao shell de linha de comando do PostgreSQL, ou&nbsp;<strong>psql<\/strong>. Para isso, alterne para o usu&aacute;rio raiz do<strong>&nbsp;postgres<\/strong>, que vem pr&eacute;-configurado durante a instala&ccedil;&atilde;o:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo su postgres<\/pre><p>Seu prompt do shell deve mudar. Agora, entre no shell do PostgreSQL usando este comando:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">psql<\/pre><p>Quando sua linha de comando mudar para&nbsp;<strong>Postgres=#<\/strong>, voc&ecirc; poder&aacute; gerenciar seu banco de dados. Para sair do prompt do PostgreSQL e retornar ao shell principal do sistema, digite o seguinte:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">q<\/pre><h3 class=\"wp-block-heading\" id=\"h-3-criando-uma-nova-funcao\"><strong>3. Criando uma nova fun&ccedil;&atilde;o<\/strong><\/h3><p>Uma&nbsp;<a href=\"https:\/\/www.postgresql.org\/docs\/current\/user-manag.html\" target=\"_blank\" rel=\"noopener\"><strong>fun&ccedil;&atilde;o (<em>role<\/em>) no PostgreSQL<\/strong><\/a>&nbsp;&eacute; id&ecirc;ntica a um&nbsp;<strong>usu&aacute;rio&nbsp;<\/strong>ou&nbsp;<strong>grupo&nbsp;<\/strong>&ndash; uma entidade que voc&ecirc; pode usar para gerenciar seus bancos de dados e permiss&otilde;es de acesso no PostgreSQL. Para configurar uma fun&ccedil;&atilde;o, use a seguinte instru&ccedil;&atilde;o:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">CREATE ROLE my_role;<\/pre><p>Como n&atilde;o definimos uma senha, a instru&ccedil;&atilde;o acima criar&aacute; uma nova fun&ccedil;&atilde;o sem um privil&eacute;gio de login. Pense nessa fun&ccedil;&atilde;o como semelhante aos grupos, que s&atilde;o &uacute;teis para gerenciar privil&eacute;gios.<\/p><p>Se voc&ecirc; quiser criar uma fun&ccedil;&atilde;o com uma permiss&atilde;o de login semelhante &agrave; de um usu&aacute;rio, use o seguinte comando:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">CREATE ROLE my_role WITH LOGIN PASSWORD 'my_password';<\/pre><p>Ao criar uma fun&ccedil;&atilde;o, voc&ecirc; pode adicionar as permiss&otilde;es posteriormente usando o&nbsp;<a href=\"https:\/\/www.postgresql.org\/docs\/current\/sql-grant.html\" target=\"_blank\" rel=\"noopener\"><strong>comando GRANT<\/strong><\/a>. Como alternativa, voc&ecirc; pode usar a configura&ccedil;&atilde;o interativa para atribuir os privil&eacute;gios respondendo a perguntas.<\/p><p>Para fazer isso, saia do shell do PostgreSQL e volte a usar o usu&aacute;rio&nbsp;<strong>postgres<\/strong>. Em seguida, execute este comando:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">createuser --interactive<\/pre><div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"156\" src=\"https:\/\/blog.hostinger.io\/br-tutoriais\/wp-content\/uploads\/sites\/53\/2019\/07\/postgresql-interactive-role-creation-1024x156.png\" alt=\"criando fun&ccedil;&atilde;o no fluxo interativo do PostgreSQL\" class=\"wp-image-47057\" srcset=\"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2019\/07\/postgresql-interactive-role-creation-1024x156.png 1024w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2019\/07\/postgresql-interactive-role-creation-300x46.png 300w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2019\/07\/postgresql-interactive-role-creation-150x23.png 150w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2019\/07\/postgresql-interactive-role-creation-768x117.png 768w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2019\/07\/postgresql-interactive-role-creation.png 1140w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div><p>Basta responder &agrave;s perguntas para configurar uma fun&ccedil;&atilde;o de acordo com suas necessidades. Para verificar todas as fun&ccedil;&otilde;es em seu banco de dados, execute o seguinte comando no shell psql:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">du<\/pre><p>Se quiser entrar no shell&nbsp;<strong>do postgres&nbsp;<\/strong>usando essa fun&ccedil;&atilde;o, voc&ecirc; tamb&eacute;m dever&aacute; criar um novo usu&aacute;rio Linux correspondente em seu sistema. Aqui est&aacute; o comando:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo adduser new-user<\/pre><p>A conex&atilde;o ao&nbsp;<strong>psql&nbsp;<\/strong>como a nova fun&ccedil;&atilde;o tamb&eacute;m requer um banco de dados. Se o usu&aacute;rio n&atilde;o tiver um, voc&ecirc; poder&aacute; usar o banco de dados&nbsp;<strong>postgres&nbsp;<\/strong>padr&atilde;o. O comando &eacute; o seguinte:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo -u new-user psql -d postgres <\/pre><p><div><p class=\"important\"><strong>Importante! <\/strong>Para acessar a linha de comando do psql como outro usu&aacute;rio, execute o comando login no shell principal do sistema.<\/p><\/div>\n\n\n\n<\/p><h3 class=\"wp-block-heading\" id=\"h-4-criando-um-novo-banco-de-dados\"><strong>4. Criando um novo banco de dados<\/strong><\/h3><p>Para criar um novo banco de dados PostgreSQL, fa&ccedil;a login no shell&nbsp;<strong>psql&nbsp;<\/strong>como um usu&aacute;rio que possui as permiss&otilde;es necess&aacute;rias.<\/p><p>Agora, crie um novo banco de dados executando o seguinte comando.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">CREATE DATABASE db_name;<\/pre><p>Liste todos os bancos de dados para verificar se voc&ecirc; criou o novo banco de dados com sucesso. Aqui est&aacute; o comando:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">1<\/pre><div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"172\" src=\"https:\/\/blog.hostinger.io\/br-tutoriais\/wp-content\/uploads\/sites\/53\/2019\/07\/database-list-on-postgresql-1024x172.png\" alt=\"lista de bancos de dados no PostgreSQL\" class=\"wp-image-47058\" srcset=\"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2019\/07\/database-list-on-postgresql.png 1024w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2019\/07\/database-list-on-postgresql-300x50.png 300w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2019\/07\/database-list-on-postgresql-150x25.png 150w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2019\/07\/database-list-on-postgresql-768x129.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div><p>Agora, conecte-se ao novo banco de dados executando o comando abaixo. Substitua&nbsp;<strong>db_name&nbsp;<\/strong>pelo nome real do banco:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">c db_name<\/pre><p>Depois de se conectar, voc&ecirc; pode verificar as informa&ccedil;&otilde;es sobre o banco de dados atual digitando:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">conninfo<\/pre><h3 class=\"wp-block-heading\" id=\"h-5-adicionando-e-removendo-tabelas-do-banco-de-dados\"><strong>5. Adicionando e removendo tabelas do banco de dados<\/strong><\/h3><p>Os RDBMS, como o PostgreSQL, organizam os dados em tabelas compostas por linhas e colunas. Para um gerenciamento mais eficiente, &eacute; poss&iacute;vel agrupar tabelas relacionadas em uma categoria chamada&nbsp;<strong>esquema (<em>schema<\/em>)<\/strong>.<\/p><p>Por exemplo, voc&ecirc; pode organizar tabelas sobre dados de funcion&aacute;rios e faturas de folha de pagamento em um esquema de recursos humanos (HR). Para criar um esquema, use a seguinte instru&ccedil;&atilde;o:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">CREATE SCHEMA schema_name;<\/pre><p>Para criar uma tabela dentro do esquema, basta adicionar o nome do esquema no in&iacute;cio da declara&ccedil;&atilde;o, da seguinte forma:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">CREATE TABLE schema_name.table_name (\n\n    column1 data_type constraints,\n\n    column2 data_type constraints,\n\n    ...\n\n);<\/pre><p>Ao criar uma tabela, liste as colunas separadas por v&iacute;rgula. Cada coluna deve conter um&nbsp;<a href=\"https:\/\/www.postgresql.org\/docs\/current\/datatype.html\" target=\"_blank\" rel=\"noopener\"><strong>tipo de dado<\/strong><\/a>&nbsp;para especificar os valores a serem inseridos e uma <a href=\"https:\/\/www.postgresql.org\/docs\/current\/ddl-constraints.html\" target=\"_blank\" rel=\"noopener\"><strong>restri&ccedil;&atilde;o<\/strong><\/a>&nbsp;para definir os crit&eacute;rios de dados.<\/p><p>Por exemplo, voc&ecirc; pode definir o tipo dos dados como inteiros, caracteres ou valores booleanos. Enquanto isso, voc&ecirc; pode definir uma restri&ccedil;&atilde;o para permitir apenas valores n&atilde;o vazios ou dados exclusivos que outras colunas n&atilde;o tenham.<\/p><p>Aqui est&aacute; um exemplo de instru&ccedil;&atilde;o que cria uma tabela de dados de funcion&aacute;rios dentro do esquema de RH, contendo quatro colunas para IDs, nome e sobrenome, bem como data de contrata&ccedil;&atilde;o:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">CREATE TABLE hr.employees (\n\n    employee_id SERIAL PRIMARY KEY,\n\n    first_name VARCHAR(100) NOT NULL, \n\n    last_name VARCHAR(100) NOT NULL,\n\n    hire_date DATE NOT NULL  \n\n);<\/pre><p>Para verificar a tabela, digite o seguinte em seu shell de linha de comando&nbsp;<strong>psql<\/strong>:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">d table-name<\/pre><p>Se quiser verificar tabelas pertencentes a outro esquema, use esse comando:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">dt schema-name.table<\/pre><div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"187\" src=\"https:\/\/blog.hostinger.io\/br-tutoriais\/wp-content\/uploads\/sites\/53\/2019\/07\/a-postgresql-database-table-1024x187.png\" alt=\"tabela de banco de dados no PostgreSQL\" class=\"wp-image-47059\" srcset=\"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2019\/07\/a-postgresql-database-table.png 1024w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2019\/07\/a-postgresql-database-table-300x55.png 300w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2019\/07\/a-postgresql-database-table-150x27.png 150w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2019\/07\/a-postgresql-database-table-768x140.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div><h3 class=\"wp-block-heading\" id=\"h-6-inserindo-atualizando-e-excluindo-dados-em-uma-tabela\"><strong>6. Inserindo, atualizando e excluindo dados em uma tabela<\/strong><\/h3><p>Depois de configurar uma tabela e colunas, voc&ecirc; pode come&ccedil;ar a preench&ecirc;-las com dados. Para isso, especifique a tabela e as colunas nas quais voc&ecirc; deseja inserir os dados e, em seguida, liste os valores da seguinte forma:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">INSERT INTO hr.employees (first_name, last_name, hire_date)\n\nVALUES\n\n    ('John', 'Doe', '2024-01-15'),\n\n    ('Jane', 'Smith', '2023-11-10');<\/pre><p>No exemplo, inserimos valores nas colunas nome (first_name), sobrenome (last_name) e data de contrata&ccedil;&atilde;o (hire_date) da tabela de&nbsp;<strong>funcion&aacute;rios<\/strong>. A primeira linha ter&aacute; dados sobre&nbsp;<strong>John Doe<\/strong>, enquanto a segunda conter&aacute; detalhes sobre&nbsp;<strong>Jane Smith<\/strong>.<\/p><p>Para verificar o valor de uma linha espec&iacute;fica, voc&ecirc; pode usar uma condi&ccedil;&atilde;o espec&iacute;fica como filtro. Por exemplo, o seguinte procedimento procurar&aacute; um funcion&aacute;rio usando seu ID:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">SELECT * FROM employees\n\nWHERE employee_id = 1;<\/pre><p>Voc&ecirc; tamb&eacute;m pode usar condi&ccedil;&otilde;es para atualizar o valor de uma linha espec&iacute;fica. Por exemplo, essa instru&ccedil;&atilde;o mudar&aacute; Jane Smith para Jane Doe:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">UPDATE employees\n\nSET last_name = 'Doe'\n\nWHERE employee_id = 2;<\/pre><p>Al&eacute;m disso, as condi&ccedil;&otilde;es s&atilde;o &uacute;teis para excluir dados. Por exemplo, excluiremos os dados do funcion&aacute;rio com o ID 1:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">DELETE FROM employees\n\nWHERE employee_id = 1;<\/pre><p>A exclus&atilde;o de uma linha remover&aacute; completamente a entrada da tabela. Isso n&atilde;o afetar&aacute; os dados acima e abaixo, a menos que eles tenham restri&ccedil;&otilde;es espec&iacute;ficas, como o&nbsp;<a href=\"https:\/\/www.postgresql.org\/docs\/current\/ddl-constraints.html#DDL-CONSTRAINTS-FK\" target=\"_blank\" rel=\"noopener\"><strong>relacionamento de chave estrangeira<\/strong><\/a>.<\/p><h2 class=\"wp-block-heading\" id=\"h-conclusao\"><strong>Conclus&atilde;o<\/strong><\/h2><p>Neste artigo, explicamos como instalar o PostgreSQL no CentOS 9. Antes de configur&aacute;-lo, certifique-se de que voc&ecirc; tem um servidor que atenda aos requisitos m&iacute;nimos do sistema, como o plano VPS KVM 1 da Hostinger.<\/p><p>Em seguida, instale o PostgreSQL usando as etapas a seguir:<\/p><ol class=\"wp-block-list\">\n<li>Fa&ccedil;a o download do pacote PostgreSQL mais recente e ative seu servi&ccedil;o usando o&nbsp;<strong>systemctl<\/strong>.&nbsp;<\/li>\n\n\n\n<li>Conecte-se ao shell do PostgreSQL alternando para a conta&nbsp;<strong>postgres&nbsp;<\/strong>e digitando&nbsp;<strong>psql<\/strong>.<\/li>\n\n\n\n<li>Crie uma nova fun&ccedil;&atilde;o com permiss&atilde;o de login em seu banco de dados e sistema Linux.<\/li>\n\n\n\n<li>Crie um novo banco de dados usando uma fun&ccedil;&atilde;o com permiss&atilde;o suficiente, como&nbsp;<strong>postgres<\/strong>.<\/li>\n\n\n\n<li>Adicione uma tabela para organizar os dados em seu banco de dados inserindo o comando&nbsp;<strong>CREATE<\/strong>.&nbsp;<\/li>\n\n\n\n<li>Preencha e gerencie dados em suas tabelas de banco de dados usando instru&ccedil;&otilde;es como&nbsp;<strong>INSERT&nbsp;<\/strong>e&nbsp;<strong>UPDATE<\/strong>.<\/li>\n<\/ol><p>Esperamos que este artigo tenha ajudado voc&ecirc; a configurar um banco de dados PostgreSQL em seu sistema CentOS 9. Se tiver alguma d&uacute;vida ou problema, deixe um coment&aacute;rio abaixo. Boa sorte!<\/p><h2 class=\"wp-block-heading\" id=\"h-perguntas-frequentes-sobre-como-instalar-postgresql-no-centos\"><strong>Perguntas frequentes sobre como instalar PostgreSQL no CentOS<\/strong><\/h2><p>Por fim, vamos conferir algumas perguntas frequentes sobre como instalar o PostgreSQL no CentOS 9.<\/p><div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-6944148c30f2c\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Como verificar se o PostgreSQL est&aacute; instalado corretamente?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>H&aacute; algumas maneiras de verificar se o PostgreSQL est&aacute; instalado. Uma delas &eacute; iniciar o banco de dados usando o&nbsp;comando systemctl:u003cbr \/u003eu003ccode data-enlighter-language=u0022genericu0022 class=u0022EnlighterJSRAWu0022u003esudo systemctl start postgresql-17u003c\/codeu003eu003cbr \/u003eCertifique-se de substituir&nbsp;17&nbsp;pela vers&atilde;o que voc&ecirc; instalou de fato. Se sua linha de comando retornar um erro de servi&ccedil;o ausente, isso significa que o PostgreSQL n&atilde;o est&aacute; configurado corretamente.&nbsp;u003cbr \/u003eOutro m&eacute;todo &eacute; fazer login na linha de comando do PostgreSQL usando o seguinte:u003cbr \/u003eu003ccode data-enlighter-language=u0022genericu0022 class=u0022EnlighterJSRAWu0022u003esudo -u postgres psqlu003c\/codeu003eu003cbr \/u003eSe voc&ecirc; encontrar o erro&nbsp;command not found, isso significa que o RDBMS n&atilde;o est&aacute; instalado corretamente.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-6944148c30f30\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Como acessar a interface de linha de comando do PostgreSQL?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Para acessar a interface de linha de comando do PostgreSQL, tamb&eacute;m conhecida como shell&nbsp;psql, alterne para a conta padr&atilde;o do&nbsp;postgres&nbsp;usando este comando:u003cbr \/u003eu003ccode data-enlighter-language=u0022genericu0022 class=u0022EnlighterJSRAWu0022u003esudo su postgresu003c\/codeu003eu003cbr \/u003eAgora, basta digitar&nbsp;psql, e o shell dever&aacute; mudar para o PostgreSQL, indicando que voc&ecirc; acessou a interface de linha de comando. Para sair do shell, digite o seguinte:u003cbr \/u003eu003ccode data-enlighter-language=u0022genericu0022 class=u0022EnlighterJSRAWu0022u003equ003c\/codeu003eu003cbr \/u003eVoc&ecirc; tamb&eacute;m pode usar um &uacute;nico comando em seu shell principal para entrar no&nbsp;psql&nbsp;da seguinte forma:u003cbr \/u003eu003ccode data-enlighter-language=u0022genericu0022 class=u0022EnlighterJSRAWu0022u003esudo -u postgres psqlu003c\/codeu003e<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-6944148c30f31\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Por que estou tendo problemas ao instalar o PostgreSQL?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>V&aacute;rios fatores podem causar problemas durante a instala&ccedil;&atilde;o do PostgreSQL. Se voc&ecirc; encontrar erros ao fazer o download do pacote, verifique se o comando est&aacute; correto e se o URL do download correto est&aacute; de acordo com o seu sistema operacional.u003cbr \/u003eSe surgir um problema ao se conectar ao shell&nbsp;psql, verifique se o servi&ccedil;o&nbsp;postgresql&nbsp;est&aacute; em execu&ccedil;&atilde;o usando esse comando:u003cbr \/u003eu003ccode data-enlighter-language=u0022genericu0022 class=u0022EnlighterJSRAWu0022u003esudo systemctl status postgresql-17u003c\/codeu003eu003cbr \/u003eSe o status do PostgreSQL n&atilde;o estiver em execu&ccedil;&atilde;o, inicialize-o manualmente usando este comando:u003cbr \/u003eu003ccode data-enlighter-language=u0022genericu0022 class=u0022EnlighterJSRAWu0022u003esudo systemctl start postgresql-17u003c\/codeu003e<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-6944148c30f32\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Por que n&atilde;o consigo me conectar a outra fun&ccedil;&atilde;o do PostgreSQL?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Se n&atilde;o conseguir se conectar a uma nova fun&ccedil;&atilde;o do PostgreSQL, verifique se criou o usu&aacute;rio correspondente no seu sistema Linux. Por exemplo, se voc&ecirc; configurar a fun&ccedil;&atilde;o&nbsp;new_user, seu servidor tamb&eacute;m dever&aacute; ter a mesma conta&nbsp;new_user.u003cbr \/u003eAl&eacute;m disso, voc&ecirc; deve especificar o banco de dados a ser conectado. Se o novo usu&aacute;rio n&atilde;o tiver um banco de dados, use ob anco de dados&nbsp;postgres&nbsp;padr&atilde;o, como neste comando:u003cbr \/u003eu003ccode data-enlighter-language=u0022genericu0022 class=u0022EnlighterJSRAWu0022u003esudo -u NewUser psql -d postgresu003c\/codeu003eu003cbr \/u003eAl&eacute;m disso, tente criar a nova fun&ccedil;&atilde;o usando a instru&ccedil;&atilde;o abaixo em vez do modo interativo para conceder explicitamente o privil&eacute;gio de login.&nbsp;u003cbr \/u003eu003ccode data-enlighter-language=u0022genericu0022 class=u0022EnlighterJSRAWu0022u003eCREATE ROLE my_role WITH LOGIN PASSWORD &lsquo;my_password&rsquo;u003c\/codeu003e<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>O PostgreSQL &eacute; um sistema de gerenciamento de banco de dados relacional (RDBMS) de c&oacute;digo aberto, conhecido por sua capacidade de lidar com grandes quantidades de dados &mdash; o que o torna uma op&ccedil;&atilde;o popular para aplica&ccedil;&otilde;es complexas e de grande escala. Ele &eacute; compat&iacute;vel com v&aacute;rios tipos de dados, linguagens de programa&ccedil;&atilde;o, web stacks [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/pt\/tutoriais\/instalar-postgresql-centos\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":356,"featured_media":49377,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"rank_math_title":"Como instalar PostgreSQL no CentOS 9: tutorial completo","rank_math_description":"Aprenda a instalar o PostgreSQL no CentOS de forma simples e eficiente. Siga nosso guia e comece a usar esse poderoso banco de dados!","rank_math_focus_keyword":"instalar PostgreSQL centos","footnotes":""},"categories":[4915],"tags":[6825],"class_list":["post-16626","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-vps","tag-postgresql-centos-7"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/how-to-install-postgresql-on-centos","default":0},{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/instalar-postgresql-centos","default":0},{"locale":"fr-FR","link":"https:\/\/www.hostinger.com\/fr\/tutoriels\/installer-postgresql-centos","default":0},{"locale":"es-ES","link":"https:\/\/www.hostinger.com\/es\/tutoriales\/como-instalar-postgresql-en-centos","default":0},{"locale":"id-ID","link":"https:\/\/www.hostinger.com\/id\/tutorial\/cara-instal-postgresql-centos","default":0},{"locale":"en-UK","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/how-to-install-postgresql-on-centos","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/how-to-install-postgresql-on-centos","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/how-to-install-postgresql-on-centos","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/como-instalar-postgresql-en-centos","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/como-instalar-postgresql-en-centos","default":0},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/como-instalar-postgresql-en-centos","default":0},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/instalar-postgresql-centos","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/how-to-install-postgresql-on-centos","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/how-to-install-postgresql-on-centos","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/how-to-install-postgresql-on-centos","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/how-to-install-postgresql-on-centos","default":0}],"acf":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/posts\/16626","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/users\/356"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/comments?post=16626"}],"version-history":[{"count":7,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/posts\/16626\/revisions"}],"predecessor-version":[{"id":49376,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/posts\/16626\/revisions\/49376"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/media\/49377"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/media?parent=16626"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/categories?post=16626"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/tags?post=16626"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}