微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

二进制存储大数据文件

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

示例如下:

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

1、 创建表

Createtablebyteatable(idint,obj bytea);

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

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

postgresql =# Insert into byteatablevalues(256,pg_read_binary_file('1.jpg'));

INSERT 0 1

postgresql =# Insert into byteatablevalues(256,pg_read_binary_file('weibo.txt'));

INSERT 0 1

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

postgresql=#ALTER TABLE byteatable ADD COLUMN body text;

ALTER TABLE

postgresql=#Insertinto byteatable values(256,pg_read_binary_file('weibo.txt'),

pg_read_file('weibo.txt'));

INSERT 0 1

postgresql =# select body from byteatable whereid='256';

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

Name

Return Type

Description

pg_read_file(filenametext[,offsetbigint,lengthbigint])

text

Return the contents of a text file

pg_read_binary_file(filenametext[,lengthbigint])

bytea

Return the contents of a file

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