2012-05-01 66 views
34

Estoy trabajando con Python.Tamaño máximo del tipo de datos "TEXTO" en postgresql

Tengo un campo con tipo de datos "texto" en postgres. Cada vez que trato de guardar una cadena muy grande, arroja un error interno en python, pero si guardo la cadena con un tamaño más pequeño, la guarda correctamente.

No entiendo el problema. ¿Es que hay un límite máximo para ingresar los caracteres para el tipo de datos "TEXTO"?

+0

¿Cuál es el error? ¿Estás seguro de que no tienes ningún carácter en el texto grande que pueda romper la consulta, algo así como '? – Habib

+0

¿Existe alguna restricción que limite el tamaño de la columna? – luke2012

+0

¿Cuál es el mensaje de error concreto? ¿Cómo se ve la línea, que lo arroja? –

Respuesta

59

Desde el manual:

In any case, the longest possible character string that can be stored is about 1 GB.

+0

Guarda la cadena grande por primera vez. pero cuando intente guardar de nuevo, agregando incluso 1 carácter adicional, se obtiene "ERROR INTERNO DEL SERVIDOR: TRANSACCIONES ABORTADAS HASTA EL FINAL DEL BLOQUE" – user977933

+4

Verifique los archivos de registro para ver todos los mensajes de error, este se ve como el último, el que no lo hace Te digo algo –

+1

¿Es 100% correcto? Del [manual] (https://www.postgresql.org/docs/current/static/datatype-character.html) también dice: ** (El valor máximo que se permitirá para n en el tipo de datos) declaración es menor que eso. No sería útil cambiar esto porque con codificaciones de caracteres multibyte el número de caracteres y bytes puede ser bastante diferente. Si desea almacenar cadenas largas sin límite superior específico, use texto o caracteres que varíen sin un especificador de longitud, en lugar de compensar un límite de longitud arbitrario). ** – Carlos

Cuestiones relacionadas