postgresqlビュースクリプトの再構築
2524 ワード
環境;
目的:too_を変更するshortタイプはVARCHAR(30)ここからビューv_change_私はこの表に依存する.
一、インストールスクリプト:
前提:psqlクライアントがインストールされている
プロジェクトアドレスhttps://github.com/Firxiao/pg_recreate_view
操作手順は次のとおりです.
二、構成スクリプト:
編集スクリプトは、次の内容を自分自身に変更して保存して終了します.
三、ヘルプの表示
四、正常に接続できるかどうかをテストする
五、バックアップビュー
削除したビューと依存を自動的にビュー名にバックアップします.bak.sql
六、ビューの削除
テーブルフィールドタイプの変更
七、削除したビューを復元する
八、表タイプの表示
これでテーブルフィールドタイプの変更が完了しました
psql (9.3.6)
"help" .
root=# \d change_me
"public.change_me"
| |
-----------+-----------------------+--------
too_short | character varying(50) |
root=# ALTER TABLE change_me ALTER too_short TYPE VARCHAR(30);
:
: _RETURN v_change_me "too_short"
目的:too_を変更するshortタイプはVARCHAR(30)ここからビューv_change_私はこの表に依存する.
一、インストールスクリプト:
前提:psqlクライアントがインストールされている
プロジェクトアドレスhttps://github.com/Firxiao/pg_recreate_view
#wget https://raw.githubusercontent.com/Firxiao/pg_recreate_view/master/recreate_views.sh
#chmod +x recreate_views.sh
操作手順は次のとおりです.
二、構成スクリプト:
編集スクリプトは、次の内容を自分自身に変更して保存して終了します.
###config
HOST="ip or hostname"
DB_NAME="dbname"
DB_USER="user"
DB_PASSWORD="password"
###
三、ヘルプの表示
#./recreate_views.sh
Useage: recreate_views.sh: -b <view_name> #backup view and dependent objects
Useage: recreate_views.sh: -d <view_name> #delete view and dependent objects
Useage: recreate_views.sh: -c "<sql>" #exec custom sql command
Useage: recreate_views.sh: -r <view_name> #restore view and dependent objects
四、正常に接続できるかどうかをテストする
#./recreate_views.sh -c "\dt"
List of relations
Schema | Name | Type | Owner
--------+-----------+-------+-------
public | change_me | table | root
(1 row)
五、バックアップビュー
#./recreate_views.sh -b v_change_me
backup v_change_me to v_change_me_bak.sql
backup v_change_me_too to v_change_me_bak.sql
削除したビューと依存を自動的にビュー名にバックアップします.bak.sql
六、ビューの削除
#./recreate_views.sh -d v_change_me
: v_change_me_too
DROP VIEW
テーブルフィールドタイプの変更
#./recreate_views.sh -c "ALTER TABLE change_me ALTER too_short TYPE VARCHAR(30);"
ALTER TABLE
七、削除したビューを復元する
#./recreate_views.sh -r v_change_me
SET
SET
SET
SET
SET
SET
SET
: "v_change_me"
SET
CREATE VIEW
SET
SET
SET
SET
SET
SET
SET
: "v_change_me_too"
SET
CREATE VIEW
八、表タイプの表示
./recreate_views.sh -c "\d v_change_me"
View "public.v_change_me"
Column | Type | Modifiers
-----------+-----------------------+-----------
too_short | character varying(30) |
これでテーブルフィールドタイプの変更が完了しました