SI Object Browser for Postgresテーブルへ のカラム追加について

 2020.07.13  株式会社システムインテグレータ

こんにちは。今回はSI Object Browser for Postgres(以下、OB Postgres)を使って、カラム追加時の動作の違いを、生成されるSQL文と照らし合わせながら見ていきたいと思います。

テーブル作成と設定の変更

はじめにベースとなる”STUDENT”テーブルを作成します。

1
-図1.テーブル”STUDENT”作成-

次にテーブル作成時の動作を見るために、メインウィンドウ中のメニューバー>「ツール」>「オプション」から、「定義変更時に実行されるDDL文を表示する」というチェックボックスにチェックを入れておきます。これによって、テーブルの作成・更新が実際に行われる前に、SQL文が一覧で表示されるようになります。

2
-図2. ツール-オプションの変更-

3
-図3. 定義情報-DDL文表示の設定-

準備ができました。ここからはテーブルへのカラム追加時の動作の違いを、実際に動かしながら見ていきましょう。

テーブル末尾に追加する

まず、テーブル末尾にカラム追加した際の動作を見ていきます。既存の”STUDENT”テーブルの末尾に、新たに”STUDENT_GRADE”を追加します。

4
-図4. “STUDENT”テーブル末尾への追加-

それではテーブルを更新してみましょう。

5
-図5. 末尾追加時のSQL文-

SQL文が出力されました。テーブル末尾へのカラム追加では、ADD COLUMNによってテーブル構造の変更が行われることが確認できました。

カラム間に追加する

では既存のカラム間への追加ではどうでしょうか?“STUDENT_BIRTH”と”STUDENT_CLASS”の間に”STUDENT_GRADE”を追加して動作を見てみましょう。

6
-図6. “STUDENT”テーブルのカラム間への追加-

同じようにテーブルを更新してみます。

7
-図7. カラム間追加時のSQL文-

先程とは全く違う動作になりました。カラム間への追加を行うには、事前にテーブル情報を退避させ、一からテーブルの作り直しをする必要があります。再作成された”STUDENT”テーブルには新たに”STUDENT_GRADE”が追加されており、その後は退避させていたテーブル情報をもとに戻す手続きが行われます。

まとめ

いかがでしょうか?
今回はOB Postgresを用いてカラム追加時の動作の違いについて見ていきました。
カラム追加でテーブル構造を変更する際には、追加位置によって異なる動作をすることが確認できたと思います。OBでは自動でテーブル作成・更新が行えますが、このように生成されたSQL文を見て動作を分析してみるのも、一つの使い方かもしれません。是非お試しください。

CTA

RELATED POST関連記事


RECENT POST「OBをトコトン極める」の最新記事


OBをトコトン極める

【製品情報】SI Object Browser for Postgres 18リリースのお知らせ

OBをトコトン極める

PostgreSQL テーブル一覧から様々な情報を見る

OBをトコトン極める

【製品情報】SI Object Browser for Postgres 19リリースのお知らせ

OBをトコトン極める

【製品情報】SI Object Browser for Postgres 20リリースのお知らせ

SI Object Browser for Postgresテーブルへ のカラム追加について