Access method renaming and conditions (#231)

* Renamed pg_tde -> pg_tde_basic

* The "fork" extension is only visible when it's actally built

* Update sysbench tests to use pg_tde_basic
pull/209/head
Zsolt Parragi 1 year ago committed by GitHub
parent f56dda06dc
commit 8a2b8ec3e5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 4
      expected/change_access_method.out
  2. 2
      expected/insert_update_delete.out
  3. 2
      expected/move_large_tuples.out
  4. 4
      expected/multi_insert.out
  5. 2
      expected/non_sorted_off_compact.out
  6. 8
      expected/pgtde_is_encrypted.out
  7. 6
      expected/test_issue_153_fix.out
  8. 2
      expected/toast_decrypt.out
  9. 6
      expected/toast_extended_storage.out
  10. 6
      expected/trigger_on_view.out
  11. 2
      expected/update_compare_indexes.out
  12. 2
      expected/vault_v2_test.out
  13. 67
      pg_tde--1.0.sql
  14. 6
      sql/change_access_method.sql
  15. 2
      sql/insert_update_delete.sql
  16. 2
      sql/move_large_tuples.sql
  17. 4
      sql/multi_insert.sql
  18. 2
      sql/non_sorted_off_compact.sql
  19. 2
      sql/pgtde_is_encrypted.sql
  20. 6
      sql/test_issue_153_fix.sql
  21. 2
      sql/toast_decrypt.sql
  22. 6
      sql/toast_extended_storage.sql
  23. 6
      sql/trigger_on_view.sql
  24. 2
      sql/update_compare_indexes.sql
  25. 2
      sql/vault_v2_test.sql
  26. 10
      src/access/pg_tdeam_handler.c
  27. 10
      src/common/pg_tde_utils.c
  28. 2
      src/include/common/pg_tde_utils.h
  29. 2
      sysbench/oltp_common_tde.lua
  30. 4
      t/001_basic.pl
  31. 4
      t/002_rotate_key.pl
  32. 4
      t/003_remote_config.pl
  33. 4
      t/004_file_config.pl
  34. 2
      t/expected/001_basic.out
  35. 2
      t/expected/002_rotate_key.out
  36. 2
      t/expected/003_remote_config.out
  37. 2
      t/expected/004_file_config.out

@ -15,7 +15,7 @@ SELECT pg_tde_set_principal_key('test-db-principal-key','file-vault');
country_id serial primary key,
country_name text unique not null,
continent text not null
) using pg_tde;
) using pg_tde_basic;
INSERT INTO country_table (country_name, continent)
VALUES ('Japan', 'Asia'),
@ -60,7 +60,7 @@ SELECT pgtde_is_encrypted('country_table');
(1 row)
-- Change it back to encrypted
ALTER TABLE country_table SET access method pg_tde;
ALTER TABLE country_table SET access method pg_tde_basic;
INSERT INTO country_table (country_name, continent)
VALUES ('China', 'Asia'),
('Brazil', 'South America'),

@ -16,7 +16,7 @@ CREATE TABLE albums (
artist VARCHAR(256),
title TEXT NOT NULL,
released DATE NOT NULL
) USING pg_tde;
) USING pg_tde_basic;
INSERT INTO albums (artist, title, released) VALUES
('Graindelavoix', 'Jisquin The Undead', '2021-06-12'),
('Graindelavoix', 'Tenebrae Responsoria - Carlo Gesualdo', '2019-08-06'),

@ -16,7 +16,7 @@ CREATE TABLE sbtest2(
id SERIAL,
k TEXT STORAGE PLAIN,
PRIMARY KEY (id)
) USING pg_tde;
) USING pg_tde_basic;
INSERT INTO sbtest2(k) VALUES(repeat('a', 2500));
INSERT INTO sbtest2(k) VALUES(repeat('b', 2500));
INSERT INTO sbtest2(k) VALUES(repeat('c', 2500));

@ -18,7 +18,7 @@ CREATE TABLE albums (
artist_id INTEGER,
title TEXT NOT NULL,
released DATE NOT NULL
) USING pg_tde;
) USING pg_tde_basic;
COPY albums FROM stdin CSV HEADER;
SELECT * FROM albums;
album_id | artist_id | title | released
@ -69,7 +69,7 @@ CREATE TABLE Towns (
name TEXT NOT NULL,
department VARCHAR(4) NOT NULL,
UNIQUE (code, department)
) USING pg_tde;
) USING pg_tde_basic;
COPY towns (id, code, article, name, department) FROM stdin;
SELECT count(*) FROM towns;
count

