2

Squirrel SQL sql クライアント内でバックスラッシュで始まる基本的な postgresql コマンドを実行しようとしています。たとえば、次のように入力できるようにしたい

\dt 

代わりに「SHOW TABLES」を意味する

"SELECT * FROM information_schema.tables WHERE table_schema = 'public';"  

これは、psql コマンド ラインから機能します。ただし、Squirrel 内で「\dt」を実行しようとすると、構文エラー メッセージが表示されます。

Error: ERROR: syntax error at or near "\"
Position: 1
SQLState:  42601
ErrorCode: 0

ここで Squirrel 側で何らかの SQL 構文チェックが行われているのではないでしょうか? バックスラッシュで始まる PostgreSQL コマンドを Squirrel SQL で動作させる方法を知っている人はいますか? Postgresプラグインをインストールしました...

ありがとう、

4

1 に答える 1

4

バックスラッシュ コマンドはpsqlクライアントの一部であり、PostgreSQL バックエンド サーバーではありません。それらを SQL のバッチに変換し、フラグを付けpsqlて実行することで確認でき、結果を使用して表示される出力を生成します。psql-E

これは、他のクライアントからこれらのコマンドを使用できないことを意味します。

pg_dumpPostgreSQL プロトコル セッション内から使用できない、またはバックエンド サーバーから同等の機能を取得できないことに加えて、これはちょっとした FAQ です。

この時点で唯一の現実的な選択肢は、information_schemaまたは PostgreSQL のカタログ ( pg_catalog) を理解し、必要な表示を自分で生成できるクライアントを使用することです。人気のある選択肢は PgAdmin-III ですが、私はpsql自分自身にこだわります。

于 2014-01-27T09:28:33.603 に答える