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

时间:2017-04-21 08:59:58

标签: postgresql metadata

我使用ESRI地理位置,您可以在其中插入一些元数据(也符合某些国际标准),包括创建日期,组织,来源,版权信息等等(表格中的"属性和#34;) 。

Postgres中是否存在类似于整个表格的元数据?我只知道COMMENT,但对我来说似乎太穷了。

1 个答案:

答案 0 :(得分:0)

以下是一个非常天真的例子,说明如何保存想要的“元数据”

以免您假设有两个表想要获取有关数据的表:

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来保存任意细节。当然,您可以根据需要添加具有特殊数据类型的列。此外,您可能希望使用oids而不是表名,或者在插入/更新它时使用某些逻辑。