@ -19,7 +19,7 @@ CREATE TABLE sbtest1(
id SERIAL,
k INTEGER DEFAULT '0' NOT NULL,
PRIMARY KEY (id)
) USING pg_tde;
) USING pg_tde_basic;
INSERT INTO sbtest1(k) VALUES
(1),
(2),

@ -18,16 +18,16 @@ CREATE TABLE test_enc(
id SERIAL,
k INTEGER DEFAULT '0' NOT NULL,
PRIMARY KEY (id)
) USING pg_tde;
) USING pg_tde_basic;
CREATE TABLE test_norm(
id SERIAL,
k INTEGER DEFAULT '0' NOT NULL,
PRIMARY KEY (id)
) USING heap;
SELECT amname FROM pg_class INNER JOIN pg_am ON pg_am.oid = pg_class.relam WHERE relname = 'test_enc';
amname
--------
pg_tde
amname
--------------
pg_tde_basic
(1 row)
SELECT amname FROM pg_class INNER JOIN pg_am ON pg_am.oid = pg_class.relam WHERE relname = 'test_norm';

@ -31,7 +31,7 @@ CREATE TABLE dept (
deptno NUMERIC(2) NOT NULL CONSTRAINT dept_pk PRIMARY KEY,
dname VARCHAR(14) CONSTRAINT dept_dname_uq UNIQUE,
loc VARCHAR(13)
)using pg_tde;
)using pg_tde_basic;
--
-- Create the 'emp' table
--
@ -45,7 +45,7 @@ CREATE TABLE emp (
comm NUMERIC(7,2),
deptno NUMERIC(2) CONSTRAINT emp_ref_dept_fk
REFERENCES dept(deptno)
)using pg_tde;
)using pg_tde_basic;
--
-- Create the 'jobhist' table
--
@ -64,7 +64,7 @@ CREATE TABLE jobhist (
CONSTRAINT jobhist_ref_dept_fk FOREIGN KEY (deptno)
REFERENCES dept (deptno) ON DELETE SET NULL,
CONSTRAINT jobhist_date_chk CHECK (startdate <= enddate)
)using pg_tde;
)using pg_tde_basic;
--
-- Create the 'salesemp' view
--

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -14,7 +14,7 @@ SELECT pg_tde_set_principal_key('test-db-principal-key','file-vault');
--
-- 2 -- Test triggers on a join view
--
SET default_table_access_method TO 'pg_tde';
SET default_table_access_method TO 'pg_tde_basic';
DROP VIEW IF EXISTS city_view CASCADE;
NOTICE: view "city_view" does not exist, skipping
DROP TABLE IF exists country_table CASCADE;
@ -25,7 +25,7 @@ NOTICE: table "city_table" does not exist, skipping
country_id serial primary key,
country_name text unique not null,
continent text not null
) using pg_tde;
) using pg_tde_basic;
INSERT INTO country_table (country_name, continent)
VALUES ('Japan', 'Asia'),
@ -45,7 +45,7 @@ NOTICE: table "city_table" does not exist, skipping
city_name text not null,
population bigint,
country_id int references country_table
) using pg_tde;
) using pg_tde_basic;
CREATE VIEW city_view AS
SELECT city_id, city_name, population, country_name, continent

@ -13,7 +13,7 @@ SELECT pg_tde_set_principal_key('test-db-principal-key','file-vault');
DROP TABLE IF EXISTS pvactst;
NOTICE: table "pvactst" does not exist, skipping
CREATE TABLE pvactst (i INT, a INT[], p POINT) USING pg_tde;
CREATE TABLE pvactst (i INT, a INT[], p POINT) USING pg_tde_basic;
INSERT INTO pvactst SELECT i, array[1,2,3], point(i, i+1) FROM generate_series(1,1000) i;
CREATE INDEX spgist_pvactst ON pvactst USING spgist (p);
UPDATE pvactst SET i = i WHERE i < 1000;

