In the previous commit skip_const was going ahead the space thus removing the starting quote. Also fixed (and tested) trailing part after the tablespace name, e.g. the WHERE clause.
77 lines
2.3 KiB
Plaintext
77 lines
2.3 KiB
Plaintext
SET client_min_messages = warning;
|
|
--
|
|
-- Tablespace features tests
|
|
--
|
|
-- Note: in order to pass this test you must create a tablespace called 'testts'
|
|
--
|
|
SELECT spcname FROM pg_tablespace WHERE spcname = 'testts';
|
|
spcname
|
|
---------
|
|
testts
|
|
(1 row)
|
|
|
|
-- If the query above failed you must create the 'testts' tablespace;
|
|
CREATE TABLE testts1 (id serial primary key, data text);
|
|
CREATE INDEX testts1_partial_idx on testts1 (id) where (id > 0);
|
|
INSERT INTO testts1 (data) values ('a');
|
|
INSERT INTO testts1 (data) values ('b');
|
|
INSERT INTO testts1 (data) values ('c');
|
|
-- can move the tablespace from default
|
|
\! pg_repack --dbname=contrib_regression --no-order --table=testts1 --tablespace testts
|
|
SELECT relname, spcname
|
|
FROM pg_class JOIN pg_tablespace ts ON ts.oid = reltablespace
|
|
WHERE relname ~ '^testts1'
|
|
ORDER BY relname;
|
|
relname | spcname
|
|
---------+---------
|
|
testts1 | testts
|
|
(1 row)
|
|
|
|
SELECT * from testts1 order by id;
|
|
id | data
|
|
----+------
|
|
1 | a
|
|
2 | b
|
|
3 | c
|
|
(3 rows)
|
|
|
|
-- tablespace stays where it is
|
|
\! pg_repack --dbname=contrib_regression --no-order --table=testts1
|
|
SELECT relname, spcname
|
|
FROM pg_class JOIN pg_tablespace ts ON ts.oid = reltablespace
|
|
WHERE relname ~ '^testts1'
|
|
ORDER BY relname;
|
|
relname | spcname
|
|
---------+---------
|
|
testts1 | testts
|
|
(1 row)
|
|
|
|
-- can move the ts back to default
|
|
\! pg_repack --dbname=contrib_regression --no-order --table=testts1 -s pg_default
|
|
SELECT relname, spcname
|
|
FROM pg_class JOIN pg_tablespace ts ON ts.oid = reltablespace
|
|
WHERE relname ~ '^testts1'
|
|
ORDER BY relname;
|
|
relname | spcname
|
|
---------+---------
|
|
(0 rows)
|
|
|
|
-- can move the table together with the indexes
|
|
\! pg_repack --dbname=contrib_regression --no-order --table=testts1 --tablespace testts --moveidx
|
|
SELECT relname, spcname
|
|
FROM pg_class JOIN pg_tablespace ts ON ts.oid = reltablespace
|
|
WHERE relname ~ '^testts1'
|
|
ORDER BY relname;
|
|
relname | spcname
|
|
---------------------+---------
|
|
testts1 | testts
|
|
testts1_partial_idx | testts
|
|
testts1_pkey | testts
|
|
(3 rows)
|
|
|
|
-- can't specify --moveidx without --tablespace
|
|
\! pg_repack --dbname=contrib_regression --no-order --table=testts1 --moveidx
|
|
ERROR: cannot specify --moveidx (-S) without --tablespace (-s)
|
|
\! pg_repack --dbname=contrib_regression --no-order --table=testts1 -S
|
|
ERROR: cannot specify --moveidx (-S) without --tablespace (-s)
|