\! gs_ktool -d all
DELETE ALL
\! gs_ktool -g
GENERATE
1
DROP CLIENT MASTER KEY IF EXISTS copyCMK CASCADE;
NOTICE: client master key "copycmk" does not exist
CREATE CLIENT MASTER KEY copyCMK WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/1" , ALGORITHM = AES_256_CBC);
CREATE COLUMN ENCRYPTION KEY copyCEK WITH VALUES (CLIENT_MASTER_KEY = copyCMK, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256);
CREATE TABLE IF NOT EXISTS CopyFromTbl(i0 INT, i1 INT ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = copyCEK, ENCRYPTION_TYPE = DETERMINISTIC) , i2 INT);
COPY copyfromtbl FROM stdin;
-- fail error
COPY copyfromtbl FROM stdin;
ERROR: extra data after last expected column
--?CONTEXT: COPY copyfromtbl, line 1: .*
SELECT * FROM CopyFromTbl ORDER BY i0;
i0 | i1 | i2
----+----+----
5 | 10 | 7
20 | 20 | 8
30 | 10 | 12
50 | 35 | 12
80 | 15 | 23
(5 rows)
COPY copyfromtbl (i0, i1,i2) FROM stdin;
SELECT * FROM CopyFromTbl ORDER BY i0;
i0 | i1 | i2
----+----+----
5 | 10 | 7
5 | 10 | 7
20 | 20 | 8
20 | 20 | 8
30 | 10 | 12
30 | 10 | 12
50 | 35 | 12
50 | 35 | 12
80 | 15 | 23
80 | 15 | 23
(10 rows)
-- false
COPY copyfromtbl (i0, i1,i2) FROM stdin;
COPY copyfromtbl (i0, i1,i2) FROM stdin;
ERROR: COPY from stdin failed: aborted because of read failure
CONTEXT: COPY copyfromtbl, line 1
\.
invalid command \.
\copy copyfromtbl (i0, i1,i2) FROM stdin;
\copy copyfromtbl (i0, i1,i2) FROM stdin;
ERROR: COPY from stdin failed: aborted because of read failure
CONTEXT: COPY copyfromtbl, line 1
\.
invalid command \.
\copy CopyFromTbl FROM '@abs_srcdir@/data/ce_copy_from.csv' WITH DELIMITER ',' CSV HEADER;
SELECT * FROM CopyFromTbl ORDER BY i0;
i0 | i1 | i2
---------+------+----
5 | 10 | 7
5 | 10 | 7
5 | 12 | 7
5 | 12 | 7
20 | 20 | 8
20 | 20 | 8
30 | 10 | 12
30 | 10 | 12
50 | 35 | 12
50 | 35 | 12
80 | 15 | 23
80 | 15 | 23
2450812 | 1388 | 23
2450835 | 1393 | 21
2450845 | 1399 | 22
2450855 | 1400 | 23
(16 rows)
\copy (SELECT * FROM CopyFromTbl ORDER BY i2) TO '@abs_srcdir@/data/ce_copy_to.csv' WITH DELIMITER ',' CSV HEADER;
copy CopyFromTbl FROM '@abs_srcdir@/data/ce_copy_from.csv' WITH DELIMITER ',' CSV HEADER;
ERROR(CLIENT): column encryption does't support copy from server file to table
copy CopyFromTbl (i0, i1,i2) FROM '@abs_srcdir@/data/ce_copy_from.csv' WITH DELIMITER ',' CSV HEADER;
ERROR(CLIENT): column encryption does't support copy from server file to table
copy CopyFromTbl TO '@abs_srcdir@/data/ce_copy_to.csv' WITH DELIMITER ',' CSV HEADER;
ERROR(CLIENT): column encryption does't support copy from server file to table
copy (SELECT * FROM CopyFromTbl ORDER BY i2) TO '@abs_srcdir@/data/ce_copy_to.csv' WITH DELIMITER ',' CSV HEADER;
ERROR(CLIENT): column encryption does't support copy from server file to table
CREATE TABLE IF NOT EXISTS CopyTOTbl(i0 INT, i1 INT ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY=copyCEK, ENCRYPTION_TYPE = DETERMINISTIC) , i2 INT);
\copy CopyToTbl FROM '@abs_srcdir@/data/ce_copy_to.csv' WITH DELIMITER ',' CSV HEADER;
SELECT * FROM CopyToTbl ORDER BY i0;
i0 | i1 | i2
---------+------+----
5 | 10 | 7
5 | 10 | 7
5 | 12 | 7
5 | 12 | 7
20 | 20 | 8
20 | 20 | 8
30 | 10 | 12
30 | 10 | 12
50 | 35 | 12
50 | 35 | 12
80 | 15 | 23
80 | 15 | 23
2450812 | 1388 | 23
2450835 | 1393 | 21
2450845 | 1399 | 22
2450855 | 1400 | 23
(16 rows)
COPY (SELECT * FROM CopyFromTbl ORDER BY i0) TO stdout;
5 10 7
5 10 7
5 12 7
5 12 7
20 20 8
20 20 8
30 10 12
30 10 12
50 35 12
50 35 12
80 15 23
80 15 23
2450812 1388 23
2450835 1393 21
2450845 1399 22
2450855 1400 23
DROP TABLE IF EXISTS encrypted_tb;
NOTICE: table "encrypted_tb" does not exist, skipping
create table encrypted_tb( inv_date_sk integer not null,inv_item_sk integer not null, inv_warehouse_sk integer encrypted with (column_encryption_key = copyCEK, encryption_type = DETERMINISTIC));
\copy encrypted_tb FROM '@abs_srcdir@/data/ce_copy_from.csv' WITH (delimiter',',IGNORE_EXTRA_DATA 'on');
select * FROM encrypted_tb ORDER BY inv_date_sk;
inv_date_sk | inv_item_sk | inv_warehouse_sk
-------------+-------------+------------------
2450811 | 1382 | 24
2450812 | 1388 | 23
2450835 | 1393 | 21
2450845 | 1399 | 22
2450855 | 1400 | 23
(5 rows)
DROP TABLE IF EXISTS encrypted_tb;
DROP TABLE IF EXISTS CopyFromTbl;
DROP TABLE IF EXISTS CopyToTbl;
DROP CLIENT MASTER KEY copyCMK CASCADE;
NOTICE: drop cascades to column encryption key: copycek
\! gs_ktool -d all
DELETE ALL
1