Символ комментария / символы в postgres / postgresql / psql? - PullRequest
40 голосов
/ 25 ноября 2010

Какой символ для комментариев в postgres?

SELECT * FROM my_table     # pound  sign produces a syntax error

Спасибо, cababunga, работает следующее:

SELECT * FROM my_table     -- this is my comment

Но это не работает:

\dt jvcurve_thin.jvcurve_results    --  my comment #2

\ dt: дополнительный аргумент "-" игнорируется

Ответы [ 4 ]

59 голосов
/ 31 января 2014

Согласно документации PostgreSQL, есть как встроенный, так и блочный комментарии

inline style:

SELECT 23 AS test  -- this is just a test

Блок стиль:

/* The following is a very
 * non-trivial SQL code */
SELECT 42 AS result
18 голосов
/ 25 ноября 2010

В SQL комментарий начинается с --.

3 голосов
/ 25 декабря 2013

Похоже, psql не поддерживает традиционные -- комментарии в конце строки в своих psql -специфичных "командах слеша".

Однако, если вы в порядке с комментариями в конце строки, отображаемыми при исполнении, использование \echo кажется правильным решением. Например:

\dt jvcurve_thin.jvcurve_results   \echo my comment #2

Метакоманда разделителя с двойной косой чертой выглядит как другая возможность (и без побочного эффекта эха). Начните новую команду с нее и немедленно начните -- комментарий:

\dt jvcurve_thin.jvcurve_results   \\ -- my comment #2

Наконец, переключение на оболочку и добавление комментария оболочки представляется еще одной возможностью:

\dt jvcurve_thin.jvcurve_results   \! # my comment #2
2 голосов
/ 16 августа 2017

Из официальной документации: Комментарии PostgreSQL .

Комментарий - это последовательность символов, начинающаяся с двойной тире и простирающийся до конца линии, например ::1006

-- This is a standard SQL comment

В качестве альтернативы можно использовать комментарии в стиле C:

/* multiline comment  * with nesting: /* nested block comment */  */

где комментарий начинается с / * и распространяется на соответствие появление */. Эти блочные комментарии вложены, как указано в SQL стандарт, но в отличие от C, так что можно закомментировать большие блоки код, который может содержать существующие комментарии блока.

Комментарий удаляется из входного потока перед дальнейшим синтаксисом анализ и эффективно заменяется пробелами.

И он поддерживается одинаково с темных времен (версия 7.0).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...