如何将文件位置正确存储到Postgresql表中?

问题描述

我对Postgresql非常陌生。我不打算立即深入研究它,因为还有其他优先主题需要完成。但是现在我需要了解Postgresql的一些基础知识,才能完美地完成个人项目。

我需要在Postgresql的表中的列中保存文件位置。

  1. 创建表时应该为表保留什么类型?
  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.表没有类型,它们只是表,除非您使用的是临时表。 对于文件名以及保存位置和内容,通常使用任何字符串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,647)范围内的任何数字。如果您的10位数字需要提高或降低,请使用BIGINT数据类型(该数据类型会占用更多的存储空间,但我怀疑您对此是否很在意。

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