Привет, Я DocuDroid!
Оценка ИИ поиска
Спасибо за оценку нашего ИИ поиска!
Мы будем признательны, если вы поделитесь своими впечатлениями, чтобы мы могли улучшить наш ИИ поиск для вас и других читателей.
GitHub

COMMENT

Определяет или изменяет комментарий к объекту.

Синтаксис

COMMENT ON
{ TABLE <object_name> |
  COLUMN <relation_name>.<column_name> |
  AGGREGATE <agg_name> (<agg_signature>) |
  CAST (<source_type> AS <target_type>) |
  COLLATION <object_name>
  CONSTRAINT <constraint_name> ON <table_name> |
  CONVERSION <object_name> |
  DATABASE <object_name> |
  DOMAIN <object_name> |
  EXTENSION <object_name> |
  EVENT TRIGGER <object_name> |
  FOREIGN DATA WRAPPER <object_name> |
  FOREIGN TABLE <object_name> |
  FUNCTION <func_name> ([[<argmode>] [<argname>] <argtype> [, ...]]) |
  INDEX <object_name> |
  LARGE OBJECT <large_object_oid> |
  MATERIALIZED VIEW <object_name> |
  OPERATOR <operator_name> (<left_type>, <right_type>) |
  OPERATOR CLASS <object_name> USING <index_method> |
  OPERATOR FAMILY <object_name> USING <index_method> |
  [PROCEDURAL] LANGUAGE <object_name> |
  RESOURCE GROUP <object_name> |
  RESOURCE QUEUE <object_name> |
  ROLE <object_name> |
  RULE <rule_name> ON <table_name> |
  SCHEMA <object_name> |
  SEQUENCE <object_name> |
  SERVER <object_name> |
  TABLESPACE <object_name> |
  TEXT SEARCH CONFIGURATION <object_name> |
  TEXT SEARCH DICTIONARY <object_name> |
  TEXT SEARCH PARSER <object_name> |
  TEXT SEARCH TEMPLATE <object_name> |
  TRIGGER <trigger_name> ON <table_name> |
  TYPE <object_name> |
  VIEW <object_name> }
IS '<text>'

где agg_signature может принимать следующие значения:

* |
[ <argmode> ] [ <argname> ] <argtype> [ , ... ] |
[ [ <argmode> ] [ <argname> ] <argtype> [ , ... ] ] ORDER BY [ <argmode> ] [ <argname> ] <argtype> [ , ... ]

Описание

Команда COMMENT сохраняет комментарий к объекту базы данных. Для каждого объекта сохраняется только одна строка комментария. Чтобы удалить комментарий, напишите NULL вместо текстовой строки. Комментарии удаляются автоматически при удалении объекта.

Для большинства типов объектов только владелец объекта может установить комментарий. Так как роли не имеют владельцев, в случае COMMENT ON ROLE вы должны быть суперпользователем, чтобы комментировать роль суперпользователя, или иметь привилегию CREATEROLE, чтобы комментировать роли обычных пользователей. Суперпользователь может комментировать любые объекты.

Комментарии можно получить с помощью метакоманд psql — \dd, \d+ и \l+. Другие пользовательские интерфейсы для получения комментариев могут быть разработаны поверх тех же встроенных функций, которые использует psql, а именно obj_description, col_description и shobj_description.

Параметры

Параметр Описание

object_name
<relation_name>.<column_name>
agg_name
constraint_name
func_name
operator_name
rule_name
trigger_name

Имя комментируемого объекта. Имена таблиц, агрегатов, правил сортировки, преобразований, доменов, сторонних таблиц, функций, индексов, операторов, классов операторов, семейств операторов, последовательностей, объектов текстового поиска, типов, представлений и материализованных представлений могут быть дополнены именем схемы. При комментировании столбца значение relation_name должно ссылаться на таблицу, представление, материализованное представление, составной тип или стороннюю таблицу.

ПРИМЕЧАНИЕ

Greengage DB не поддерживает триггеры.

source_type

Имя исходного типа данных приведения

target_type

Имя целевого типа данных приведения

argmode

Режим аргумента функции или агрегата: IN, OUT, INOUT или VARIADIC. Если не указано, значение по умолчанию — IN. Обратите внимание, что COMMENT не учитывает аргументы OUT, так как для определения идентичности функции необходимы только входные аргументы. Поэтому достаточно перечислить аргументы IN, INOUT и VARIADIC

argname

Имя аргумента функции или агрегата. Обратите внимание, что COMMENT ON FUNCTION не учитывает имена аргументов, так как для определения идентичности функции необходимы только типы данных аргументов

