PostgreSQL — a base de dados do seu site e da sua loja online
Cada produto, encomenda, contacto e página que crias na 4buildsite vive numa base de dados PostgreSQL. Não tens de a administrar — mas vale a pena saber por que a escolhemos: integridade transacional para os pagamentos, fiabilidade comprovada ao longo de quase 30 anos e zero custos de licença no teu preço.
O que é o PostgreSQL e o que guarda ele no teu site
O PostgreSQL é um sistema de base de dados relacional, open-source, desenvolvido de forma contínua desde 1996 — com raízes no projeto POSTGRES da Universidade de Berkeley (1986). Na 4buildsite, o PostgreSQL é o sítio onde vivem os dados do teu site: os produtos e o stock, as encomendas e os pagamentos, os contactos recolhidos nos formulários e o conteúdo das páginas. Tu trabalhas no editor visual; o PostgreSQL guarda cada alteração em segurança.
Porque é que isto te interessa, se não és programador? Porque a diferença entre uma base de dados sólida e uma frágil nota-se precisamente nos momentos difíceis: um pico de tráfego durante uma promoção, um pagamento repetido duas vezes, um reinício do servidor. O PostgreSQL foi concebido para atravessar esses momentos sem perder nem corromper dados — é por isso que empresas como a Instagram e a Reddit o usam em grande escala e que, historicamente, esteve na base da infraestrutura do Skype.
- Produtos, variantes e stock — o catálogo completo da tua loja
- Encomendas, pagamentos Stripe e faturas — o histórico completo de vendas
- Contactos vindos dos formulários — cada pedido de orçamento, guardado com garantia
- O conteúdo das páginas e dos templates — tudo o que editas no editor visual
- Os domínios, as definições e as versões publicadas do teu site
Encomendas e pagamentos sem dados corrompidos — integridade ACID
Quando um cliente faz uma encomenda, acontecem várias coisas ao mesmo tempo: o stock desce, a encomenda é criada, o pagamento Stripe é registado. O PostgreSQL executa tudo isto como uma única transação: ou acontece tudo, ou não acontece nada. Se o pagamento falhar a meio, o stock regressa automaticamente ao valor inicial. Este comportamento chama-se ACID (Atomicity, Consistency, Isolation, Durability) e é garantido pelo PostgreSQL em qualquer tabela, sem configurações especiais.
Além das transações, o PostgreSQL impõe regras de integridade dentro da própria base de dados: uma linha de encomenda não pode referenciar um produto inexistente, um stock não pode ficar negativo, um e-mail de conta não pode ficar duplicado. Estas restrições (chaves estrangeiras, check, unique) travam os dados errados antes de entrarem — e não depois de já te terem estragado o relatório de vendas.
Nos marketplaces, a integridade conta a dobrar: as comissões e os pagamentos repartidos através do Stripe Connect são calculados a partir dos dados da encomenda. Uma encomenda duplicada ou um valor inconsistente significaria dinheiro mal repartido entre os vendedores. As transações do PostgreSQL mantêm estes cálculos corretos, encomenda a encomenda.
Pesquisa rápida no catálogo e conteúdo flexível
O PostgreSQL inclui um motor de pesquisa full-text: os clientes procuram «sapatilhas de corrida» e encontram os produtos certos, com dicionários de stemming disponíveis também para português. A extensão pg_trgm acrescenta tolerância a erros de escrita. Para uma loja, estas capacidades significam que o catálogo pode ser bem pesquisado sem um serviço separado do tipo Elasticsearch — ou seja, menos componentes que podem falhar e custos de infraestrutura mais baixos.
O conteúdo das páginas construídas no editor visual não tem uma estrutura fixa — um bloco hero, um formulário e uma galeria têm campos diferentes. O PostgreSQL resolve isso com JSONB: guarda JSON de forma nativa, indexável com índices GIN e consultável como qualquer coluna. Ficas com a flexibilidade de uma base de dados documental, mas mantens a integridade relacional para encomendas e pagamentos — no mesmo sistema, não em dois.
- tsvector + dicionários de stemming (português incluído) — pesquisa relevante no catálogo
- pg_trgm — os clientes encontram o produto mesmo que errem uma letra
- JSONB com índices GIN — os blocos de página flexíveis continuam rápidos de consultar
Fiabilidade: backup, recuperação e zero surpresas
O PostgreSQL escreve cada alteração primeiro num registo (WAL — Write-Ahead Log) e só depois nos dados propriamente ditos. Se o servidor parar de repente, a base de dados reconstrói-se a partir desse registo ao reiniciar, sem dados corrompidos. É sobre o mesmo mecanismo que o PostgreSQL constrói a recuperação ponto-no-tempo (PITR) — uma capacidade padrão do motor para as instalações que arquivam o registo WAL. Na 4buildsite, os dados ficam em volumes persistentes, separados da aplicação, pelo que um reinício ou uma atualização da plataforma não lhes toca.
O PostgreSQL suporta também replicação em streaming — uma cópia sincronizada da base de dados, pronta a assumir o tráfego quando for preciso. Para o teu site, a fiabilidade da base de dados traduz-se diretamente em SEO e GEO: um site que responde de forma constante é rastreado e indexado de forma constante, ao passo que erros 5xx repetidos baixam as posições no Google e dificultam o rastreio do site.
Escala e custos — cresce sem faturas de licença
Quando a loja cresce, o PostgreSQL cresce com ela: os índices mantêm as consultas rápidas em catálogos com centenas de milhares de produtos, o particionamento divide o histórico de encomendas por períodos e as réplicas de leitura assumem o tráfego dos relatórios. A Instagram e a Reddit escalaram sobre PostgreSQL até centenas de milhões de utilizadores — uma loja online chega aos limites desta tecnologia muito mais tarde do que imagina.
O PostgreSQL tem licença livre (PostgreSQL License, do tipo BSD) — sem custos de licença e sem um proprietário comercial que possa mudar as regras de um dia para o outro. As bases de dados comerciais licenciam-se, por regra, por núcleo de processador, e esse custo acaba inevitavelmente no preço pago pelo cliente. Na 4buildsite, a base de dados está incluída no plano, a par do alojamento e do SSL — sem qualquer taxa à parte.
Vantagens e limitações
Vantagens
- Transações ACID completas — as encomendas e os pagamentos mantêm-se consistentes mesmo perante erros ou quebras do servidor.
- Fiabilidade comprovada desde 1996, em produção na Instagram, na Reddit e, historicamente, no Skype.
- JSONB nativo — conteúdo de páginas flexível sem sacrificar a integridade relacional.
- Pesquisa full-text incluída, com stemming para português — pesquisa no catálogo sem um serviço à parte.
- Licença livre — zero custo de licença escondido no preço do teu plano.
- Registo WAL — perante uma paragem brusca do servidor, a base de dados reconstrói-se ao reiniciar sem dados corrompidos.
Limitações
- A administração avançada (tuning, replicação, failover) exige experiência — na 4buildsite fazemo-la nós, mas em self-hosted é exigente.
- As escritas ficam num único nó primário — a distribuição por vários nós (sharding) não é nativa e exige ferramentas adicionais.
- Cada ligação consome relativamente muita memória — com muitas ligações é necessário pooling (PgBouncer).
- A pesquisa full-text é boa, mas fica abaixo dos motores dedicados em relevância avançada e sugestões de pesquisa.
Veredicto breve
O PostgreSQL é a escolha padrão para sites, lojas online, marketplaces e plataformas SaaS em que as encomendas, os pagamentos e os contactos não se podem perder. Um blogue simples safava-se com menos — mas a licença livre significa que na 4buildsite recebes de qualquer forma este nível de segurança, sem custo adicional.
Tabela de especificações
| Capacidade | Limite / limiar | Utilização típica | |
|---|---|---|---|
| Integridade transacional | ACID completo + MVCC, em qualquer tabela | As transações muito longas mantêm recursos bloqueados | Encomendas, pagamentos, stock |
| JSONB | JSON nativo, indexável com GIN | Consultas muito complexas sobre JSON são mais lentas do que sobre colunas clássicas | Conteúdo de páginas, definições, atributos de produto |
| Pesquisa full-text | tsvector + pg_trgm, multilingue (português incluído) | Relevância abaixo dos motores de pesquisa dedicados | A pesquisa no catálogo da loja |
| Backup e replicação | WAL, PITR, replicação em streaming | O failover automático exige ferramentas externas (ex.: Patroni) | Recuperação após incidentes, alta disponibilidade |
| Escalabilidade | Réplicas de leitura, particionamento de tabelas | As escritas continuam no nó primário | Catálogos e históricos grandes de encomendas |
| Custo | Open-source, licença livre | O custo real é a infraestrutura e a administração | Incluído nos planos 4buildsite |
PostgreSQL vs MySQL vs MongoDB
| Critério | PostgreSQL | MySQL | MongoDB |
|---|---|---|---|
| Integridade ACID | Completa, em qualquer tabela, por omissão | Completa apenas com o motor InnoDB | Transações multidocumento só a partir da v4.0, com limitações |
| Tipos de dados e JSON | JSONB indexável + tipos ricos (array, range) | JSON válido, indexação indireta (colunas geradas) | Documentos BSON nativos, sem esquema imposto |
| Pesquisa full-text | Incluída: tsvector, pg_trgm, stemming multilingue | Básica (InnoDB FTS) | Básica; a variante avançada (Atlas Search) só na cloud comercial |
| Licença / custo | PostgreSQL License — livre, sem proprietário comercial | GPL, detida pela Oracle (edições comerciais) | SSPL — já não é uma licença open-source clássica |
| Ecossistema | Extensões poderosas (PostGIS, pgvector), suporte em todos os ORM | Omnipresente no alojamento clássico PHP/WordPress | Forte em Node.js, mais limitado no resto |
| Adequação ao e-commerce | Excelente — encomendas, stock e pagamentos consistentes com garantia | Boa — o padrão histórico (Magento, WooCommerce) | Para catálogos flexíveis; a consistência das encomendas exige esforço adicional |
Perguntas frequentes
O PostgreSQL afeta a velocidade do meu site?
Não em sentido negativo. As páginas públicas são servidas a partir do Next.js com cache e as consultas PostgreSQL indexadas respondem em milissegundos. Para a velocidade percebida de um site, o frontend e as imagens também contam.
Porquê não WordPress com MySQL, como toda a gente?
O WordPress é um CMS em PHP com temas e plugins que têm de ser mantidos e atualizados constantemente. A 4buildsite gera sites em Next.js com PostgreSQL: sem plugins para andar a corrigir e com o site publicado de forma estática. O MySQL não é uma má escolha — mas o PostgreSQL acrescenta JSONB indexável, melhor pesquisa full-text e integridade mais rigorosa, com a mesma licença livre.
O que acontece aos meus dados se o servidor cair?
O PostgreSQL escreve cada alteração primeiro no registo WAL, pelo que ao reiniciar a base de dados se reconstrói sem dados corrompidos — uma quebra súbita do servidor não te corrompe as encomendas. Além disso, os dados ficam em volumes persistentes, separados da aplicação, pelo que um reinício ou uma atualização da plataforma não lhes toca.
Posso exportar os meus dados se sair da 4buildsite?
Sim. Os teus dados estão em PostgreSQL, um formato padrão da indústria — os produtos, as encomendas e os clientes podem ser exportados em formatos correntes (CSV, SQL). Não existe nenhum formato proprietário que te prenda à plataforma.
O PostgreSQL aguenta se a minha loja crescer?
Sim, com uma margem enorme. A Instagram e a Reddit escalaram sobre PostgreSQL até centenas de milhões de utilizadores, usando índices, particionamento e réplicas de leitura — as mesmas técnicas disponíveis também na 4buildsite. Uma loja online chega aos limites do PostgreSQL muito mais tarde do que aos limites da sua própria logística.
Quanto me custa a licença do PostgreSQL?
Nada. O PostgreSQL tem licença livre (PostgreSQL License, do tipo BSD), sem taxas por servidor ou por núcleo. Na 4buildsite, a base de dados está incluída no teu plano, juntamente com o alojamento e o SSL — não pagas nada à parte por ela.