Comment character/characters in postgres / postgresql / psql?

What's the character for comments in postgres?

SELECT * FROM my_table # pound sign produces a syntax error 

Thank you cababunga, the following appears to work:

SELECT * FROM my_table -- this is my comment 

But this does not work:

\dt jvcurve_thin.jvcurve_results -- my comment #2 

\dt: extra argument "--" ignored

2

5 Answers

According to PostgreSQL documentation, there are both the inline and the block style comments.

The inline style:

SELECT 23 AS test -- this is just a test 

The block style:

/* The following is a very * non-trivial SQL code */ SELECT 42 AS result 
2

In SQL comment starts with --.

2

From the official documentation: PostgreSQL Comments.

A comment is a sequence of characters beginning with double dashes and extending to the end of the line, e.g.:

-- This is a standard SQL comment 

Alternatively, C-style block comments can be used:

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

where the comment begins with /* and extends to the matching occurrence of */. These block comments nest, as specified in the SQL standard but unlike C, so that one can comment out larger blocks of code that might contain existing block comments.

A comment is removed from the input stream before further syntax analysis and is effectively replaced by whitespace.

And it has been supported the same way ever since dark ages (version 7.0).

It doesn't look like psql supports traditional end-of-line -- comments in its psql-specific "slash commands." -- these are called meta-commands in the PostgreSQL psql documentation.

However, if you're okay with the end-of-line comments being displayed on execution, using \echo seems to be a valid work-around. For example:

\dt jvcurve_thin.jvcurve_results \echo my comment #2 

The "double slash" separator meta-command looks like another possibility (and without the side effect of echoing). Begin a new command with it and immediately start a -- comment:

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

Finally, switching to the shell and adding a shell comment seems like another possibility:

\dt jvcurve_thin.jvcurve_results \! # my comment #2 
4

It's Better to select and press Ctrl+Shift+/ to comment multiline in PostgreSQL pgAdmin4

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like