Postgresql存储二进制大数据文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Postgresql存储二进制大数据文件相关的知识,希望对你有一定的参考价值。

参考技术A

title: "Postgresql存储二进制大数据文件"
date: 2021-02-02T20:46:31+08:00
draft: true
tags: [\'postgres\',\'binary\']
author: "dadigang"
author_cn: "大地缸"
personal: " http://www.real007.cn "

http://www.real007.cn/about

如果想把整个文件或图片存储在数据表的一个字段内,该字段可以选择二进制类型,然后将文件按二进制存储起来,文本文件也可以存在text字段内。

示例如下:

二进制类型bytea的操作(在最大值内,有内存限制)

1、 创建表

2、 将文件放到coordinator目录下/mnt/postgresql/coord

通过pg_read_binary_file()函数,插入一张图片- 目录:/mnt/postgresql/coord/1.jpg

3、 也可以调用pg_read _file()将一个文本文件存储在一个text字段内

注意:函数pg_read_binary_file()和pg_read_file()中的路径必须是相对路径,默认路径是coordinator目录下,并且必须在coordinator目录下或者coordinator目录的子目录下。

Name

Return Type

Description

pg_read_file(filename text [, offset bigint, length bigint])

text

Return the contents of a text file

pg_read_binary_file(filename text [, offset bigint, length bigint])

bytea

Return the contents of a file

blob存储大数据量的二进制文件时会丢失数据吗?

望大虾救助啊》》》》》》》》》》》》》

参考技术A BLOB 类型 的最长字节是 65,535 字节 即 64KB 超过就是丢失了
如果需要更大的存储空间, 可以用 MEDIUMBLOB (16MB) LONGBLOB(4GB) 这种大存储类型的本回答被提问者采纳

以上是关于Postgresql存储二进制大数据文件的主要内容,如果未能解决你的问题,请参考以下文章

blob存储大数据量的二进制文件时会丢失数据吗?

在 mysql 数据库中存储大文件/二进制数据:啥时候可以?

运用PDO存储将图片音频文件存入数据库

为啥 PostgreSQL 9.2.1 可以存储大于 2GB 的大对象?

大对象不能在自动提交模式下使用

oracle数据类型