向表中添加标准元数据-Postgresql

向表中添加标准元数据-Postgresql,postgresql,metadata,Postgresql,Metadata,我曾与ESRI geodb合作,您可以在其中插入(到表的“属性”中)一些元数据(也符合某些国际标准),如创建日期、组织、来源、版权信息等 在Postgres中,对于整个表的元数据,是否有类似的内容?我只知道注释,但它对我来说似乎太差了。下面是一个非常简单的例子,说明如何保存想要的“元数据” 假设您有两个表,您想获得以下数据: t=# create table so66(i int, t text); CREATE TABLE Time: 5.431 ms t=# create table so6

我曾与ESRI geodb合作,您可以在其中插入(到表的“属性”中)一些元数据(也符合某些国际标准),如创建日期、组织、来源、版权信息等


在Postgres中,对于整个表的元数据,是否有类似的内容?我只知道
注释
,但它对我来说似乎太差了。

下面是一个非常简单的例子,说明如何保存想要的“元数据”

假设您有两个表,您想获得以下数据:

t=# create table so66(i int, t text);
CREATE TABLE
Time: 5.431 ms
t=# create table so67(i int, t text);
CREATE TABLE
Time: 4.797 ms
和“元数据”持有者表:

t=# create table metadata(tname text, created timestamptz, details json);
CREATE TABLE
Time: 6.814 ms
t=# insert into metadata select 'so66',now(),'{"organization":"n/a","source":"manual","catalog":false}';
INSERT 0 1
Time: 3.144 ms
t=# insert into metadata select 'so76',now(),'{"organization":"home","source":"manual","catalog":true}';
INSERT 0 1
Time: 0.907 ms

t=# select * from metadata ;
 tname |            created            |                         details
-------+-------------------------------+----------------------------------------------------------
 so66  | 2017-04-21 09:24:08.233346+00 | {"organization":"n/a","source":"manual","catalog":false}
 so76  | 2017-04-21 09:24:26.641526+00 | {"organization":"home","source":"manual","catalog":true}
(2 rows)

Time: 0.253 ms

我使用json保存任意细节。当然,您可以根据需要添加具有特殊数据类型的列。另外,您可能希望使用OID而不是表名,或者在插入/更新它时执行一些逻辑。

我认为这些表属性只是其他表中的行,您是通过某种形式填充的。如果是这样的话-是的,你可以在任何情况下这样做谢谢!。。。但是,如何将“元数据表”连接到整个“数据表”?因为我只能创建一个将一个表的记录链接到另一个表的记录的关系…:-(虽然我想将“元数据表”(作为一个整体)连接到“数据表”作为一个整体……但我认为这是不可行的,还是我错了?我不确定我们是否处于同一个浪潮中。我发布了一个如何保存“元数据”的示例)以及+-我认为这是如何在ESRI geodbI中完成的?我认为你指的是Dublin Core?你可以在注释中隐藏Dublin Core JSON或XML,但我只会使用另一个带有
table_schema
table_name
字段的表。现在我明白了!你只需将表名放在一个字段中即可!:-o这太简单了,我不认为……非常感谢!这是真的帮助了我!