私はゆっくりとMSSQLからPostgreSQLに移行しています。
MSSQLでは、すでに保存されているプロシージャまたは関数の編集を呼び出すことができ、管理シェル(SQL Server Management Studio)にプロシージャのテキストが表示されたため、ソースコードをテキストファイルのどこかに保存する必要はありませんでした。
PostgreSQLで同じことを便利な方法で行う方法は? pgAdminIIIを使用しています。
これは、コードを編集してテストするための便利な方法でもあります。
1)pgAdminから必要なSQL関数のコードを抽出します。
2)関数を含むコードをfile.sqlに配置します。
3)file.sqlと同じディレクトリにShell/batファイルを作成します。
psql -U postgres dbname < file.sql
4)シェル/バットファイルのショートカットを高速パネルに配置します。
5)お気に入りのテキストエディタでファイルを編集し、ショートカットを押して機能を更新します。
pgAdminでは、このオプションを有効にすると、生活が楽になります。
ファイル->オプション..->クエリツール-> [x] SQLをメインフォームからSQLダイアログにコピー
次に、SQLペインに表示されているものはすべて、新しく開いたクエリツールウィンドウにコピーされます。したがって、オブジェクトブラウザで機能を選択し、ツールバーの虫眼鏡アイコンをクリックします。
現在のバージョン1.14.2の未解決のバグに注意してください。デフォルトでは、public
には関数に対するEXECUTE
特権があります。この特権はREVOKE
できます-これはSECURITY DEFINER
関数にのみ役立ちます。しかし、このREVOKE
はpgAdminからのリバースエンジニアリングされたDDLステートメントにありません(NULLが空のACLと混同されました)。このような関数を削除して再作成する場合は注意してください。
オブジェクトツリー(左側)の関数を右クリック->スクリプト->スクリプトCREATE
-または-
新しいSQLクエリを実行します->「関数の作成または置換...」のコードをコピーします
次に、スクリプトを編集して、実行することを忘れないでください
phpPgAdminを使用すると、ストアドプロシージャを編集し、インターフェイス内で編集できます。バージョン管理のために外部に保存することについての質問の下に残されたコメントも強くお勧めします。