【问题标题】:How to add extended properties in PostgreSQL如何在 PostgreSQL 中添加扩展属性
【发布时间】:2016-05-07 23:00:56
【问题描述】:

是否可以像在 SQL Server 中那样在 PostgreSQL 的表和/或列中添加一种扩展属性?

我一直在 Google 上寻找这个,但我找不到任何关于它的信息。

我想描述列(数据字典)并添加以后可以通过反射与我在 Java 中的属性匹配的参数。

【问题讨论】:

标签: postgresql extended-properties


【解决方案1】:

Postgres(和许多其他 DBMS)通过 DDL 语句 comment on 来执行此操作。

要将注释附加到表、视图、列、外键(几乎所有内容)上,请使用comment on,例如:

comment on table orders is 'Our orders';
comment on column orders.amount is 'Total amount of this order';

手册中的更多详细信息:http://www.postgresql.org/docs/current/static/sql-comment.html

JDBC 驱动程序将在结果中的remarks 列中返回此信息,例如getTables()getColumns()

要通过 SQL 访问值,请使用 Postgres 提供的函数:
http://www.postgresql.org/docs/current/static/functions-info.html#FUNCTIONS-INFO-COMMENT-TABLE

【讨论】:

  • 谢谢。但是将我自己的属性或注释添加到列中呢?评论对数据字典很有用(我的问题的一半)。据我所知,列将以小写形式创建,但我想要 Pascal Case 之类的内容(例如 EmployeeName)。我可以使用双引号来强制列名。但是查询应该始终包含表和列的双引号。我正在使用 PostgreSQL 9.4 和 pgAdminIII。我不想要这种格式“employee_social_security_number”甚至“employeesocialsecuritynumber”。
  • 我想轻松地创建我的 java 属性,我认为从 DB 中读取这些注释会更快,因为我会保持我的 SQL 查询简单
  • @MaximusDecimus:你应该习惯snake_case。它确实是唯一(并且在我看来是最好的)解决方案(并且基本上与所有其他 DBMS 一起使用,如 Oracle、DB2、Firebird、Vertica ......)。顺便说一句:你基本上可以在 cmets 中放入任何东西,据我所知没有长度限制
  • 非常感谢您的回答。非常感谢。我正在学习 MSSQL 以外的新产品。您在 Oracle、DB2 和其他方面提出了一个强项。
猜你喜欢
  • 2013-10-10
  • 1970-01-01
  • 2020-10-25
  • 1970-01-01
  • 1970-01-01
  • 2017-10-10
  • 1970-01-01
  • 1970-01-01
  • 2019-06-02
相关资源
最近更新 更多