私はいくつかのプロジェクトで mysql を使用してきましたが、最近 postgresql に移行しました。mysql でテーブルまたはフィールドを変更すると、対応するクエリがページに表示されます。しかし、postgresql にはそのような機能はありませんでした (間違っていたらすみません)。クエリはすぐに利用できるので、(クエリを明示的に入力せずに) ローカル データベースで何かをテストし、印刷されたクエリをコピーしてサーバーで実行することは非常に役に立ちました。今では、すべてのトリックを手動で行う必要があるようです。私はクエリ操作に精通していますが、かなり時間がかかる場合があります。誰でも私を助けることができますか?テーブルに変更が加えられるたびに、対応するクエリをpostgresql(mysqlのように)に表示するにはどうすればよいですか?
2 に答える
1
コマンドライン、PgAdmin3、またはその他のIDEでSELECT * FROM ...
結果を取得する方法に関係なく、新しく追加された列が出力に含まれない理由はありません。psql
新しい列を追加した後、これらの変更が他のウィンドウまたは SQL コマンドで開いているトランザクションに残っている可能性があります。そのようなトランザクションは必ず COMMIT してください。データまたはスキーマへの変更は、トランザクションがコミットされるまで、他のデータベース クライアントには表示されないことに注意してください。
それでも IDE に変更が表示されない場合は、テーブルのリストを更新する必要があるか、そのオプションが利用できない場合は IDE を再起動してください。それでもうまくいかない場合は、より良い IDE を使用する必要があります。
使用SELECT field1, field2, ... FROM ...
している場合は、新しいフィールドを SELECT ステートメントに追加する必要がありますが、これは、MySQL を含む他の SQL 実装にも当てはまります。
于 2012-11-24T21:03:53.347 に答える
0
PostgreSQLのLISTEN / NOTIFYメカニズムを使用して、データベーススキーマの変更についてクライアントに通知できます。
于 2012-11-24T22:56:16.087 に答える