RDSインスタンスの構築
当記事は、上記記事で使う環境の一部で、移行先DB(ターゲットDB)としてのRDS for PostgreSQLを構築した例。
AWSの管理コンソールからのRDSメニュー
AWSのRDSのメニュー 「データベース」から「データベースの作成」を選択し、DBインスタンスを構築します。
データベースの作成
エンジンのタイプとしてPostgreSQLを選択。
その他は、テスト環境に合った設定を選択。
DBのサブネットグループやセキュリティグループは、他と連携が可能なものを設定。
(この画面ショットは作成前のもの。ここで作成する)
PSQLによるコマンドライン管理操作
PSQLによるDB接続
デフォルトDB「postgres」に接続
PSQL ログイン
psql -h localhost -p 5432 -U postgres -d postgres
ユーザ作成
ユーザ作成
CREATE ROLE apl WITH
LOGIN
CREATEDB
CREATEROLE
INHERIT
NOREPLICATION
CONNECTION LIMIT -1
PASSWORD '[パスワード]';
データベース作成
データベース作成
CREATE DATABASE pgdb01
WITH
OWNER = apl
ENCODING = 'UTF8'
LOCALE_PROVIDER = 'libc'
CONNECTION LIMIT = -1
IS_TEMPLATE = False;
PSQLによるDB接続
PSQL ログイン
psql -h pgdb01.xxxxxxxx.ap-northeast-1.rds.amazonaws.com -p 5432 -U adminpg -d pgdb01
スキーマの作成
create schema apl
スキーマの切り替え
set search_path to apl;
select current_schema;
テーブル作成
予めテーブル作成のDDL(CREATE TABLE文)を準備して、PSQLで実行することでテーブルを作成できます。
オプション Oracle高互換環境の設定
Oracle互換ツール(orafce)の設定
ORAFCEは、ORACLE DB固有の環境依存の機能の一部をPostgreSQLで実行できるツール。
以下の操作で実行できるようになります。
orafceの設定
create extension orafce;
ORAFCEの動作確認
\dx
コマンドで有効なextensionの確認ができます。(orafceが入っていればOK)
orafceの確認
\dx
スキーマ「oracle」を有効にすることで、ORAFCEの機能が使えます。
ここでは、サーチパスにoracleを追加。
SET search_path TO "$user",apl , oracle, pg_catalog;
select next_day(current_date, 'saturday');
サーチパスは、セッション毎に消えてしまうので、以下でユーザに対し固定化します。
orafce実行パスの永続化
ALTER USER apl SET search_path TO "$user",apl , oracle, pg_catalog;