Или «Как я научился перестать забывать вещи и использовать комментарии».
Одной из фишек 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, чтобы увидеть все объекты, для которых поддерживаются комментарии.