@ -16,7 +16,7 @@ CREATE TABLE test_enc(
id SERIAL,
k INTEGER DEFAULT '0' NOT NULL,
PRIMARY KEY (id)
) USING pg_tde;
) USING pg_tde_basic;
INSERT INTO test_enc (k) VALUES (1);
INSERT INTO test_enc (k) VALUES (2);
INSERT INTO test_enc (k) VALUES (3);

@ -57,13 +57,7 @@ $$
LANGUAGE SQL;
-- Table access method
CREATE FUNCTION pg_tdeam_handler(internal)
RETURNS table_am_handler
AS 'MODULE_PATHNAME'
LANGUAGE C;
-- Table access method
CREATE FUNCTION pg_tde2am_handler(internal)
CREATE FUNCTION pg_tdeam_basic_handler(internal)
RETURNS table_am_handler
AS 'MODULE_PATHNAME'
LANGUAGE C;
@ -75,7 +69,7 @@ SELECT EXISTS (
SELECT 1
FROM pg_catalog.pg_class
WHERE relname = table_name
AND relam = (SELECT oid FROM pg_catalog.pg_am WHERE amname = 'pg_tde')
AND relam = (SELECT oid FROM pg_catalog.pg_am WHERE amname = 'pg_tde_basic')
)$$
LANGUAGE SQL;
@ -107,29 +101,42 @@ LANGUAGE C;
CREATE FUNCTION pg_tde_version() RETURNS TEXT AS 'MODULE_PATHNAME' LANGUAGE C;
-- Access method
CREATE ACCESS METHOD pg_tde TYPE TABLE HANDLER pg_tdeam_handler;
COMMENT ON ACCESS METHOD pg_tde IS 'pg_tde table access method';
CREATE ACCESS METHOD pg_tde2 TYPE TABLE HANDLER pg_tde2am_handler;
COMMENT ON ACCESS METHOD pg_tde2 IS 'pg_tde2 table access method';
CREATE ACCESS METHOD pg_tde_basic TYPE TABLE HANDLER pg_tdeam_basic_handler;
COMMENT ON ACCESS METHOD pg_tde_basic IS 'pg_tde table access method';
DO $$
BEGIN
-- Table access method
CREATE FUNCTION pg_tdeam_handler(internal)
RETURNS table_am_handler
AS 'MODULE_PATHNAME'
LANGUAGE C;
CREATE ACCESS METHOD pg_tde TYPE TABLE HANDLER pg_tdeam_handler;
COMMENT ON ACCESS METHOD pg_tde IS 'pg_tde table access method';
CREATE OR REPLACE FUNCTION pg_tde_ddl_command_start_capture()
RETURNS event_trigger
AS 'MODULE_PATHNAME'
LANGUAGE C;
CREATE OR REPLACE FUNCTION pg_tde_ddl_command_end_capture()
RETURNS event_trigger
AS 'MODULE_PATHNAME'
LANGUAGE C;
CREATE EVENT TRIGGER pg_tde_trigger_create_index
ON ddl_command_start
EXECUTE FUNCTION pg_tde_ddl_command_start_capture();
CREATE EVENT TRIGGER pg_tde_trigger_create_index_2
ON ddl_command_end
EXECUTE FUNCTION pg_tde_ddl_command_end_capture();
EXCEPTION WHEN OTHERS THEN
NULL;
END;
$$;
-- Per database extension initialization
SELECT pg_tde_extension_initialize();
CREATE OR REPLACE FUNCTION pg_tde_ddl_command_start_capture()
RETURNS event_trigger
AS 'MODULE_PATHNAME'
LANGUAGE C;
CREATE OR REPLACE FUNCTION pg_tde_ddl_command_end_capture()
RETURNS event_trigger
AS 'MODULE_PATHNAME'
LANGUAGE C;
CREATE EVENT TRIGGER pg_tde_trigger_create_index
ON ddl_command_start
EXECUTE FUNCTION pg_tde_ddl_command_start_capture();
CREATE EVENT TRIGGER pg_tde_trigger_create_index_2
ON ddl_command_end
EXECUTE FUNCTION pg_tde_ddl_command_end_capture();

