如何将文件位置正确存储到 postgresql table?

How to properly store a file location to a postgresql table?

我是 postgresql 的新手。我现在不打算完全深入地研究它,因为我还有其他优先主题要完成。但是现在需要了解一些postgresql的基础知识才能完美的完成个人项目

我需要在 postgresql 的 table 的列中保存一个文件位置。

  1. 在创建 table 时,我应该为 table 保留什么类型?
  2. 如何找回文件名?
  3. 我必须存储一个 10 位数字长的号码吗?如果我将类型指定为 int 可以吗?
CREATE TABLE "Test" (
  "test_id" uuid,
  "user_id" int,
  "test_name" text,
  "saved_location" Type,
  PRIMARY KEY ("test_id")
);

我想给 user_id FK,但不知道该怎么做。我本可以详细研究 SQL 并做到这一点,但我在另一门课程上的时间很紧。请帮我。 我正在使用 python。提前致谢。

我不明白问题 1。表没有类型,它们只是 table,除非您使用的是临时 table。 对于文件名和保存位置之类的东西,一般用任何字符串 varchar 都会解决你所有的问题。您希望将 varchar 数据类型设置为您的用例中字符串的最大长度,因为无论它包含的字符串有多短,这就是该列需要多少存储空间。

对于文件名和保存位置,我认为 varchar(100) 就足够了,但这取决于您。如果设置得太短并尝试插入数据,则会出现错误。

要获取文件名,从这个堆栈溢出线程开始可能会让您朝着正确的方向前进?我不完全确定你需要什么。 How do I get the full path of the current file's directory?

10 位数字...

int 数据类型可以携带 -2^31 (-2,147,483,648) 到 2^31-1 (2,147,483,647) 范围内的任何数字。如果您的 10 位数字需要更高或更低,则使用 BIGINT 数据类型(它使用相当多的存储空间,但我怀疑您是否很关心它。

https://www.postgresqltutorial.com/postgresql-integer/