この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。
前提
・RDS(Aurora PostgreSQL)が作成済みであること
・DB接続用OS:RedhatLinux 8.4
※RDS(Aurora PostgreSQL)作成したい場合、下記のブログを参照
CloudFormationでRDS(Aurora PostgreSQL リージョン別クラスター)を構築する
※DB接続について、下記のブログを参照
EC2(Red Hat Linux)からpsqlでAurora(PostgreSQL)に接続する手順
Aurora(PostgreSQL)へのデータ導入方法
テーブルの作成
基本構文
CREATE TABLE テーブル名 (列名 データ型 制約 [, 列名 データ型 制約 …] );
:
[表制約]
※[]内の数は不定
サンプル
CREATE TABLE Staff
(id CHAR(4) NOT NULL,
name TEXT NOT NULL,
age INTEGER ,
PRIMARY KEY (id));
データの挿入(INSERT)
基本構文
INSERT INTO テーブル名 [(列名1 [, 列名2 …] )] VALUES (値1 [, 値2 …] );
サンプル
insert into staff values (1, 'Test1', '20');
実行例:
test_db=> insert into staff values (1, 'Test1', '20');
INSERT 0 1
test_db=>
test_db=>
test_db=> select * from staff;
id | name | age
------+-------+-----
1 | Test1 | 20
(1 row)
test_db=>
CSVファイルをインポート
基本構文
\COPY <table name> FROM ‘location + file_name’ DELIMITER ‘,’ CSV HEADER;
テスト用データ(CSV)
test_data_staff.csv
101,Test101,30
102,Test102,31
103,Test103,32
104,Test104,33
105,Test105,34
106,Test106,35
107,Test107,36
108,Test108,37
109,Test109,38
110,Test110,39
実行例:
test_db=> \copy staff from '/home/ec2-user/test_data_staff.csv' delimiter ',' csv;
COPY 10
test_db=> select * from staff;
id | name | age
------+---------+-----
1 | Test1 | 20
101 | Test101 | 30
102 | Test102 | 31
103 | Test103 | 32
104 | Test104 | 33
105 | Test105 | 34
106 | Test106 | 35
107 | Test107 | 36
108 | Test108 | 37
109 | Test109 | 38
110 | Test110 | 39
(11 rows)
test_db=>
まとめ
今回は、EC2からAurora(PostgreSQL)へのデータ導入方法を紹介しました。次回、大量データ導入のサンプルスクリプトを紹介します。
以上です。
少しでもお役に立てれば幸いです。
参考
https://qiita.com/hiroyuki_mrp/items/10322eeb29bb8e35987f