4

我需要为当前项目使用看起来很棒的django-storages 数据库存储后端,但是:

它可用于将文件名映射到数据库 blob:因此您必须将它与手动创建的特殊附加表一起使用。该表应包含文件名的 pk 列(最好使用与 FileField 相同的类型:nvarchar(100))、blob 字段(例如图像类型)和大小字段 (bigint)。

我会承认的。ORM 把我宠坏了。自从我编写 SQL 语句以来已经有一段时间了,而且我对 PostgreSQL 的 SQL 和 BLOB 风格一点也不熟悉。

那么,是否有人可以帮助我使用包含上述三列(FILE_NAME、BLOB、FILE_SIZE)的 Postgres CREATE TABLE 语句以及适当的列类型?

4

1 回答 1

6

您通常bytea在 PostgreSQL 中为 blob 使用类型列。您的陈述可能如下所示:

CREATE TABLE (
  file_name text PRIMARY KEY
 ,blob bytea
 ,file_size bigint
);

PostgreSQL 中没有nvarchar像 SQL Server 中那样。你可以使用varchar(100),但我建议只使用text没有修饰符。

还有其他存储 blob 的选项。有关更多信息,请参阅此相关答案

于 2012-07-10T23:46:59.727 回答