Preciso armazenar arquivos de dados binários em um banco de dados PostgreSQL que roda em um servidor Ubuntu. Inicialmente, haverá algumas dezenas de arquivos com aproximadamente 250kb de tamanho cada. No entanto, o número de arquivos aumentará com o tempo. Às vezes, talvez eu precise extrair dados dos arquivos para outras análises posteriores.
Eu fiz algumas pesquisas sobre a antiga questão de armazenar dados binários como BLOBs ou referências. Ambos obviamente têm seus prós e contras. Existem problemas específicos relacionados ao PostgreSQL dos quais devo estar ciente? Um método ou outro é preferível se eu quiser extrair dados dos arquivos, por meio da função PostgreSQL ou de um programa externo do Python?
Se eu armazenasse os arquivos de dados diretamente no banco de dados, seria melhor armazená-los em uma tabela separada com uma chave estrangeira referenciando a tabela "principal", em vez de na tabela que contém todos os outros campos?
Eu li a pergunta e as respostas aqui ; um comentário sugere que armazenar arquivos binários por referência (no sistema de arquivos) no Linux é melhor. Minhas perguntas aqui se referem especificamente ao PostgreSQL e à extração de dados dos arquivos para várias análises.
Atualização: pergunta semelhante .