2010-11-24 2 views
36

ポストグルのコメントの文字は何ですか?postgres/postgresql/psqlの文字/コメントは?

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 \:余分な引数は " - "

+7

'psql'はスラッシュコマンドの後ろのコメントをサポートしていません。前の行にコメントを付けるだけです。 –

答えて

17
を無視しました

SQLコメントは--で始まります。

+3

Cスタイルのコメントは、ほとんどのデータベースでも許可されていますが、SQL標準で指定されているかどうかわかりません: '/ * comment * /' –

3

psqlは、psql固有の「スラッシュコマンド」の伝統的な行末の--コメントをサポートしていません。

ただし、実行中に行末のコメントが表示されても問題がなければ、\echoを使用すると有効な回避策と思われます。たとえば、:

\dt jvcurve_thin.jvcurve_results \echo my comment #2 

「ダブルスラッシュ」セパレータメタコマンドは、別の可能性(およびエコーの副作用なし)のように見えます。これで新しいコマンドを開始してすぐに--コメントを開始します。

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

最後に、シェルに切り替えると、シェルのコメントを追加すると、別の可能性のように思える:PostgreSQLのドキュメントによると

\dt jvcurve_thin.jvcurve_results \! # my comment #2 
+0

2つのバックスラッシュは\\使用しないでください。 'psql'のコマンドを別々にします。 '\ d table1 \\ \ d table2'となり、想定されるコメントに' psql'コマンドが含まれていれば動作を示すことができます。 '-c' [here](http://www.postgresql.org/docs/9.1/static/app-psql.html)のオプションの説明を参照してください。 – valid

+0

ありがとうございます。 '\\ - '私のコメントのように ' - 'をつけて\\の後にテキストを付加するのはどうでしょうか? – cjerdonek

+1

ああ。それは問題ないようだ。まだいくつかの異なる動作が導入されています。 psql対話型コンソールにダブルダッシュを入力すると、コメントコマンドとその直後のコマンドが収集され、次のコメントコメントコマンドで履歴に保存されます(複数行コメントのように振る舞います)。二重ダッシュと組み合わされた二重バックスラッシュは同じようには機能しません。つまり、コメントは次のコマンドでコンパイルされません。私はこのような行動のすべてを考慮していましたが、特に直感的ではありません。だから注意してください;) – valid

55

がありますインラインスタイルとブロックスタイルの両方のコメント。

インラインスタイル:

SELECT 23 AS test -- this is just a test 

ブロックスタイル:PostgreSQL Comments

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

このようなものが、このサイトにあなたをとどめる理由です。 – Fuser97381

+1

彼はpsqlのインタラクティブなコンソールスクリプトでコメントする方法を尋ねる(つまり、そのバックスラッシュのメタコマンドをコメントすることを含みます)。通常のPostgres SQLをコメントする方法ではありません。 –

1

公式ドキュメントから。 、Cスタイルのブロックコメントを使用することができますまた

-- This is a standard SQL comment 

コメントは、行の終わりまで延びるダブルダッシュで始まる文字列と 、例えばあります

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

ここで、コメントは/ *で始まり、* /の一致である まで続きます。これらのブロックコメントは、SQL 標準で指定されているようにネストされますが、Cと異なり、既存のブロックコメントを含むかもしれない コードのより大きなブロックをコメントアウトできます。

さらなる構文 の解析の前にコメントが入力ストリームから削除され、効果的に空白に置き換えられます。

暗黒時代(バージョン7.0)以来、同じようにサポートされています。

関連する問題