2016-01-30 6 views
1

Можно ли добавить вид расширенных свойств в таблицах и/или столбцах в PostgreSQL, как это можно сделать в SQL Server?Как добавить расширенные свойства в PostgreSQL

Я искал это в Google, но я ничего не могу с этим поделать.

Я хочу описать столбцы (словарь данных) и добавить параметры, которые я могу позже сопоставить, отражая мои свойства в Java.

+0

Не знакомы с MSSQL, но это звучит, как вы могли бы построить разумное приближение, поставив [данные в формате JSON] (HTTP : //www.postgresql.org/docs/current/static/datatype-json.html) в [комментариях] (http://www.postgresql.org/docs/current/static/sql-comment.html) –

ответ

2

Postgres (и многие другие СУБД) делает это с помощью заявления 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

+0

Спасибо. Но как насчет добавления моих собственных свойств или аннотаций в столбец? Комментарии будут полезны для словаря данных (половина моего вопроса). Насколько мне известно, столбцы будут созданы в нижнем регистре, но я хочу что-то вроде Pascal Case (например, EmployeeName). Я могу использовать двойные кавычки, чтобы указать имя моего столбца. Но тогда запросы всегда должны включать двойные кавычки для таблиц и столбцов. Я использую PostgreSQL 9.4 и pgAdminIII. Мне не нужен этот формат «employee_social_security_number» или даже «employeeocialsecuritynumber». –

+0

Я хочу легко создать свои свойства java, и я подумал, что чтение этих аннотаций из БД будет быстрее, так как я бы просто выполнил мои SQL-запросы –

+0

@MaximusDecimus: вы должны привыкнуть к 'snake_case'. Это действительно единственное (и, на мой взгляд, лучшее) решение (и используется с практически любой другой СУБД, такой как Oracle, DB2, Firebird, Vertica, ...). Кстати: вы можете поместить что-нибудь в комментарии, насколько я знаю, нет предела длины –

 Смежные вопросы

  • Нет связанных вопросов^_^