
powergresで開発していて、困った点が出たので質問致します。
質問内容
powergresでalter文でカラムの追加・削除等を行うと、
追加したカラムに紐づくテーブルのデータが消えてしまったりすることはあるのか?
(alter文でカラムを削除した時のデータ以外のデータ)
です。
なぜこんな質問をしたかというと
現在webツールからリクエストを送るとカラムの追加・削除ができるという
処理を作成しようとしています。
環境は
・Java1.5
・powergres5.0
・Apache + tomcat
です
個人的な見解では、データ削除・テーブルごと削除の命令を出さない限り
データは消えることなんてないと思っているのですが・・・・
私の能力ではお客さんに論理的に説明したいのですが、
まだ論理的に説明できない状態です。
・データが消える・消えない。
・その詳細な理由がほしいです。
大変申し訳ございませんが、よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
PostgreSQLの話でいいのでしょうか?
>powergresでalter文でカラムの追加・削除等を行うと
PostgreSQLに対しては、どんなalter文が生成されるのでしょうかね???
>追加したカラムに紐づくテーブルのデータが消えてしまったりすることはあるのか? (alter文でカラムを削除した時のデータ以外のデータ)
「紐づく」というのは、いろいろな解釈ができてしまうのですが。。。
列の追加や削除時、そのテーブルの他の列のことですか?
それとも、外部キー等のことでしょうか?
default値がnullの列の追加や削除では、そのテーブルの行削除や他の列が影響を受けることはありません。
一方、default値がnot nullの場合は、全行にdefault値を入れるために、削除&追加が一時的に発生するようです。
後者は、RDBMSによっては、「格納済の行がある状態でのnot nullの列追加」を禁止しているものもあります。
>・その詳細な理由がほしいです。
「詳細な理由」とは、どういう意味でしょうか?
標準SQLやPostgreSQLが、そういう仕様になっている理由ということですか?
「仕様を決めた人に聞いてください」と回答したくなってしまいますが。。。
それとも、「その仕様が書かれているマニュアル等の箇所」という意味でしょうか?
階層型DBやネットワーク型DBでは、レコードの定義やデータをそのままに残しての列の追加や削除という概念がありませんでした。
RDBでは、定義やデータ移行などの方法を大幅に柔軟にしています。その中の一つということでは?
http://www.postgresql.jp/document/pg820doc/html/ …
わかりにくい文で申し訳ございません・・・。
>PostgreSQLに対しては、どんなalter文が生成されるのでしょうかね???
追加のみです。
>「紐づく」というのは、いろいろな解釈ができてしまうのですが。。。
追加のイベントが起こるテーブルです。
>「詳細な理由」とは、どういう意味でしょうか?
追加した時に他のテーブルは消えないという理由でした。
追加する際、default値がnot nullのデータを追加すると
削除&追加が一時的に発生するという情報がわかり大変参考に
なりました。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- iPhone(アイフォーン) 以前使っていたSIMカード抜いた状態のiPhoneの 写真アプリの中のデータを一括削除して 『最近削 2 2022/05/20 03:00
- 教えて!goo ネットに書き込まれた情報は、完全に消えることが不可能ですか? 4 2022/08/15 22:34
- その他(法律) 携帯電話会社に保管されている解約済み個人情報を消去したい 3 2022/08/13 23:23
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- システム 帳票出力を行う単体テストのテストデータが作成できません 2 2023/08/26 21:26
- IT・エンジニアリング 帳票出力を行う単体テストのテストデータが作成できません 2 2023/08/26 21:25
- iPhone(アイフォーン) iPhoneのデータ処理の仕組みに詳しい方に質問です。下の知恵袋とAppleコミュニティで、「ボイス 2 2022/07/16 00:04
- その他(データベース) c言語の問題です。これを踏まえてコーディングしたいのでおしえていただきたいです。 3 2023/08/03 09:27
- その他(クラウドサービス・オンラインストレージ) 個人情報保護の件 1 2023/05/18 12:19
- Windows 10 Mcfeeの「抹消」を実行すれば、そのファイルが完全に消去された分 PCの空き容量は増えますか? 5 2023/05/06 14:40
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
動的に生成したカラムを使ったF...
-
INSERTできるレコード数を制限...
-
PostgreSQLで表結合+DELETEしたい
-
DBから日付順に指定件数の削除...
-
0の除算
-
列が存在しないと言われる
-
powergres(postgres)にalter文...
-
複数キーワードでのあいまい検索
-
COPY時のtimestamp型について
-
SQLで特定データがNULLなら別デ...
-
Excel 2019 のピボットテーブル...
-
「直需」の意味を教えてください
-
Accessでテーブル名やクエリ名...
-
【マクロ】列を折りたたみ非表...
-
エクセルVBAで5行目からオート...
-
複数のレコードを1つのレコード...
-
SUBSTRING 関数に渡した長さの...
-
accessのレポートで元になるテ...
-
ボイスコッド正規形
-
accessでdcount使用法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
列が存在しないと言われる
-
alter tableすると、処理が止ま...
-
長いSQL文を実行するには?
-
DBから日付順に指定件数の削除...
-
PostgreSQLで表結合+DELETEしたい
-
INSERTできるレコード数を制限...
-
COPY時のtimestamp型について
-
0の除算
-
■一番最初に値が入っている(Nul...
-
constraint と index の違い
-
特定の位置が特定の範囲に含ま...
-
INSERTできない
-
SQLで特定データがNULLなら別デ...
-
SQLite:項目が存在しない場合の...
-
powergres(postgres)にalter文...
-
postgreSQLの日付を変数にする...
-
インデックスの削除と、インデ...
-
リストを出力する際にSQLでデー...
-
DB2 「既存カラムへのnot null...
-
CREATE INDEXはどういう時に使...
おすすめ情報