@ -7,7 +7,7 @@ SELECT pg_tde_set_principal_key('test-db-principal-key','file-vault');
country_id serial primary key,
country_name text unique not null,
continent text not null
) using pg_tde;
) using pg_tde_basic;
INSERT INTO country_table (country_name, continent)
VALUES ('Japan', 'Asia'),
@ -30,7 +30,7 @@ SELECT * FROM country_table;
SELECT pgtde_is_encrypted('country_table');
-- Change it back to encrypted
ALTER TABLE country_table SET access method pg_tde;
ALTER TABLE country_table SET access method pg_tde_basic;
INSERT INTO country_table (country_name, continent)
VALUES ('China', 'Asia'),
@ -40,4 +40,4 @@ SELECT * FROM country_table;
SELECT pgtde_is_encrypted('country_table');
DROP TABLE country_table;
DROP EXTENSION pg_tde;
DROP EXTENSION pg_tde;

@ -8,7 +8,7 @@ CREATE TABLE albums (
artist VARCHAR(256),
title TEXT NOT NULL,
released DATE NOT NULL
) USING pg_tde;
) USING pg_tde_basic;
INSERT INTO albums (artist, title, released) VALUES
('Graindelavoix', 'Jisquin The Undead', '2021-06-12'),

@ -8,7 +8,7 @@ CREATE TABLE sbtest2(
id SERIAL,
k TEXT STORAGE PLAIN,
PRIMARY KEY (id)
) USING pg_tde;
) USING pg_tde_basic;
INSERT INTO sbtest2(k) VALUES(repeat('a', 2500));
INSERT INTO sbtest2(k) VALUES(repeat('b', 2500));

@ -10,7 +10,7 @@ CREATE TABLE albums (
artist_id INTEGER,
title TEXT NOT NULL,
released DATE NOT NULL
) USING pg_tde;
) USING pg_tde_basic;
COPY albums FROM stdin CSV HEADER;
album_id,artist_id,title,released
@ -56,7 +56,7 @@ CREATE TABLE Towns (
name TEXT NOT NULL,
department VARCHAR(4) NOT NULL,
UNIQUE (code, department)
) USING pg_tde;
) USING pg_tde_basic;
COPY towns (id, code, article, name, department) FROM stdin;
1 001 some_text Abergement-Clémenciat 01

@ -10,7 +10,7 @@ CREATE TABLE sbtest1(
id SERIAL,
k INTEGER DEFAULT '0' NOT NULL,
PRIMARY KEY (id)
) USING pg_tde;
) USING pg_tde_basic;
INSERT INTO sbtest1(k) VALUES
(1),

@ -9,7 +9,7 @@ CREATE TABLE test_enc(
id SERIAL,
k INTEGER DEFAULT '0' NOT NULL,
PRIMARY KEY (id)
) USING pg_tde;
) USING pg_tde_basic;
CREATE TABLE test_norm(
id SERIAL,

@ -22,7 +22,7 @@ CREATE TABLE dept (
deptno NUMERIC(2) NOT NULL CONSTRAINT dept_pk PRIMARY KEY,
dname VARCHAR(14) CONSTRAINT dept_dname_uq UNIQUE,
loc VARCHAR(13)
)using pg_tde;
)using pg_tde_basic;
--
-- Create the 'emp' table
--
@ -36,7 +36,7 @@ CREATE TABLE emp (
comm NUMERIC(7,2),
deptno NUMERIC(2) CONSTRAINT emp_ref_dept_fk
REFERENCES dept(deptno)
)using pg_tde;
)using pg_tde_basic;
--
-- Create the 'jobhist' table
--
@ -55,7 +55,7 @@ CREATE TABLE jobhist (
CONSTRAINT jobhist_ref_dept_fk FOREIGN KEY (deptno)
REFERENCES dept (deptno) ON DELETE SET NULL,
CONSTRAINT jobhist_date_chk CHECK (startdate <= enddate)
)using pg_tde;
)using pg_tde_basic;
--
-- Create the 'salesemp' view
--

@ -3,7 +3,7 @@ CREATE EXTENSION pg_tde;
SELECT pg_tde_add_key_provider_file('file-vault','/tmp/pg_tde_test_keyring.per');
SELECT pg_tde_set_principal_key('test-db-principal-key','file-vault');
CREATE TABLE src (f1 TEXT STORAGE EXTERNAL) USING pg_tde;
CREATE TABLE src (f1 TEXT STORAGE EXTERNAL) USING pg_tde_basic;
INSERT INTO src VALUES(repeat('abcdeF',1000));
SELECT * FROM src;

