Esta pregunta no se trata de bytea v. Oid v. Blobs v. Objetos grandes, etc.
Tengo una tabla que contiene un integer
campo de clave principal y un bytea
campo. Me gustaría ingresar datos en el bytea
campo. Esto, presumiblemente, lo puede hacer uno de los PL/
idiomas, y puedo considerar hacerlo PL/Python
en el futuro.
Como todavía estoy probando y experimentando, simplemente me gustaría insertar datos de un archivo (en el servidor) usando declaraciones SQL "estándar". Soy consciente de que solo los administradores con permiso de escritura en el servidor podrán insertar datos de la manera que me gustaría. No estoy preocupado por eso en esta etapa ya que los usuarios no estarían insertando bytea
datos en este momento. He buscado en varios sitios de StackExchange, los archivos PostgreSQL e Internet en general, pero no he podido encontrar una respuesta.
Editar: Esta discusión de 2008 implica que lo que quiero hacer no es posible. ¿Cómo se bytea
usan los campos entonces?
Editar: Esta pregunta similar de 2005 sigue sin respuesta.
Resuelto: Los detalles proporcionados aquí en el psycopg
sitio web proporcionaron la base para una solución que he escrito en Python. También es posible insertar datos binarios en una bytea
columna usando PL/Python
. No sé si esto es posible usando SQL "puro".
blob
). Si eso fue un error, me disculpo sinceramente.
blob
está bien, tal vez datafile
sea irrelevante.