argtype

Тип данных аргумента функции или агрегата

large_object_oid

OID большого объекта (large object).

ПРИМЕЧАНИЕ

Greengage DB не поддерживает механизм больших объектов PostgreSQL для потоковой передачи пользовательских данных, хранящихся в структурах больших объектов.

left_type
right_type

Типы данных аргументов оператора (опционально указанные со схемой). Укажите NONE для отсутствующего аргумента префиксного или постфиксного оператора

PROCEDURAL

Не несет смысловой нагрузки

text

Новый комментарий, записанный как строковый литерал, или NULL для удаления комментария

Примечания

В настоящее время не существует разграничения прав для просмотра комментариев: любой пользователь, подключенный к базе данных, может видеть все комментарии к объектам в этой базе данных. Для общих объектов, таких как базы данных, роли и табличные пространства, комментарии хранятся глобально, поэтому любой пользователь, подключенный к любой базе данных в кластере, может видеть все комментарии к общим объектам. Поэтому не помещайте в комментарии информацию, критически важную с точки зрения безопасности.

Примеры

Добавить комментарий к таблице mytable:

COMMENT ON TABLE mytable IS 'Это моя таблица';

Удалить этот комментарий:

COMMENT ON TABLE mytable IS NULL;

Еще несколько примеров:

COMMENT ON AGGREGATE my_aggregate (double precision) IS 'Вычисляет выборочную дисперсию';
COMMENT ON CAST (text AS int4) IS 'Разрешает приведение типов из text в int4';
COMMENT ON COLLATION "fr_CA" IS 'Канадский французский';
COMMENT ON COLUMN my_table.my_column IS 'Идентификационный номер сотрудника';
COMMENT ON CONVERSION my_conv IS 'Преобразование в UTF8';
COMMENT ON CONSTRAINT bar_col_cons ON bar IS 'Ограничивает столбец col';
COMMENT ON DATABASE my_database IS 'База данных разработки';
COMMENT ON DOMAIN my_domain IS 'Домен адреса электронной почты';
COMMENT ON EXTENSION hstore IS 'Реализует тип данных hstore';
COMMENT ON FOREIGN DATA WRAPPER mywrapper IS 'Моя обертка сторонних данных';
COMMENT ON FOREIGN TABLE my_foreign_table IS 'Информация о сотрудниках в другой базе данных';
COMMENT ON FUNCTION my_function (timestamp) IS 'Возвращает римские цифры';
COMMENT ON INDEX my_index IS 'Обеспечивает уникальность ID сотрудника';
COMMENT ON LANGUAGE plpython IS 'Поддержка Python для хранимых процедур';
COMMENT ON LARGE OBJECT 346344 IS 'Документ планирования';
COMMENT ON OPERATOR ^ (text, text) IS 'Выполняет пересечение двух текстов';
COMMENT ON OPERATOR - (NONE, integer) IS 'Унарный минус';
COMMENT ON OPERATOR CLASS int4ops USING btree IS 'Операторы 4-байтовых целых чисел для btrees';
COMMENT ON OPERATOR FAMILY integer_ops USING btree IS 'Все целочисленные операторы для btrees';
COMMENT ON ROLE my_role IS 'Группа администрирования для финансовых таблиц';
COMMENT ON RULE my_rule ON my_table IS 'Логирует обновления записей сотрудников';
COMMENT ON SCHEMA my_schema IS 'Данные отдела';
COMMENT ON SEQUENCE my_sequence IS 'Используется для генерации первичных ключей';
COMMENT ON SERVER myserver IS 'Мой сторонний сервер';
COMMENT ON TABLE my_schema.my_table IS 'Информация о сотрудниках';
COMMENT ON TABLESPACE my_tablespace IS 'Табличное пространство для индексов';
COMMENT ON TEXT SEARCH CONFIGURATION my_config IS 'Фильтрация специальных слов';
COMMENT ON TEXT SEARCH DICTIONARY swedish IS 'Стеммер Snowball для шведского языка';
COMMENT ON TEXT SEARCH PARSER my_parser IS 'Разбивает текст на слова';
COMMENT ON TEXT SEARCH TEMPLATE snowball IS 'Стеммер Snowball';
COMMENT ON TRIGGER my_trigger ON my_table IS 'Используется для ссылочной целостности';
COMMENT ON TYPE complex IS 'Тип данных комплексного числа';
COMMENT ON VIEW my_view IS 'Представление расходов отдела';

Совместимость

В стандарте SQL нет оператора COMMENT.