File diff suppressed because one or more lines are too long

@ -6,7 +6,7 @@ SELECT pg_tde_set_principal_key('test-db-principal-key','file-vault');
--
-- 2 -- Test triggers on a join view
--
SET default_table_access_method TO 'pg_tde';
SET default_table_access_method TO 'pg_tde_basic';
DROP VIEW IF EXISTS city_view CASCADE;
DROP TABLE IF exists country_table CASCADE;
@ -16,7 +16,7 @@ DROP TABLE IF exists city_table cascade;
country_id serial primary key,
country_name text unique not null,
continent text not null
) using pg_tde;
) using pg_tde_basic;
INSERT INTO country_table (country_name, continent)
VALUES ('Japan', 'Asia'),
@ -29,7 +29,7 @@ DROP TABLE IF exists city_table cascade;
city_name text not null,
population bigint,
country_id int references country_table
) using pg_tde;
) using pg_tde_basic;
CREATE VIEW city_view AS
SELECT city_id, city_name, population, country_name, continent

@ -4,7 +4,7 @@ SELECT pg_tde_add_key_provider_file('file-vault','/tmp/pg_tde_test_keyring.per')
SELECT pg_tde_set_principal_key('test-db-principal-key','file-vault');
DROP TABLE IF EXISTS pvactst;
CREATE TABLE pvactst (i INT, a INT[], p POINT) USING pg_tde;
CREATE TABLE pvactst (i INT, a INT[], p POINT) USING pg_tde_basic;
INSERT INTO pvactst SELECT i, array[1,2,3], point(i, i+1) FROM generate_series(1,1000) i;
CREATE INDEX spgist_pvactst ON pvactst USING spgist (p);
UPDATE pvactst SET i = i WHERE i < 1000;

@ -8,7 +8,7 @@ CREATE TABLE test_enc(
id SERIAL,
k INTEGER DEFAULT '0' NOT NULL,
PRIMARY KEY (id)
) USING pg_tde;
) USING pg_tde_basic;
INSERT INTO test_enc (k) VALUES (1);
INSERT INTO test_enc (k) VALUES (2);

@ -54,8 +54,10 @@
#include "utils/builtins.h"
#include "utils/rel.h"
PG_FUNCTION_INFO_V1(pg_tdeam_basic_handler);
#ifdef PERCONA_FORK
PG_FUNCTION_INFO_V1(pg_tdeam_handler);
PG_FUNCTION_INFO_V1(pg_tde2am_handler);
#endif
static void reform_and_rewrite_tuple(HeapTuple tuple,
@ -2641,16 +2643,18 @@ GetPGTdeamTableAmRoutine(void)
}
Datum
pg_tdeam_handler(PG_FUNCTION_ARGS)
pg_tdeam_basic_handler(PG_FUNCTION_ARGS)
{
PG_RETURN_POINTER(&pg_tdeam_methods);
}
#ifdef PERCONA_FORK
Datum
pg_tde2am_handler(PG_FUNCTION_ARGS)
pg_tdeam_handler(PG_FUNCTION_ARGS)
{
PG_RETURN_POINTER(GetHeapamTableAmRoutine());
}
#endif
bool
is_pg_tde_rel(Relation rel)

@ -29,15 +29,15 @@
#include "unistd.h"
Oid
get_tde_table_am_oid(void)
get_tde_basic_table_am_oid(void)
{
return get_table_am_oid("pg_tde", false);
return get_table_am_oid("pg_tde_basic", false);
}
Oid
get_tde2_table_am_oid(void)
get_tde_table_am_oid(void)
{
return get_table_am_oid("pg_tde2", false);
return get_table_am_oid("pg_tde", false);
}
/*
@ -50,7 +50,7 @@ get_all_tde_tables(void)
SysScanDesc scan;
HeapTuple tuple;
List* tde_tables = NIL;
Oid am_oid = get_tde_table_am_oid();
Oid am_oid = get_tde_basic_table_am_oid();
/* Open the pg_class table */
pg_class = table_open(RelationRelationId, AccessShareLock);

