2010-05-25 12 views
17

Sto utilizzando caratteri di tipo variabile in PostgreSQL. Non sono riuscito a trovare queste informazioni nel manuale di PostgreSQL. Qual è il limite massimo di caratteri nel tipo di dati che varia tra i caratteri?Limite lunghezza variabile carattere PostgreSQL

risposta

19

In riferimento allo documentation, non esiste un limite esplicito per la definizione del tipo varchar(n). Ma:

...
In ogni caso, la stringa di caratteri più lunga possibile che possono essere memorizzati è circa 1 GB. (Il valore massimo che sarà consentito per n nel tipo di dati dichiarazione è inferiore a quella. Si non sarebbe molto utile cambiare questo perché Tipiche multibyte codifiche il numero di caratteri, byte possibilità essere molto diverso in ogni caso. Se avete voglia di memorizzare stringhe lunghe senza limite superiore specifico, utilizzare il testo o character varying senza una lunghezza identificatore, piuttosto che di un limite lunghezza arbitraria.)

Notare inoltre presente:

Suggerimento: Non v'è alcuna prestazioni differenza tra questi tre tipi, oltre a una maggiore spazio di archiviazione quando si utilizza il tipo di vuoto imbottito, e alcuni cicli di CPU in più per controllare la lunghezza quando si memorizza in una colonna con lunghezza limitata . Mentre il carattere (n) presenta i vantaggi delle prestazioni in alcuni altri sistemi di database , non esiste tale vantaggio in PostgreSQL; infatti il ​​carattere (n) è di solito il più lento dei tre a causa dei suoi costi aggiuntivi di storage . Nella maggior parte delle situazioni, il testo o il carattere deve essere utilizzato .

1

Da documentation:

In ogni caso, la stringa di caratteri possibile più lunga che può essere memorizzato è di circa 1 GB. Tipo

0

personaggio postgresql

  • character varying (n), varchar (n) = lunghezza variabile con limite
  • carattere (n), char (n) = a lunghezza fissa, blank imbottita
  • text = lunghezza illimitata variabile

, sulla base di problema vi consiglio di utilizzare il tipo di testo . il tipo non richiede la lunghezza del carattere.

Inoltre, PostgreSQL fornisce il testo tipo , che memorizza le stringhe di qualsiasi lunghezza. Sebbene il testo del tipo non sia nello standard SQL, anche altri sistemi di gestione del database SQL lo possiedono.

fonte: https://www.postgresql.org/docs/9.6/static/datatype-character.html

Problemi correlati