Guide

Cos'è Postgres? Il database dietro molte app, spiegato

Postgres (ufficialmente PostgreSQL) è un database relazionale gratuito e open source: un programma che conserva i dati di un'app in tabelle di righe e colonne, collega tra loro queste tabelle e risponde alle domande su di esse in un linguaggio chiamato SQL. È noto per essere affidabile, rigoroso nel mantenere i dati corretti e abbastanza flessibile da gestire qualsiasi cosa, da una lista di iscrizioni ai registri di una grande azienda. Molte app web, e molti dei servizi che le ospitano, sono costruite su di esso.

Perché conta quando costruisci con l'AI

Quando un app builder AI aggiunge «un database» al tuo progetto, è probabile che sia Postgres. Non devi scrivere SQL per usarlo, ma una piccola comprensione aiuta molto:

  • Puoi descrivere i dati nella forma che il database richiede. «I clienti hanno molti ordini; ogni ordine ha molti articoli» si traduce direttamente in tabelle.
  • Puoi chiedere le protezioni giuste. Postgres può rifiutare da solo i dati errati (un'email duplicata, un ordine per un cliente che non esiste), se l'AI imposta le regole.
  • Puoi leggere ciò che ha fatto l'AI. Nomi delle tabelle, colonne e relazioni sono facili da controllare in un visualizzatore di tabelle, anche se non tocchi mai il codice.

Un esempio quotidiano: un ufficio pratiche molto rigoroso

Immagina un ufficio pratiche con un armadio per ogni tipo di cosa: uno per i clienti, uno per gli ordini, uno per i prodotti. Ogni scheda in un cassetto ha gli stessi riquadri stampati da compilare. Ogni scheda ha un numero unico, e una scheda d'ordine non ripete i dati del cliente; dice soltanto «cliente #214», rimandando al cassetto dei clienti.

L'impiegato è rigoroso. Non archivia un ordine che punta a un cliente inesistente. Non accetta una scheda con il riquadro della data lasciato vuoto se è obbligatorio. E se gli chiedi di spostare denaro da una scheda conto a un'altra, esegue entrambe le metà oppure nessuna, mai una sola.

Quell'impiegato è Postgres. I cassetti sono le tabelle, i riquadri stampati sono le colonne, ogni scheda è una riga, e il collegamento «cliente #214» è una chiave esterna (foreign key).

Cosa fa bene Postgres

FunzioneCosa significa in parole semplici
Tabelle e relazioniI dati vivono in tabelle che si puntano l'una con l'altra, così nulla viene copiato in cinque posti
SQLUn linguaggio standard per fare domande: «tutti gli ordini non pagati del mese scorso, dal più recente»
Transazioni (ACID)Un gruppo di modifiche avviene tutto insieme o non avviene affatto, anche se il server crolla a metà
VincoliRegole che il database applica da solo: campi obbligatori, email uniche, collegamenti validi tra tabelle
IndiciScorciatoie di ricerca che mantengono veloci le ricerche quando le tabelle crescono
JSONBConserva dati flessibili in stile documento in una colonna, quando una struttura fissa non si adatta
Ricerca full-textCerca parole nei campi di testo senza un servizio di ricerca separato, nei casi semplici
EstensioniComponenti aggiuntivi come PostGIS per mappe e posizioni, o pgvector per conservare embedding dell'AI
Row-level securityRegole dentro il database su quali righe un dato utente può vedere

Postgres è nato come progetto di ricerca presso l'Università della California, a Berkeley, negli anni Ottanta, ed è sviluppato in modo aperto da una comunità globale dagli anni Novanta. Questa lunga storia spiega perché è spesso la scelta predefinita: è ben documentato, molto supportato e ogni grande provider cloud offre una versione gestita.

Esempio pratico: trasformare un foglio di calcolo in tabelle

Supponi di gestire una piccola attività di catering e di tenere tutto in un unico foglio di calcolo: ogni riga è un evento, con nome del cliente, telefono ed email, data, voci del menu e prezzo.

I problemi compaiono in fretta. Lo stesso cliente appare in sei righe con due numeri di telefono diversi. Le voci del menu sono scritte in una sola cella come «tartine x40, insalata x2», quindi non puoi sommare quante tartine hai preparato questo mese.

In Postgres le stesse informazioni diventano quattro tabelle:

TabellaColonneNote
clientsid, name, phone, emailL'email deve essere unica
eventsid, client_id, date, venue, statusclient_id deve corrispondere a un cliente reale
menu_itemsid, name, unit_priceUna riga per piatto
event_itemsevent_id, menu_item_id, quantityCollega gli eventi ai piatti, con una quantità

Ora il numero di telefono di un cliente vive in un solo posto. «Quante tartine abbiamo preparato a marzo?» è una singola query SQL. E quando registri un nuovo evento con le sue voci, una transazione garantisce che non ti ritrovi mai con un evento che ha salvato solo metà dei suoi articoli.

È il passaggio che le persone saltano quando chiedono all'AI di «fare un'app dal mio foglio di calcolo». La guida per trasformare un foglio di calcolo in un'app va oltre.

Termini chiave

  • Tabella, riga, colonna: un tipo di cosa, un'istanza di essa, un'informazione su di essa.
  • Chiave primaria: l'ID unico di ogni riga, di solito id.
  • Chiave esterna: una colonna che punta a una riga di un'altra tabella, come client_id.
  • Schema: il disegno di tutte le tue tabelle e colonne.
  • Migrazione: una modifica salvata e ripetibile dello schema, come «aggiungi una colonna venue a events».
  • Query: una domanda o un'istruzione scritta in SQL.
  • Stringa di connessione: l'indirizzo e la password con cui il tuo backend raggiunge il database. È un segreto — vedi variabili d'ambiente e segreti.
  • Postgres gestito: un servizio che fa girare, salva copie di backup e aggiorna Postgres al posto tuo.

Per le operazioni quotidiane che ogni app esegue su queste tabelle — creare, leggere, aggiornare, eliminare — vedi cosa significa CRUD.

Errori comuni e idee sbagliate

  • Un'unica tabella gigante. Copiare il foglio di calcolo colonna per colonna porta agli stessi problemi di duplicazione. Separa ciò che si ripete in tabelle proprie.
  • Conservare liste in un solo campo di testo. «tartine x40, insalata x2» in una sola colonna non può essere contato né cercato bene. Usa una tabella di collegamento.
  • Nessun vincolo. Senza «l'email deve essere unica» o «ogni evento deve avere un cliente», dati sbagliati entrano in silenzio e saltano fuori mesi dopo.
  • Modificare il database a mano in produzione. Chiedi le modifiche allo schema come migrazioni, così il cambiamento viene registrato e può essere ripetuto.
  • Far parlare direttamente il browser con il database. Il frontend dovrebbe passare dal tuo backend, che controlla i permessi. La password del database non deve mai stare nel codice della pagina.
  • «Postgres è solo per le grandi aziende». Gira altrettanto bene per una lista d'attesa di 50 righe, e non dovrai abbandonarlo man mano che cresci.
  • Pensare che un database sia un backup. Conserva i dati; non ti protegge automaticamente dalla loro cancellazione. Verifica quali backup offre il tuo host.

Cosa chiedere al tuo app builder AI

  • «Salva [le cose] in un database. Tabelle: … con questi campi: … Collega ogni [ordine] a un [cliente].»
  • «Rendi l'email unica nei clienti. Rendi obbligatori questi campi. Non permettere un ordine senza cliente.»
  • «Usa le migrazioni per ogni modifica dello schema.»
  • «Aggiungi indici per le ricerche che facciamo più spesso: ordini per cliente e per data.»
  • «Ogni accesso al database passa dal server. Tieni la stringa di connessione nelle variabili d'ambiente.»

Se non hai mai sentito parlare di database, parti da cos'è un database, poi torna qui. Una app full-stack mostra dove si colloca il database accanto al frontend e al backend.

Postgres su Mythex

Mythex assegna a ogni progetto che ne ha bisogno un proprio database Postgres dedicato. Non devi configurarlo: chiedilo in chat («salva le email della lista d'attesa in un database») o usa il comando /database, e Mythex lo collega, inserisce i dettagli di connessione nella tua app e può creare le tabelle per te. Il database di un'app pubblicata va in pausa dopo cinque minuti di inattività e si risveglia alla richiesta successiva, e paghi il tempo in cui è stato effettivamente attivo, dallo stesso saldo di crediti usato per costruire. I dettagli sono nella documentazione sul database, e i template di dashboard sono un buon punto di partenza per vedere app alimentate da dati.

Domande

Postgres è lo stesso di PostgreSQL?

Sì. PostgreSQL è il nome ufficiale e Postgres è il nome abbreviato più comune; entrambi indicano lo stesso database relazionale open source.

Postgres è gratuito?

Sì. PostgreSQL è open source con la permissiva PostgreSQL License, quindi puoi usarlo gratuitamente, anche in prodotti commerciali. Paghi solo i server o il servizio gestito che lo fa girare.

Qual è la differenza tra Postgres e MySQL?

Entrambi sono database SQL relazionali gratuiti e vanno bene per la maggior parte delle app. Postgres è noto per la rigorosa integrità dei dati, i tipi di dato ricchi come JSONB e gli array, e per un vasto ecosistema di estensioni; MySQL è noto per la semplicità e una lunga storia nell'hosting web.

Postgres va bene per una piccola app?

Sì. Funziona bene sia per una semplice lista d'attesa su una sola tabella sia per grandi sistemi di produzione, quindi non dovrai cambiare database man mano che l'app cresce. I servizi gestiti rendono facile farlo girare senza un amministratore di database.

Mythex · Pricing · Crea qualsiasi cosa con l'AI · Template per siti web e app · Mythex a confronto · Glossario per creare app con l'AI · Strumenti gratuiti per creare app con l'AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)