@ -12,8 +12,8 @@
#include "nodes/pg_list.h"
#include "common/relpath.h"
extern Oid get_tde_basic_table_am_oid(void);
extern Oid get_tde_table_am_oid(void);
extern Oid get_tde2_table_am_oid(void);
extern List *get_all_tde_tables(void);
extern int get_tde_tables_count(void);

@ -191,7 +191,7 @@ CREATE TABLE sbtest%d(
c CHAR(120) DEFAULT '' NOT NULL,
pad CHAR(60) DEFAULT '' NOT NULL,
%s (id)
) USING pg_tde %s %s]],
) USING pg_tde_basic %s %s]],
table_num, id_def, id_index_def, engine_def, extra_table_options)
con:query(query)

@ -31,7 +31,7 @@ ok($cmdret == 0, "CREATE PGTDE EXTENSION");
PGTDE::append_to_file($stdout);
$rt_value = $node->psql('postgres', 'CREATE TABLE test_enc(id SERIAL,k INTEGER,PRIMARY KEY (id)) USING pg_tde;', extra_params => ['-a']);
$rt_value = $node->psql('postgres', 'CREATE TABLE test_enc(id SERIAL,k INTEGER,PRIMARY KEY (id)) USING pg_tde_basic;', extra_params => ['-a']);
ok($rt_value == 3, "Failing query");
@ -45,7 +45,7 @@ ok($rt_value == 1, "Restart Server");
$rt_value = $node->psql('postgres', "SELECT pg_tde_add_key_provider_file('file-vault','/tmp/pg_tde_test_keyring.per');", extra_params => ['-a']);
$rt_value = $node->psql('postgres', "SELECT pg_tde_set_principal_key('test-db-principal-key','file-vault');", extra_params => ['-a']);
$stdout = $node->safe_psql('postgres', 'CREATE TABLE test_enc(id SERIAL,k INTEGER,PRIMARY KEY (id)) USING pg_tde;', extra_params => ['-a']);
$stdout = $node->safe_psql('postgres', 'CREATE TABLE test_enc(id SERIAL,k INTEGER,PRIMARY KEY (id)) USING pg_tde_basic;', extra_params => ['-a']);
PGTDE::append_to_file($stdout);
$stdout = $node->safe_psql('postgres', 'INSERT INTO test_enc (k) VALUES (5),(6);', extra_params => ['-a']);

