2015-12-28 9 views
6

In Postgres c'è un tipo di dati chiamato byteaQual è il tipo di dati bytea e quando lo utilizzerei?

La documentazione Postgres sono qui per questo: http://www.postgresql.org/docs/9.0/static/datatype-binary.html

non riesco a capire quando avrei mai usare questo - né posso davvero capire lo scopo di questo tipo di dati.

Mi sono imbattuto in questo termine bytea diverse volte e comincio a chiedermi "Sembra che si aspettino che io capisca questo ... Forse dovrei scoprire di cosa si tratta."

Se qualcuno può dare una definizione semplice per esso e alcune circostanze date di quando vorrei usarlo, sarebbe di grande aiuto.

Grazie.

risposta

7

penso che la documentazione è ragionevolmente chiaro sulle differenze tra bytea e testo:

stringhe binarie si distinguono dalle stringhe di caratteri in due modi. Innanzitutto, le stringhe binarie consentono specificamente di memorizzare ottetti di valore zero e altri ottetti "non stampabili" (in genere, ottetti al di fuori dell'intervallo da 32 a 126). Le stringhe di caratteri non consentono gli ottetti nulli e inoltre non consentono altri valori di ottetto e sequenze di valori di ottetto non validi in base alla codifica del set di caratteri selezionata del database. In secondo luogo, le operazioni su stringhe binarie elaborano i byte effettivi, mentre l'elaborazione delle stringhe di caratteri dipende dalle impostazioni locali. In breve, le stringhe binarie sono appropriate per l'archiviazione di dati che il programmatore considera come "byte grezzi", mentre le stringhe di caratteri sono appropriate per l'archiviazione del testo.

http://www.postgresql.org/docs/9.0/static/datatype-binary.html

... Ha a che fare con se i contenuti sono "testo" (fatte salve le impostazioni locali e Internationalizations che hai applicato alla configurazione del server e il sistema operativo su cui si sta eseguendolo) rispetto alle matrici di "ottetti" (sequenze di valori binari a 8 bit, comunemente denominati "byte").

(Ci sono alcune distinzioni tecniche tra il termine "byte" e il termine "ottetto" - perché, storicamente, alcune piattaforme e dispositivi informatici utilizzavano "byte" con parità e/o fermano bit mentre il termine "ottetti" sempre significa esattamente 8-bit, un termine che è stato introdotto per chiarire le specifiche e la documentazione per i protocolli di rete).

Problemi correlati