{"id":8690,"date":"2026-07-09T15:13:31","date_gmt":"2026-07-09T18:13:31","guid":{"rendered":"https:\/\/powertuning.com.br\/blog\/?p=8690"},"modified":"2026-07-09T15:13:31","modified_gmt":"2026-07-09T18:13:31","slug":"8690-2","status":"publish","type":"post","link":"https:\/\/powertuning.com.br\/blog\/8690-2\/","title":{"rendered":""},"content":{"rendered":"<p>&nbsp;<\/p>\n<div style=\"max-width: 860px; margin: 0 auto;\">\n<div style=\"background: linear-gradient(135deg,#081F42 0%,#0B2D5E 55%,#16437F 100%); border-radius: 14px; padding: 44px 40px 40px 40px; margin: 0 0 30px 0;\">\n<div style=\"display: inline-block; background: #F5C800; color: #0b2d5e; font-size: 13px; letter-spacing: 2px; font-weight: bold; text-transform: uppercase; padding: 7px 16px; border-radius: 20px; margin: 0 0 20px 0;\">S\u00e9rie De SQL Server para PostgreSQL \u00b7 #1<\/div>\n<h1 style=\"color: #ffffff; font-size: 33px; line-height: 1.3; margin: 0 0 14px 0;\">Instala\u00e7\u00e3o sem wizard e sem SSMS<\/h1>\n<p style=\"color: #d6e2f5; font-size: 16px; line-height: 1.65; margin: 0;\">Um guia para quem j\u00e1 conhece SQL Server no Windows e vai instalar a vers\u00e3o mais recente do PostgreSQL no Linux pela primeira vez. Nesta s\u00e9rie, comparamos lado a lado como cada banco resolve o mesmo problema. S\u00e3o dois bancos excelentes, com filosofias diferentes.<\/p>\n<p style=\"color: #9fb4d8; font-size: 14px; margin: 18px 0 0 0; padding-top: 16px; border-top: 1px solid rgba(255,255,255,0.15);\"><span style=\"color: #f5c800; font-weight: bold;\">Renato Siqueira<\/span> \u00b7 Time PostgreSQL da Power Tuning<\/p>\n<\/div>\n<p style=\"color: #33475b; font-size: 16px; line-height: 1.8; margin: 0 0 16px 0;\">Para iniciar uma s\u00e9rie de &#8220;de-para&#8221; do SQL Server para Postgres, nada melhor do que come\u00e7ar pelo come\u00e7o: a instala\u00e7\u00e3o.<\/p>\n<p style=\"color: #33475b; font-size: 16px; line-height: 1.8; margin: 0 0 16px 0;\">Se voc\u00ea vem do mundo SQL Server, sua ideia de &#8220;instalar um banco de dados&#8221; \u00e9: baixar um execut\u00e1vel ou a ISO do SQL Server (o execut\u00e1vel geralmente baixa a ISO completa por tr\u00e1s dos panos), clicar em <em>Next<\/em> algumas vezes, escolher o <em>collation<\/em>, esperar a barra de progresso e abrir o SSMS. Tudo dentro de uma interface gr\u00e1fica que facilita e abstrai detalhes da instala\u00e7\u00e3o.<\/p>\n<p style=\"color: #33475b; font-size: 16px; line-height: 1.8; margin: 0 0 16px 0;\">No Linux esse conforto visual n\u00e3o existe. A interface gr\u00e1fica sai de cena e entra o terminal, o gerenciador de pacotes e um comando chamado <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">initdb<\/code> que faz a instala\u00e7\u00e3o do Postgres.<\/p>\n<p style=\"color: #33475b; font-size: 16px; line-height: 1.8; margin: 0 0 16px 0;\">Este post mostra essa diferen\u00e7a passo a passo, j\u00e1 instalando a vers\u00e3o mais recente, o PostgreSQL 18, e, como b\u00f4nus, uma segunda forma de instalar via <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">pg_createcluster<\/code>, \u00fatil quando voc\u00ea precisa de m\u00faltiplas vers\u00f5es ou inst\u00e2ncias do Postgres na mesma m\u00e1quina. Os exemplos usam Debian, mas o m\u00e9todo \u00e9 facilmente adapt\u00e1vel para outras distribui\u00e7\u00f5es Linux de sua prefer\u00eancia.<\/p>\n<div style=\"margin: 28px 0;\">\n<table style=\"width: 100%; border-collapse: collapse;\" role=\"presentation\">\n<tbody>\n<tr>\n<td style=\"width: 50%; vertical-align: top; padding: 0 20px 0 0; border-right: 2px dashed #dddddd; text-align: center;\">\n<p style=\"color: #0b2d5e; font-size: 20px; font-weight: bold; margin: 0 0 22px 0;\">SQL Server (Windows)<\/p>\n<div style=\"background: #EAF1FC; border: 1.5px solid #0B2D5E; border-radius: 8px; padding: 12px 14px; margin: 0 0 0 0;\">\n<p style=\"color: #0b2d5e; font-size: 15px; margin: 0;\">1. Baixar o instalador (.exe)<\/p>\n<\/div>\n<div style=\"width: 2px; height: 22px; background: #999; margin: 0 auto;\"><\/div>\n<div style=\"background: #EAF1FC; border: 1.5px solid #0B2D5E; border-radius: 8px; padding: 12px 14px; margin: 0;\">\n<p style=\"color: #0b2d5e; font-size: 15px; margin: 0 0 3px 0;\">2. Abrir o Wizard gr\u00e1fico<\/p>\n<p style=\"color: #555555; font-size: 13px; margin: 0;\">(Next, Next, Next&#8230;)<\/p>\n<\/div>\n<div style=\"width: 2px; height: 22px; background: #999; margin: 0 auto;\"><\/div>\n<div style=\"background: #EAF1FC; border: 1.5px solid #0B2D5E; border-radius: 8px; padding: 12px 14px; margin: 0;\">\n<p style=\"color: #0b2d5e; font-size: 15px; margin: 0 0 3px 0;\">3. Configurar inst\u00e2ncia<\/p>\n<p style=\"color: #555555; font-size: 13px; margin: 0;\">(collation, contas, portas)<\/p>\n<\/div>\n<div style=\"width: 2px; height: 22px; background: #999; margin: 0 auto;\"><\/div>\n<div style=\"background: #EAF1FC; border: 1.5px solid #0B2D5E; border-radius: 8px; padding: 12px 14px; margin: 0;\">\n<p style=\"color: #0b2d5e; font-size: 15px; margin: 0 0 3px 0;\">4. Wizard cria os data files<\/p>\n<p style=\"color: #555555; font-size: 13px; margin: 0;\">(master, model, msdb&#8230;)<\/p>\n<\/div>\n<div style=\"width: 2px; height: 22px; background: #999; margin: 0 auto;\"><\/div>\n<div style=\"background: #CDEBD6; border: 1.5px solid #1B8A3A; border-radius: 8px; padding: 12px 14px; margin: 0;\">\n<p style=\"color: #1b8a3a; font-size: 15px; margin: 0 0 3px 0;\">5. Servi\u00e7o j\u00e1 roda<\/p>\n<p style=\"color: #555555; font-size: 13px; margin: 0;\">Abre o SSMS e conecta<\/p>\n<\/div>\n<\/td>\n<td style=\"width: 50%; vertical-align: top; padding: 0 0 0 20px; text-align: center;\">\n<p style=\"color: #b8860b; font-size: 20px; font-weight: bold; margin: 0 0 22px 0;\">PostgreSQL (Linux)<\/p>\n<div style=\"background: #FBF3D3; border: 1.5px solid #C79A1E; border-radius: 8px; padding: 12px 14px; margin: 0;\">\n<p style=\"color: #b8860b; font-size: 15px; margin: 0;\">1. sudo apt update<\/p>\n<\/div>\n<div style=\"width: 2px; height: 22px; background: #999; margin: 0 auto;\"><\/div>\n<div style=\"background: #FBF3D3; border: 1.5px solid #C79A1E; border-radius: 8px; padding: 12px 14px; margin: 0;\">\n<p style=\"color: #b8860b; font-size: 15px; margin: 0;\">2. sudo apt install postgresql<\/p>\n<\/div>\n<div style=\"width: 2px; height: 22px; background: #999; margin: 0 auto;\"><\/div>\n<div style=\"background: #FBF3D3; border: 1.5px solid #C79A1E; border-radius: 8px; padding: 12px 14px; margin: 0;\">\n<p style=\"color: #b8860b; font-size: 15px; margin: 0 0 3px 0;\">3. Pacote roda o initdb<\/p>\n<p style=\"color: #555555; font-size: 13px; margin: 0;\">(cria o cluster de dados)<\/p>\n<\/div>\n<div style=\"width: 2px; height: 22px; background: #999; margin: 0 auto;\"><\/div>\n<div style=\"background: #FBF3D3; border: 1.5px solid #C79A1E; border-radius: 8px; padding: 12px 14px; margin: 0;\">\n<p style=\"color: #b8860b; font-size: 15px; margin: 0 0 3px 0;\">4. systemd inicia o servi\u00e7o<\/p>\n<p style=\"color: #555555; font-size: 13px; margin: 0;\">(postgresql.service)<\/p>\n<\/div>\n<div style=\"width: 2px; height: 22px; background: #999; margin: 0 auto;\"><\/div>\n<div style=\"background: #CDEBD6; border: 1.5px solid #1B8A3A; border-radius: 8px; padding: 12px 14px; margin: 0;\">\n<p style=\"color: #1b8a3a; font-size: 15px; margin: 0 0 3px 0;\">5. sudo -u postgres psql<\/p>\n<p style=\"color: #555555; font-size: 13px; margin: 0;\">Conecta via terminal<\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p style=\"text-align: center; color: #777777; font-size: 14px; margin: 22px 0 0 0;\">O Wizard substitui, em uma \u00fanica tela, o que no Linux \u00e9: gerenciador de pacotes + initdb + systemd<\/p>\n<p style=\"text-align: center; font-size: 13px; color: #6b7a90; margin: 8px 0 0 0;\">Fluxo de instala\u00e7\u00e3o: SQL Server Wizard vs apt\/initdb no Linux<\/p>\n<\/div>\n<h2 style=\"color: #0b2d5e; font-size: 24px; margin: 38px 0 14px 0; padding-left: 14px; border-left: 4px solid #F5C800;\">Como o SQL Server te acostumou a pensar<\/h2>\n<p style=\"color: #33475b; font-size: 16px; line-height: 1.8; margin: 0 0 16px 0;\">Quando voc\u00ea instala o SQL Server no Windows, o instalador faz tudo em sequ\u00eancia, numa \u00fanica ferramenta:<\/p>\n<ol style=\"margin: 0 0 18px 22px; padding: 0; color: #33475b; font-size: 16px; line-height: 1.8;\">\n<li style=\"margin: 8px 0;\">Baixa e abre o setup gr\u00e1fico.<\/li>\n<li style=\"margin: 8px 0;\">Voc\u00ea escolhe o tipo de instala\u00e7\u00e3o (standalone, failover cluster, etc).<\/li>\n<li style=\"margin: 8px 0;\">Configura a inst\u00e2ncia (nome, collation, contas de servi\u00e7o, paths para dados, log, backup, dentre outras configura\u00e7\u00f5es&#8230;).<\/li>\n<li style=\"margin: 8px 0;\">O pr\u00f3prio wizard cria os bancos de sistema (<code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">master<\/code>, <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">model<\/code>, <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">msdb<\/code>, <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">tempdb<\/code>).<\/li>\n<li style=\"margin: 8px 0;\">Ao final, o servi\u00e7o <strong style=\"color: #0b2d5e;\">SQL Server (MSSQLSERVER)<\/strong> j\u00e1 est\u00e1 rodando, registrado no Windows Services, e voc\u00ea abre o SSMS para conectar.<\/li>\n<\/ol>\n<p style=\"color: #33475b; font-size: 16px; line-height: 1.8; margin: 0 0 16px 0;\">Tudo isso acontece atr\u00e1s de uma interface s\u00f3. O wizard esconde tr\u00eas etapas que, no Linux, s\u00e3o ferramentas separadas: instalar o bin\u00e1rio, criar a estrutura de dados e registrar o servi\u00e7o no sistema operacional.<\/p>\n<h2 style=\"color: #0b2d5e; font-size: 24px; margin: 38px 0 14px 0; padding-left: 14px; border-left: 4px solid #F5C800;\">A filosofia Linux: pacotes + servi\u00e7os, cada um faz uma coisa<\/h2>\n<p style=\"color: #33475b; font-size: 16px; line-height: 1.8; margin: 0 0 16px 0;\">No Linux, a instala\u00e7\u00e3o de qualquer software segue a filosofia Unix: ferramentas pequenas, cada uma respons\u00e1vel por uma parte do processo. Para o PostgreSQL, isso se divide em tr\u00eas &#8220;atores&#8221; principais:<\/p>\n<ul style=\"margin: 0 0 18px 22px; padding: 0; color: #33475b; font-size: 16px; line-height: 1.8;\">\n<li style=\"margin: 8px 0;\"><strong style=\"color: #0b2d5e;\">O gerenciador de pacotes<\/strong> (<code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">apt<\/code>, no caso do Ubuntu\/Debian), baixa e instala os bin\u00e1rios, parecido com o que o <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">.exe<\/code> faz no Windows.<\/li>\n<li style=\"margin: 8px 0;\"><strong style=\"color: #0b2d5e;\">O <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">initdb<\/code><\/strong>, cria a estrutura de dados inicial (o &#8220;cluster&#8221; do Postgres), algo equivalente ao passo em que o wizard do SQL Server gera <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">master<\/code>, <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">model<\/code> e <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">msdb<\/code>.<\/li>\n<li style=\"margin: 8px 0;\"><strong style=\"color: #0b2d5e;\">O <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">systemd<\/code><\/strong>, o gerenciador de servi\u00e7os do Linux, equivalente ao Windows Services, respons\u00e1vel por subir e manter o processo do banco rodando.<\/li>\n<\/ul>\n<p style=\"color: #33475b; font-size: 16px; line-height: 1.8; margin: 0 0 16px 0;\">No Ubuntu\/Debian, o pacote <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">postgresql<\/code> j\u00e1 encapsula essas tr\u00eas etapas para voc\u00ea, parecido com o wizard, s\u00f3 que via linha de comando.<\/p>\n<h2 style=\"color: #0b2d5e; font-size: 24px; margin: 38px 0 14px 0; padding-left: 14px; border-left: 4px solid #F5C800;\">Passo a passo: instalando o PostgreSQL 18 via apt<\/h2>\n<p style=\"color: #33475b; font-size: 16px; line-height: 1.8; margin: 0 0 16px 0;\">Um detalhe importante: os reposit\u00f3rios padr\u00e3o do Debian\/Ubuntu costumam trazer uma vers\u00e3o mais antiga do Postgres (ex.: 16 ou 17), n\u00e3o a mais recente. Para instalar a vers\u00e3o 18, \u00e9 preciso adicionar o reposit\u00f3rio oficial mantido pelo PGDG (PostgreSQL Global Development Group) antes de instalar o pacote.<\/p>\n<div style=\"background: #0D1B40; color: #eaf1fc; padding: 18px 22px; border-radius: 10px; font-family: Consolas,Menlo,monospace; font-size: 14px; line-height: 1.7; overflow-x: auto; margin: 0 0 18px 0; white-space: pre;\"><span style=\"color: #8aa9ce;\"># 1. Instala depend\u00eancias e adiciona o reposit\u00f3rio oficial do PGDG<\/span><br \/>\nsudo apt install -y postgresql-common<br \/>\nsudo \/usr\/share\/postgresql-common\/pgdg\/apt.postgresql.org.sh<span style=\"color: #8aa9ce;\"># 2. Atualiza a lista de pacotes, agora incluindo o reposit\u00f3rio do PGDG<\/span><br \/>\nsudo apt update<\/p>\n<p><span style=\"color: #8aa9ce;\"># 3. Instala o PostgreSQL 18 (o pacote j\u00e1 roda o initdb e registra o servi\u00e7o no systemd)<\/span><br \/>\nsudo apt install postgresql-18<\/p>\n<p><span style=\"color: #8aa9ce;\"># 4. Confirma que o servi\u00e7o est\u00e1 rodando<\/span><br \/>\nsudo systemctl status postgresql<\/p>\n<\/div>\n<p style=\"color: #33475b; font-size: 16px; line-height: 1.8; margin: 0 0 16px 0;\">Depois desses comandos, o Postgres 18 j\u00e1 est\u00e1 instalado, com o cluster de dados criado e o servi\u00e7o ativo, equivalente a terminar o wizard do SQL Server e ver o servi\u00e7o &#8220;Running&#8221; no Services.<\/p>\n<div style=\"background: #FFF8DE; border-left: 6px solid #F5C800; border-radius: 0 10px 10px 0; padding: 18px 22px; margin: 22px 0;\">\n<p style=\"color: #0b2d5e; font-size: 15px; line-height: 1.7; margin: 0;\"><strong style=\"color: #0b2d5e;\">Por que adicionar um reposit\u00f3rio?<\/strong>\u00c9 parecido com baixar o instalador de uma vers\u00e3o espec\u00edfica do SQL Server direto do site da Microsoft, em vez de usar uma m\u00eddia antiga: o reposit\u00f3rio do sistema operacional nem sempre acompanha o ritmo de lan\u00e7amentos do Postgres, ent\u00e3o o PGDG existe justamente para disponibilizar as vers\u00f5es mais novas assim que saem.<\/p>\n<\/div>\n<h2 style=\"color: #0b2d5e; font-size: 24px; margin: 38px 0 14px 0; padding-left: 14px; border-left: 4px solid #F5C800;\">O que \u00e9 o <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">initdb<\/code>, afinal?<\/h2>\n<p style=\"color: #33475b; font-size: 16px; line-height: 1.8; margin: 0 0 16px 0;\">No pacote do Ubuntu\/Debian, o <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">initdb<\/code> roda automaticamente durante a instala\u00e7\u00e3o, ent\u00e3o voc\u00ea nem percebe ele acontecendo. Mas vale entender o que ele faz:<\/p>\n<div style=\"background: #0D1B40; color: #eaf1fc; padding: 18px 22px; border-radius: 10px; font-family: Consolas,Menlo,monospace; font-size: 14px; line-height: 1.7; overflow-x: auto; margin: 0 0 18px 0; white-space: pre;\">initdb -D \/var\/lib\/postgresql\/18\/main<\/div>\n<p style=\"color: #33475b; font-size: 16px; line-height: 1.8; margin: 0 0 16px 0;\">O <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">initdb<\/code> \u00e9 o comando que:<\/p>\n<ul style=\"margin: 0 0 18px 22px; padding: 0; color: #33475b; font-size: 16px; line-height: 1.8;\">\n<li style=\"margin: 8px 0;\">Cria o diret\u00f3rio de dados (o <em>data directory<\/em>), com os arquivos f\u00edsicos do banco, similar ao data path padr\u00e3o informado no setup do Wizard do SQL Server.<\/li>\n<li style=\"margin: 8px 0;\">Cria os bancos de sistema <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">postgres<\/code>, <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">template0<\/code> e <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">template1<\/code>, equivalente ao <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">master<\/code>\/<code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">model<\/code> do SQL Server.<\/li>\n<li style=\"margin: 8px 0;\">Define o superusu\u00e1rio inicial (por padr\u00e3o, um usu\u00e1rio de sistema chamado <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">postgres<\/code>).<\/li>\n<li style=\"margin: 8px 0;\">Gera os arquivos de configura\u00e7\u00e3o <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">postgresql.conf<\/code> e <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">pg_hba.conf<\/code>.<\/li>\n<\/ul>\n<p style=\"color: #33475b; font-size: 16px; line-height: 1.8; margin: 0 0 16px 0;\">\u00c9 o passo que, no wizard do SQL Server, fica escondido atr\u00e1s da barra &#8220;Configurando inst\u00e2ncia&#8221;. No Linux, ele vira vis\u00edvel quando voc\u00ea precisa criar um segundo cluster na mesma m\u00e1quina, e \u00e9 a\u00ed que entra a pr\u00f3xima ferramenta.<\/p>\n<hr style=\"border: none; border-top: 1px solid #E1E8F2; margin: 40px 0;\" \/>\n<h2 style=\"color: #0b2d5e; font-size: 24px; margin: 38px 0 14px 0; padding-left: 14px; border-left: 4px solid #F5C800;\">Indo al\u00e9m do apt install: <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">pg_createcluster<\/code><\/h2>\n<p style=\"color: #33475b; font-size: 16px; line-height: 1.8; margin: 0 0 16px 0;\"><code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">apt install postgresql<\/code> j\u00e1 entrega um cluster pronto, com o <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">initdb<\/code> rodando por baixo dos panos. Mas o Debian\/Ubuntu tem uma camada extra, o pacote <strong style=\"color: #0b2d5e;\">postgresql-common<\/strong>, para gerenciar <em>m\u00faltiplos clusters<\/em> na mesma m\u00e1quina, algo parecido com inst\u00e2ncias nomeadas do SQL Server (<code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">SERVIDOR\\INSTANCIA1<\/code>, <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">SERVIDOR\\INSTANCIA2<\/code>).<\/p>\n<p style=\"color: #33475b; font-size: 16px; line-height: 1.8; margin: 0 0 16px 0;\">\u00c9 aqui que entra o <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">pg_createcluster<\/code>: chama o <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">initdb<\/code>, integra o resultado ao <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">systemd<\/code>, escolhe portas automaticamente e organiza tudo no padr\u00e3o de diret\u00f3rios do Debian.<\/p>\n<div style=\"background: #FFF8DE; border-left: 6px solid #F5C800; border-radius: 0 10px 10px 0; padding: 18px 22px; margin: 22px 0;\">\n<p style=\"color: #0b2d5e; font-size: 15px; line-height: 1.7; margin: 0;\"><strong style=\"color: #0b2d5e;\">Por que isso existe?<\/strong>Porque \u00e9 comum ter v\u00e1rias vers\u00f5es do Postgres (16, 17, 18&#8230;) ou ambientes isolados na mesma m\u00e1quina, cada &#8220;cluster&#8221; \u00e9 um conjunto independente de dados, portas e configura\u00e7\u00e3o, contanto que cada um rode em uma porta diferente (igual no SQL Server).<\/p>\n<\/div>\n<h3 style=\"color: #0b2d5e; font-size: 18px; margin: 28px 0 10px 0;\">Instalando apenas os bin\u00e1rios, sem criar cluster automaticamente<\/h3>\n<div style=\"background: #0D1B40; color: #eaf1fc; padding: 18px 22px; border-radius: 10px; font-family: Consolas,Menlo,monospace; font-size: 14px; line-height: 1.7; overflow-x: auto; margin: 0 0 18px 0; white-space: pre;\"><span style=\"color: #8aa9ce;\"># Instala s\u00f3 o motor do Postgres, sem subir nenhum cluster ainda<\/span><br \/>\nsudo apt install postgresql-18 &#8211;no-install-recommends<\/div>\n<h3 style=\"color: #0b2d5e; font-size: 18px; margin: 28px 0 10px 0;\">Criando um cluster manualmente com pg_createcluster<\/h3>\n<div style=\"background: #0D1B40; color: #eaf1fc; padding: 18px 22px; border-radius: 10px; font-family: Consolas,Menlo,monospace; font-size: 14px; line-height: 1.7; overflow-x: auto; margin: 0 0 18px 0; white-space: pre;\"><span style=\"color: #8aa9ce;\"># Sintaxe: pg_createcluster &lt;vers\u00e3o&gt; &lt;nome_do_cluster&gt;<\/span><br \/>\nsudo pg_createcluster 18 main &#8211;start<span style=\"color: #8aa9ce;\"># Criando um SEGUNDO cluster, com outro nome, na mesma m\u00e1quina<\/span><br \/>\nsudo pg_createcluster 18 secundario &#8211;start -p 5433<\/p>\n<\/div>\n<p style=\"color: #33475b; font-size: 16px; line-height: 1.8; margin: 0 0 16px 0;\">Repare no par\u00e2metro <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">-p 5433<\/code>: como o primeiro cluster j\u00e1 ocupa a porta padr\u00e3o <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">5432<\/code> (equivalente \u00e0 porta 1433 do SQL Server), o segundo precisa de uma porta diferente.<\/p>\n<h3 style=\"color: #0b2d5e; font-size: 18px; margin: 28px 0 10px 0;\">Comandos de ger\u00eancia dos clusters<\/h3>\n<div style=\"background: #0D1B40; color: #eaf1fc; padding: 18px 22px; border-radius: 10px; font-family: Consolas,Menlo,monospace; font-size: 14px; line-height: 1.7; overflow-x: auto; margin: 0 0 18px 0; white-space: pre;\"><span style=\"color: #8aa9ce;\"># Lista todos os clusters instalados, vers\u00e3o, porta e status<\/span><br \/>\npg_lsclusters<span style=\"color: #8aa9ce;\"># Para, inicia ou reinicia um cluster espec\u00edfico<\/span><br \/>\nsudo pg_ctlcluster 18 main stop<br \/>\nsudo pg_ctlcluster 18 main start<br \/>\nsudo pg_ctlcluster 18 main restart<\/p>\n<p><span style=\"color: #8aa9ce;\"># Remove um cluster (cuidado: apaga os dados)<\/span><br \/>\nsudo pg_dropcluster 18 secundario &#8211;stop<\/p>\n<\/div>\n<p style=\"color: #33475b; font-size: 16px; line-height: 1.8; margin: 0 0 16px 0;\">O <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">pg_lsclusters<\/code>, em particular, \u00e9 o comando que mais lembra a experi\u00eancia de abrir o SQL Server Configuration Manager e ver a lista de inst\u00e2ncias e seus status, s\u00f3 que em modo texto.<\/p>\n<h3 style=\"color: #0b2d5e; font-size: 18px; margin: 28px 0 10px 0;\"><code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">apt install<\/code> x <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">pg_createcluster<\/code>: quando usar cada um<\/h3>\n<table style=\"width: 100%; border-collapse: collapse; margin: 0 0 22px 0; font-size: 14.5px;\">\n<tbody>\n<tr>\n<td style=\"background: #0B2D5E; color: #ffffff; font-weight: bold; padding: 11px 14px; text-align: left; vertical-align: top;\">Cen\u00e1rio<\/td>\n<td style=\"background: #0B2D5E; color: #ffffff; font-weight: bold; padding: 11px 14px; text-align: left; vertical-align: top;\">Abordagem recomendada<\/td>\n<\/tr>\n<tr>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\">Uma instala\u00e7\u00e3o simples, um \u00fanico banco na m\u00e1quina<\/td>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\"><code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">apt install postgresql<\/code> (cluster criado automaticamente)<\/td>\n<\/tr>\n<tr>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\">M\u00faltiplas vers\u00f5es do Postgres convivendo (16, 17, 18)<\/td>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\"><code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">pg_createcluster<\/code> para cada vers\u00e3o\/cluster<\/td>\n<\/tr>\n<tr>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\">Ambientes isolados na mesma m\u00e1quina (dev, staging) com portas diferentes<\/td>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\"><code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">pg_createcluster<\/code> com <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">-p<\/code> customizado<\/td>\n<\/tr>\n<tr>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\">Recriar um cluster do zero ap\u00f3s apagar os dados<\/td>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\"><code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">pg_createcluster<\/code> (ou <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">initdb<\/code> direto, fora do Debian)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr style=\"border: none; border-top: 1px solid #E1E8F2; margin: 40px 0;\" \/>\n<h2 style=\"color: #0b2d5e; font-size: 24px; margin: 38px 0 14px 0; padding-left: 14px; border-left: 4px solid #F5C800;\">Comparativo lado a lado<\/h2>\n<table style=\"width: 100%; border-collapse: collapse; margin: 0 0 22px 0; font-size: 14.5px;\">\n<tbody>\n<tr>\n<td style=\"background: #0B2D5E; color: #ffffff; font-weight: bold; padding: 11px 14px; text-align: left; vertical-align: top;\">Conceito<\/td>\n<td style=\"background: #0B2D5E; color: #ffffff; font-weight: bold; padding: 11px 14px; text-align: left; vertical-align: top;\">SQL Server (Windows)<\/td>\n<td style=\"background: #0B2D5E; color: #ffffff; font-weight: bold; padding: 11px 14px; text-align: left; vertical-align: top;\">PostgreSQL (Linux)<\/td>\n<\/tr>\n<tr>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\">Instalador<\/td>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\">Wizard gr\u00e1fico (<code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">.exe<\/code>)<\/td>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\"><code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">apt install postgresql<\/code><\/td>\n<\/tr>\n<tr>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\">Cria\u00e7\u00e3o da estrutura inicial<\/td>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\">Autom\u00e1tica, dentro do wizard<\/td>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\"><code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">initdb<\/code> (direto ou via <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">pg_createcluster<\/code>)<\/td>\n<\/tr>\n<tr>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\">M\u00faltiplas inst\u00e2ncias na mesma m\u00e1quina<\/td>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\">Inst\u00e2ncias nomeadas (<code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">SERVIDOR\\INSTANCIA<\/code>)<\/td>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\">M\u00faltiplos clusters via <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">pg_createcluster<\/code><\/td>\n<\/tr>\n<tr>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\">Gerenciador de servi\u00e7o<\/td>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\">Windows Services (<code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">services.msc<\/code>)<\/td>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\"><code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">systemd<\/code> \/ <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">pg_ctlcluster<\/code><\/td>\n<\/tr>\n<tr>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\">Usu\u00e1rio administrador padr\u00e3o<\/td>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\"><code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">sa<\/code> ou conta Windows<\/td>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\"><code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">postgres<\/code> (usu\u00e1rio de sistema Linux)<\/td>\n<\/tr>\n<tr>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\">Cliente de linha de comando<\/td>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\"><code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">sqlcmd<\/code><\/td>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\"><code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">psql<\/code><\/td>\n<\/tr>\n<tr>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\">Diret\u00f3rio de dados<\/td>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\"><code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">C:\\Program Files\\Microsoft SQL Server\\...\\Data<\/code><\/td>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\"><code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">\/var\/lib\/postgresql\/18\/main<\/code><\/td>\n<\/tr>\n<tr>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\">Controle de acesso<\/td>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\">SSMS (Logins\/Security)<\/td>\n<td style=\"border-bottom: 1px solid #E1E8F2; padding: 10px 14px; text-align: left; vertical-align: top; color: #33475b;\">Arquivo texto <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">pg_hba.conf<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 style=\"color: #0b2d5e; font-size: 24px; margin: 38px 0 14px 0; padding-left: 14px; border-left: 4px solid #F5C800;\">Diret\u00f3rios e arquivos padr\u00e3o<\/h2>\n<div style=\"background: #0D1B40; color: #eaf1fc; padding: 18px 22px; border-radius: 10px; font-family: Consolas,Menlo,monospace; font-size: 14px; line-height: 1.7; overflow-x: auto; margin: 0 0 18px 0; white-space: pre;\"><span style=\"color: #8aa9ce;\"># Bin\u00e1rios do Postgres<\/span><br \/>\n\/usr\/lib\/postgresql\/18\/bin\/<span style=\"color: #8aa9ce;\"># Diret\u00f3rio de dados (equivalente \u00e0 pasta &#8220;Data&#8221; do SQL Server)<\/span><br \/>\n\/var\/lib\/postgresql\/18\/main\/<\/p>\n<p><span style=\"color: #8aa9ce;\"># Arquivos de configura\u00e7\u00e3o<\/span><br \/>\n\/etc\/postgresql\/18\/main\/postgresql.conf<br \/>\n\/etc\/postgresql\/18\/main\/pg_hba.conf<\/p>\n<\/div>\n<h2 style=\"color: #0b2d5e; font-size: 24px; margin: 38px 0 14px 0; padding-left: 14px; border-left: 4px solid #F5C800;\">Primeiros comandos depois de instalar<\/h2>\n<p style=\"color: #33475b; font-size: 16px; line-height: 1.8; margin: 0 0 16px 0;\">No SQL Server, seu primeiro passo p\u00f3s-instala\u00e7\u00e3o normalmente \u00e9 abrir o SSMS e conectar com <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">sa<\/code> ou autentica\u00e7\u00e3o do Windows. No Postgres, o equivalente \u00e9 entrar como o usu\u00e1rio de sistema <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">postgres<\/code> e usar o <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">psql<\/code>:<\/p>\n<div style=\"background: #0D1B40; color: #eaf1fc; padding: 18px 22px; border-radius: 10px; font-family: Consolas,Menlo,monospace; font-size: 14px; line-height: 1.7; overflow-x: auto; margin: 0 0 18px 0; white-space: pre;\"><span style=\"color: #8aa9ce;\"># Entra como o usu\u00e1rio de sistema &#8220;postgres&#8221; e abre o cliente psql<\/span><br \/>\nsudo -u postgres psql<span style=\"color: #8aa9ce;\"># Dentro do psql:<\/span><br \/>\n\\l <span style=\"color: #8aa9ce;\">&#8212; lista os bancos (equivalente a &#8220;Databases&#8221; no SSMS)<\/span><br \/>\n\\du <span style=\"color: #8aa9ce;\">&#8212; lista os usu\u00e1rios\/roles (equivalente a &#8220;Logins&#8221;)<\/span><br \/>\n\\q <span style=\"color: #8aa9ce;\">&#8212; sai do psql<\/span><\/p>\n<\/div>\n<p style=\"color: #33475b; font-size: 16px; line-height: 1.8; margin: 0 0 16px 0;\">Para criar seu pr\u00f3prio usu\u00e1rio e banco:<\/p>\n<div style=\"background: #0D1B40; color: #eaf1fc; padding: 18px 22px; border-radius: 10px; font-family: Consolas,Menlo,monospace; font-size: 14px; line-height: 1.7; overflow-x: auto; margin: 0 0 18px 0; white-space: pre;\">sudo -u postgres createuser &#8211;interactive<br \/>\nsudo -u postgres createdb meubanco<\/div>\n<h2 style=\"color: #0b2d5e; font-size: 24px; margin: 38px 0 14px 0; padding-left: 14px; border-left: 4px solid #F5C800;\">Erros comuns de quem vem do SQL Server<\/h2>\n<ul style=\"margin: 0 0 18px 22px; padding: 0; color: #33475b; font-size: 16px; line-height: 1.8;\">\n<li style=\"margin: 8px 0;\"><strong style=\"color: #0b2d5e;\">Achar que &#8220;instalar o pacote&#8221; j\u00e1 basta para acessar de qualquer lugar.<\/strong> Por padr\u00e3o, o <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">pg_hba.conf<\/code> s\u00f3 libera conex\u00f5es locais, e alter\u00e1-lo exige apenas um <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">reload<\/code> do servi\u00e7o. Mas o acesso remoto tamb\u00e9m depende do <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">listen_addresses<\/code> em <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">postgresql.conf<\/code>, que vem configurado como <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">localhost<\/code>, e essa altera\u00e7\u00e3o espec\u00edfica exige um <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">restart<\/code>, n\u00e3o s\u00f3 um reload.<\/li>\n<li style=\"margin: 8px 0;\"><strong style=\"color: #0b2d5e;\">Procurar por um <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">sa<\/code>.<\/strong> N\u00e3o existe. O superusu\u00e1rio \u00e9 o <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">postgres<\/code>, autenticado via usu\u00e1rio de sistema Linux por padr\u00e3o.<\/li>\n<li style=\"margin: 8px 0;\"><strong style=\"color: #0b2d5e;\">Esperar um instalador \u00fanico para tudo.<\/strong> No Postgres, o motor do banco \u00e9 s\u00f3 a base: ferramentas gr\u00e1ficas como o pgAdmin e at\u00e9 extens\u00f5es (como a PostGIS) s\u00e3o pacotes independentes, instalados e atualizados separadamente conforme a necessidade.<\/li>\n<li style=\"margin: 8px 0;\"><strong style=\"color: #0b2d5e;\">Confundir &#8220;cluster&#8221; do Postgres com cluster de failover.<\/strong> No jarg\u00e3o do Postgres, &#8220;cluster&#8221; \u00e9 s\u00f3 o conjunto de bancos gerenciados por uma inst\u00e2ncia, equivalente ao conceito de inst\u00e2ncia no SQL Server, sem rela\u00e7\u00e3o com alta disponibilidade.<\/li>\n<li style=\"margin: 8px 0;\"><strong style=\"color: #0b2d5e;\">N\u00e3o usar <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">sudo<\/code>.<\/strong> Praticamente toda opera\u00e7\u00e3o de instala\u00e7\u00e3o e ger\u00eancia de servi\u00e7o no Linux exige privil\u00e9gios elevados, \u00e9 comum alternar entre os contextos <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">root<\/code> e <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">postgres<\/code>.<\/li>\n<\/ul>\n<h2 style=\"color: #0b2d5e; font-size: 24px; margin: 38px 0 14px 0; padding-left: 14px; border-left: 4px solid #F5C800;\">Resumo<\/h2>\n<p style=\"color: #33475b; font-size: 16px; line-height: 1.8; margin: 0 0 16px 0;\">O wizard do SQL Server empacota em uma tela s\u00f3 tr\u00eas opera\u00e7\u00f5es que no Linux s\u00e3o expl\u00edcitas e separadas: instalar o bin\u00e1rio (<code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">apt<\/code>), criar a estrutura de dados (<code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">initdb<\/code>) e registrar o servi\u00e7o (<code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">systemd<\/code>). O <code style=\"background: #EEF2F8; padding: 2px 6px; border-radius: 4px; font-family: Consolas,Menlo,monospace; font-size: 14px; color: #0b2d5e;\">pg_createcluster<\/code> assume esse papel quando voc\u00ea precisa de mais controle, m\u00faltiplas vers\u00f5es, m\u00faltiplos clusters, portas customizadas, pr\u00f3ximo do que inst\u00e2ncias nomeadas fazem no mundo SQL Server.<\/p>\n<div style=\"background: linear-gradient(135deg,#0B2D5E 0%,#16437F 100%); border-radius: 14px; padding: 30px 32px; margin: 34px 0 10px 0;\">\n<p style=\"color: #ffffff; font-size: 19px; font-weight: bold; line-height: 1.5; margin: 0 0 8px 0;\">Tem PostgreSQL em produ\u00e7\u00e3o na sua empresa?<\/p>\n<p style=\"color: #d6e2f5; font-size: 15px; line-height: 1.7; margin: 0 0 18px 0;\">Fa\u00e7a o Power PostgreSQL Check-up: uma avalia\u00e7\u00e3o gratuita de performance, backup, seguran\u00e7a e alta disponibilidade, feita pelos nossos especialistas. Sem custo e sem compromisso.<\/p>\n<p><a style=\"display: inline-block; background: #F5C800; color: #0b2d5e; font-weight: bold; font-size: 16px; padding: 13px 26px; border-radius: 8px; text-decoration: none;\" href=\"https:\/\/powertuning.com.br\/produtos\/power-postgresql-check-up\/\">Quero meu check-up gratuito<\/a><\/p>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; S\u00e9rie De SQL Server para PostgreSQL \u00b7 #1 Instala\u00e7\u00e3o sem wizard e sem SSMS Um guia para quem j\u00e1 conhece SQL Server no Windows e vai instalar a vers\u00e3o mais recente do PostgreSQL no Linux pela primeira vez. Nesta s\u00e9rie, comparamos lado a lado como cada banco resolve o mesmo problema. S\u00e3o dois bancos&hellip; <br \/> <a class=\"read-more\" href=\"https:\/\/powertuning.com.br\/blog\/8690-2\/\">Leia mais<\/a><\/p>\n","protected":false},"author":27,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"content-type":"","_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false,"_members_access_role":[],"_members_access_error":""},"categories":[176,103,124,63],"tags":[1414,298,1419,1425,1426,1407,1429,1417,303,1416,1420,1411,387,1430,1427,1409,1410,1415,1424,1422,1428,1412,405,1423,1413,397,1421,419,1418,1408,284,105,693,33,710,126,121,125,715,158,14],"class_list":["post-8690","post","type-post","status-publish","format-standard","hentry","category-banco-de-dados","category-microsoft-azure","category-postgresql","category-sql-server","tag-administracaodebancodedados","tag-altadisponibilidade","tag-apt","tag-backuppostgresql","tag-bancodedadosrelacional","tag-databaseadministration","tag-databasemigration","tag-dataengineering","tag-devops","tag-infraestruturadeti","tag-initdb","tag-instalacaopostgresql","tag-linux","tag-linuxadmin","tag-microsoftdataplatform","tag-microsoftsqlserver","tag-migracaodebancodedados","tag-performancedebanco","tag-pgadmin","tag-pgcreatecluster","tag-postgresdb","tag-postgresql18","tag-powertuning","tag-psql","tag-sqlserverparapostgresql","tag-sysadmin","tag-systemd","tag-tecnologia","tag-terminallinux","tag-windowsserver","tag-bancodedados","tag-cloud","tag-dataplatform","tag-dba","tag-engenhariadedados","tag-opensource","tag-postgres","tag-postgresql","tag-segurancadedados","tag-sql","tag-sqlserver"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/posts\/8690","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/users\/27"}],"replies":[{"embeddable":true,"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/comments?post=8690"}],"version-history":[{"count":2,"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/posts\/8690\/revisions"}],"predecessor-version":[{"id":8694,"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/posts\/8690\/revisions\/8694"}],"wp:attachment":[{"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/media?parent=8690"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/categories?post=8690"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/tags?post=8690"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}