@ -31,7 +31,7 @@ ok($cmdret == 0, "CREATE PGTDE EXTENSION");
PGTDE::append_to_file($stdout);
$rt_value = $node->psql('postgres', 'CREATE TABLE test_enc(id SERIAL,k INTEGER,PRIMARY KEY (id)) USING pg_tde;', extra_params => ['-a']);
$rt_value = $node->psql('postgres', 'CREATE TABLE test_enc(id SERIAL,k INTEGER,PRIMARY KEY (id)) USING pg_tde_basic;', extra_params => ['-a']);
ok($rt_value == 3, "Failing query");
@ -46,7 +46,7 @@ $rt_value = $node->psql('postgres', "SELECT pg_tde_add_key_provider_file('file-v
$rt_value = $node->psql('postgres', "SELECT pg_tde_add_key_provider_file('file-2','/tmp/pg_tde_test_keyring_2.per');", extra_params => ['-a']);
$rt_value = $node->psql('postgres', "SELECT pg_tde_set_principal_key('test-db-principal-key','file-vault');", extra_params => ['-a']);
$stdout = $node->safe_psql('postgres', 'CREATE TABLE test_enc(id SERIAL,k INTEGER,PRIMARY KEY (id)) USING pg_tde;', extra_params => ['-a']);
$stdout = $node->safe_psql('postgres', 'CREATE TABLE test_enc(id SERIAL,k INTEGER,PRIMARY KEY (id)) USING pg_tde_basic;', extra_params => ['-a']);
PGTDE::append_to_file($stdout);
$stdout = $node->safe_psql('postgres', 'INSERT INTO test_enc (k) VALUES (5),(6);', extra_params => ['-a']);

@ -73,7 +73,7 @@ PGTDE::append_to_file($stdout);
$rt_value = $node->psql('postgres', "SELECT pg_tde_add_key_provider_file('file-provider', json_object( 'type' VALUE 'remote', 'url' VALUE 'http://localhost:8888/hello' ));", extra_params => ['-a']);
$rt_value = $node->psql('postgres', "SELECT pg_tde_set_principal_key('test-db-principal-key','file-provider');", extra_params => ['-a']);
$stdout = $node->safe_psql('postgres', 'CREATE TABLE test_enc2(id SERIAL,k INTEGER,PRIMARY KEY (id)) USING pg_tde;', extra_params => ['-a']);
$stdout = $node->safe_psql('postgres', 'CREATE TABLE test_enc2(id SERIAL,k INTEGER,PRIMARY KEY (id)) USING pg_tde_basic;', extra_params => ['-a']);
PGTDE::append_to_file($stdout);
$stdout = $node->safe_psql('postgres', 'INSERT INTO test_enc2 (k) VALUES (5),(6);', extra_params => ['-a']);
@ -109,4 +109,4 @@ my $compare = PGTDE->compare_results();
is($compare,0,"Compare Files: $PGTDE::expected_filename_with_path and $PGTDE::out_filename_with_path files.");
# Done testing for this testcase file.
done_testing();
done_testing();

@ -37,7 +37,7 @@ PGTDE::append_to_file($stdout);
$rt_value = $node->psql('postgres', "SELECT pg_tde_add_key_provider_file('file-provider', json_object( 'type' VALUE 'file', 'path' VALUE '/tmp/datafile-location' ));", extra_params => ['-a']);
$rt_value = $node->psql('postgres', "SELECT pg_tde_set_principal_key('test-db-principal-key','file-provider');", extra_params => ['-a']);
my $stdout = $node->safe_psql('postgres', 'CREATE TABLE test_enc1(id SERIAL,k INTEGER,PRIMARY KEY (id)) USING pg_tde;', extra_params => ['-a']);
my $stdout = $node->safe_psql('postgres', 'CREATE TABLE test_enc1(id SERIAL,k INTEGER,PRIMARY KEY (id)) USING pg_tde_basic;', extra_params => ['-a']);
PGTDE::append_to_file($stdout);
$stdout = $node->safe_psql('postgres', 'INSERT INTO test_enc1 (k) VALUES (5),(6);', extra_params => ['-a']);
@ -71,4 +71,4 @@ my $compare = PGTDE->compare_results();
is($compare,0,"Compare Files: $PGTDE::expected_filename_with_path and $PGTDE::out_filename_with_path files.");
# Done testing for this testcase file.
done_testing();
done_testing();

@ -1,6 +1,6 @@
CREATE EXTENSION pg_tde;
-- server restart
CREATE TABLE test_enc(id SERIAL,k INTEGER,PRIMARY KEY (id)) USING pg_tde;
CREATE TABLE test_enc(id SERIAL,k INTEGER,PRIMARY KEY (id)) USING pg_tde_basic;
INSERT INTO test_enc (k) VALUES (5),(6);
SELECT * FROM test_enc ORDER BY id ASC;
1|5

@ -1,6 +1,6 @@
CREATE EXTENSION pg_tde;
-- server restart
CREATE TABLE test_enc(id SERIAL,k INTEGER,PRIMARY KEY (id)) USING pg_tde;
CREATE TABLE test_enc(id SERIAL,k INTEGER,PRIMARY KEY (id)) USING pg_tde_basic;
INSERT INTO test_enc (k) VALUES (5),(6);
SELECT * FROM test_enc ORDER BY id ASC;
1|5

@ -1,5 +1,5 @@
CREATE EXTENSION pg_tde;
CREATE TABLE test_enc2(id SERIAL,k INTEGER,PRIMARY KEY (id)) USING pg_tde;
CREATE TABLE test_enc2(id SERIAL,k INTEGER,PRIMARY KEY (id)) USING pg_tde_basic;
INSERT INTO test_enc2 (k) VALUES (5),(6);
SELECT * FROM test_enc2 ORDER BY id ASC;
1|5

@ -1,5 +1,5 @@
CREATE EXTENSION pg_tde;
CREATE TABLE test_enc1(id SERIAL,k INTEGER,PRIMARY KEY (id)) USING pg_tde;
CREATE TABLE test_enc1(id SERIAL,k INTEGER,PRIMARY KEY (id)) USING pg_tde_basic;
INSERT INTO test_enc1 (k) VALUES (5),(6);
SELECT * FROM test_enc1 ORDER BY id ASC;
1|5

Loading…
Cancel
Save