Добавление комментария к столбцу при создании таблицы в PostgreSQL?

#postgresql #syntax-error

#postgresql #Комментарии #ddl

Вопрос:

Как я могу добавить комментарий к столбцу в PostgreSQL?

 create table session_log (
                UserId int index not null,
                PhoneNumber int index); 
 

Ответ №1:

Комментарии прикрепляются к столбцу с помощью comment инструкции:

 create table session_log 
( 
   userid int not null, 
   phonenumber int
); 

comment on column session_log.userid is 'The user ID';
comment on column session_log.phonenumber is 'The phone number including the area code';
 

Вы также можете добавить комментарий к таблице:

 comment on table session_log is 'Our session logs';
 

Дополнительно: int index недопустимо.

Если вы хотите создать индекс для столбца, вы делаете это с помощью create index инструкции:

 create index on session_log(phonenumber);
 

Если вам нужен индекс по обоим столбцам, используйте:

 create index on session_log(userid, phonenumber);
 

Вероятно, вы хотите определить идентификатор пользователя в качестве первичного ключа. Это делается с использованием следующего синтаксиса (а не с использованием int index ):

 create table session_log 
( 
   UserId int primary key, 
   PhoneNumber int
); 
 

Определение столбца в качестве первичного ключа неявно делает его not null

Комментарии:

1. Кажется, что PG не предлагает стандартный синтаксис для комментария к предложению CREATE TABLE… Почему бы и нет?

2. @PeterKrauss: не существует стандарта для комментариев к операторам CREATE TABLE (Postgres использует тот же синтаксис, что и Oracle)

3. Кажется, что pgAdmin не показывает комментарии к столбцам, но это работает в psql (показывает их крайний правый, в разделе «Описание»): d my_table