Понимание модели данных

Или «Как я научился перестать забывать вещи и использовать комментарии».

Одной из фишек PostgreSQL является поддержка комментариев к объектам. Вы можете комментировать таблицы, столбцы и многие другие объекты.

Давайте попробуем на примере:

create table my_cool_table (
    id serial primary key,
    cool_rating numeric(5,2) not null default 0.0::numeric(5,2),
    label text not null,
    data jsonb not null default '{}'::jsonb
)
;

comment on table my_cool_table is 'Cool Ratings';
comment on column my_cool_table.id is 'Primary Key';
comment on column my_cool_table.cool_rating is 'Just how cool this is.';
comment on column my_cool_table.label is 'Label associated with data';
comment on column my_cool_table.data is 'The cool stuff';
Войти в полноэкранный режим Выйти из полноэкранного режима

Хорошо, и что теперь?

Ну, теперь вы можете отображать комментарии при получении информации. Например, используя psql, вы можете dt+ и увидеть комментарий к таблице.

postgres=# dt+ my_cool_table
                                  List of relations
 Schema |     Name      | Type  |  Owner   | Persistence |    Size    | Description  
--------+---------------+-------+----------+-------------+------------+--------------
 public | my_cool_table | table | postgres | permanent   | 8192 bytes | Cool Ratings
(1 row)
Вход в полноэкранный режим Выход из полноэкранного режима

Вы можете получить комментарии к столбцам, используя d+ my_cool_table.

postgres=# d+ my_cool_table
                                                             Table "public.my_cool_table"
   Column    |     Type     | Collation | Nullable |                  Default                  | Storage  | Stats target |        Description         
-------------+--------------+-----------+----------+-------------------------------------------+----------+--------------+----------------------------
 id          | integer      |           | not null | nextval('my_cool_table_id_seq'::regclass) | plain    |              | Primary Key
 cool_rating | numeric(5,2) |           | not null | 0.0::numeric(5,2)                         | main     |              | Just how cool this is.
 label       | text         |           | not null |                                           | extended |              | Label associated with data
 data        | jsonb        |           | not null | '{}'::jsonb                               | extended |              | The cool stuff
Indexes:
    "my_cool_table_pkey" PRIMARY KEY, btree (id)
Access method: heap
Войти в полноэкранный режим Выйти из полноэкранного режима

Есть и другие программы, которые могут получить доступ к комментариям. Например, dBeaver:

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

SQLAlchemy ORM должен поддерживать комментарии, если вы используете его для создания объектов базы данных.

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

Смотрите документацию PostgreSQL COMMENT, чтобы увидеть все объекты, для которых поддерживаются комментарии.

Оцените статью
devanswers.ru
Добавить комментарий