狠狠撸
Submit Search
自社パッケージのDBをSQL ServerからPostgreSQLに移行してみた
?
Download as PPTX, PDF
?
1 like
?
858 views
Taiji Uchida
Follow
自社パッケージのオープンソースソフトウェア「プリザンター」をSQL ServerからPostgreSQLに移行してみました。その際に気が付いたSQLの差異について発表します。
Read less
Read more
1 of 11
Download now
Download to read offline
More Related Content
自社パッケージのDBをSQL ServerからPostgreSQLに移行してみた
1.
SQL ServerからPostgreSQLに移行してみた 自社パッケージのDBを 株式会社インプリム CEO 内田
太志 第16回 PostgreSQLアンカンファレンス
2.
自己紹介 中野が大好き? 株式会社インプリム CEO 内田 太志 1998年
株式会社富士通エフサス(約19年) 2017年 株式会社インプリム設立 ~ 現在4期目 ? 主にインフラの運用、保守、プロマネ ? 効率化大好き! プログラミング好き ? ASP.NET / SQL Server / VB オープンソースのWebデータベース プリザンター開発中!
3.
プリザンターとは ノンプログラミングで素早く簡単に業務アプリケーションが作成で きるオープンソースソフトウェアです。 Excel や
E-mail で行ってい 務を高機能なWebシステムに置き換えることが可能です。 担当者顧客問合せ 案件 保守 自由に項目が設定 できる編集画面 見やすく使い勝手 のよい一覧画面 マウス操作で 簡単に紐づけ いつでも柔軟 に拡張可能 紐づけの階層 に制限なし 関連データを CSV出力可能 Web画面を素早く簡単に作成 複数のデータを自在に紐づけ
4.
移行のイメージ
5.
プリザンターの顿叠アクセス
6.
DEMO
8.
① セットアップ時のスキーマ作成 No 項目
SQL Server PostgreSQL 1 スキーマ情報の取得 sys.columns / sys.tables / sys.types information_schema.columns 2 テーブル名 sys.tables.name table_name 3 カラム名 sys.columns.name column_name 4 タイプ名称 sys.types.name udt_name 5 データ長 sys.columns.max_length character_octet_length 6 有効桁数 / 小数点以下桁数 sys.columns.precision / sys.columns.scale numeric_precision / numeric_scale 7 NULL許可 sys.columns.is_nullable is_nullable = 'YES' 8 IDENTITY sys.columns.is_identity is_identity = 'YES' 9 PK名、インデックス名 最大128Byte 最大63Byte 10 降順インデックス 更新日時降順を設定 昇順で設定しておきorder byで 対応 11 ユーザ作成 create login create user
9.
② Webアプリによるデータアクセス 項目 SQL
Server PostgreSQL 1 変数名 @変数名 変数名 2 カラム名 大文字?小文字混在可能 [ColumnName] で指定 小文字 “ColumnName” で指定 3 上位X件 top x limit x 4 作用した行の取得 @@rowcount RETURNING 5 IDの取得 @@identity RETURNING id 6 getdate関数 getdate関数 CURRENT_TIMESTAMP 7 dateadd関数 dateadd関数 + interval '3 day' 8 try_cast関数 try_cast関数 case式 9 Bool 1 / 0 true / false 10 ログイン時のユーザ名検索 like演算子で照合 lower関数で小文字に変換して 照合 11 データベースサイズ EXEC sp_spaceused pg_database_size 12 フルテキスト検索 述語containsで検索 pg_trgmモジュールを使用し類 似文字列を高速検索
10.
③ SQL Serverからのデータ移行 No
項目 SQL Server PostgreSQL 1 C# 接続クラス SqlConnection NpgsqlConnection 2 C# コマンドクラス SqlCommand NpgsqlCommand 3 シーケンス SET IDENTITY_INSERT TableName ON/OFF INSERT後にsetval
11.
ご清聴ありがとうございました プリザンター 検索
Download