citusdata/cstore_fdw

Regression tests fail with PG9.3 and 11

df7cb opened this issue · 6 comments

df7cb commented

Hi,
we are trying to package cstore_fdw for Debian, but the regression tests are failing.

PG11 failures:

### installcheck 11 ###
Creating new PostgreSQL cluster 11/regress ...
/usr/lib/postgresql/11/bin/initdb -D /tmp/pg_virtualenv.T4fcMo/data/11/regress --username=postgres --pwfile=/tmp/pg_virtualenv.T4fcMo/postgresql-common/pwfile --nosync --auth-local=trust
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "C.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".

Data page checksums are disabled.

fixing permissions on existing directory /tmp/pg_virtualenv.T4fcMo/data/11/regress ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... 
WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.
ok

Sync to disk skipped.
The data directory might become corrupt if the operating system crashes.

Success. You can now start the database server using:

    /usr/lib/postgresql/11/bin/pg_ctl -D /tmp/pg_virtualenv.T4fcMo/data/11/regress -l logfile start

Ver Cluster Port Status Owner    Data directory                            Log file
11  regress 5433 online postgres /tmp/pg_virtualenv.T4fcMo/data/11/regress /tmp/pg_virtualenv.T4fcMo/log/postgresql-11-regress.log

rm -f data/*.cstore data/*.cstore.footer
/usr/lib/postgresql/11/lib/pgxs/src/makefiles/../../src/test/regress/pg_regress --inputdir=./ --bindir='/usr/lib/postgresql/11/bin'    --dbname=contrib_regression create load query analyze data_types functions block_filtering drop insert copyto alter truncate
(using postmaster on localhost, port 5433)
============== dropping database "contrib_regression" ==============
NOTICE:  database "contrib_regression" does not exist, skipping
DROP DATABASE
============== creating database "contrib_regression" ==============
CREATE DATABASE
ALTER DATABASE
============== running regression test queries        ==============
test create                       ... ok
test load                         ... FAILED
test query                        ... ok
test analyze                      ... ok
test data_types                   ... ok
test functions                    ... ok
test block_filtering              ... ok
test drop                         ... FAILED
test insert                       ... ok
test copyto                       ... ok
test alter                        ... ok
test truncate                     ... ok

=======================
 2 of 12 tests failed. 
=======================

The differences that caused some tests to fail can be viewed in the
file "/tmp/autopkgtest.UWEQZq/tree/regression.diffs".  A copy of the test summary that you see
above is saved in the file "/tmp/autopkgtest.UWEQZq/tree/regression.out".

make: *** [/usr/lib/postgresql/11/lib/pgxs/src/makefiles/pgxs.mk:396: installcheck] Error 1
*** /tmp/pg_virtualenv.T4fcMo/log/postgresql-11-regress.log (last 100 lines) ***
2018-11-12 15:40:22.739 CET [18691] LOG:  listening on IPv6 address "::1", port 5433
2018-11-12 15:40:22.739 CET [18691] LOG:  listening on IPv4 address "127.0.0.1", port 5433
2018-11-12 15:40:22.739 CET [18691] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5433"
2018-11-12 15:40:22.746 CET [18692] LOG:  database system was shut down at 2018-11-12 15:40:22 CET
2018-11-12 15:40:22.749 CET [18691] LOG:  database system is ready to accept connections
2018-11-12 15:40:23.331 CET [18699] [unknown]@[unknown] LOG:  incomplete startup packet
2018-11-12 15:40:25.319 CET [18740] postgres@contrib_regression ERROR:  invalid option "bad_option_name"
2018-11-12 15:40:25.319 CET [18740] postgres@contrib_regression HINT:  Valid options in this context are: filename, compression, stripe_row_count, block_row_count
2018-11-12 15:40:25.319 CET [18740] postgres@contrib_regression STATEMENT:  CREATE FOREIGN TABLE test_validator_invalid_option () 
		SERVER cstore_server 
		OPTIONS(filename 'data.cstore', bad_option_name '1');
2018-11-12 15:40:25.320 CET [18740] postgres@contrib_regression ERROR:  invalid stripe row count
2018-11-12 15:40:25.320 CET [18740] postgres@contrib_regression HINT:  Stripe row count must be an integer between 1000 and 10000000
2018-11-12 15:40:25.320 CET [18740] postgres@contrib_regression STATEMENT:  CREATE FOREIGN TABLE test_validator_invalid_stripe_row_count () 
		SERVER cstore_server
		OPTIONS(filename 'data.cstore', stripe_row_count '0');
2018-11-12 15:40:25.320 CET [18740] postgres@contrib_regression ERROR:  invalid block row count
2018-11-12 15:40:25.320 CET [18740] postgres@contrib_regression HINT:  Block row count must be an integer between 1000 and 100000
2018-11-12 15:40:25.320 CET [18740] postgres@contrib_regression STATEMENT:  CREATE FOREIGN TABLE test_validator_invalid_block_row_count () 
		SERVER cstore_server
		OPTIONS(filename 'data.cstore', block_row_count '0');
2018-11-12 15:40:25.321 CET [18740] postgres@contrib_regression ERROR:  invalid compression type
2018-11-12 15:40:25.321 CET [18740] postgres@contrib_regression HINT:  Valid options are: none, pglz
2018-11-12 15:40:25.321 CET [18740] postgres@contrib_regression STATEMENT:  CREATE FOREIGN TABLE test_validator_invalid_compression_type () 
		SERVER cstore_server
		OPTIONS(filename 'data.cstore', compression 'invalid_compression');
2018-11-12 15:40:25.321 CET [18740] postgres@contrib_regression ERROR:  could not open file "bad_directory_path/bad_file_path" for writing: No such file or directory
2018-11-12 15:40:25.321 CET [18740] postgres@contrib_regression STATEMENT:  CREATE FOREIGN TABLE test_invalid_file_path ()
		SERVER cstore_server
		OPTIONS(filename 'bad_directory_path/bad_file_path');
2018-11-12 15:40:25.344 CET [18744] postgres@contrib_regression ERROR:  missing data for column "birthdate"
2018-11-12 15:40:25.344 CET [18744] postgres@contrib_regression CONTEXT:  COPY contestant, line 1: "a,1990-01-10,2090,97.1,XA ,{a}"
2018-11-12 15:40:25.344 CET [18744] postgres@contrib_regression STATEMENT:  COPY contestant FROM '/tmp/autopkgtest.UWEQZq/tree/data/contestants.1.csv'
		WITH DELIMITER '|';
sh: 1: invalid_program: not found
2018-11-12 15:40:25.346 CET [18744] postgres@contrib_regression ERROR:  program "invalid_program" failed
2018-11-12 15:40:25.346 CET [18744] postgres@contrib_regression DETAIL:  command not found
2018-11-12 15:40:25.346 CET [18744] postgres@contrib_regression STATEMENT:  COPY contestant FROM PROGRAM 'invalid_program' WITH CSV;
2018-11-12 15:40:25.482 CET [18767] postgres@contrib_regression ERROR:  relation is not a cstore table
2018-11-12 15:40:25.482 CET [18767] postgres@contrib_regression STATEMENT:  SELECT cstore_table_size('non_cstore_table');
2018-11-12 15:40:25.994 CET [18783] postgres@contrib_regression ERROR:  operation is not supported
2018-11-12 15:40:25.994 CET [18783] postgres@contrib_regression STATEMENT:  insert into test_insert_command values(1);
2018-11-12 15:40:25.995 CET [18783] postgres@contrib_regression ERROR:  operation is not supported
2018-11-12 15:40:25.995 CET [18783] postgres@contrib_regression STATEMENT:  insert into test_insert_command default values;
2018-11-12 15:40:26.077 CET [18791] postgres@contrib_regression ERROR:  column "a" does not exist at character 8
2018-11-12 15:40:26.077 CET [18791] postgres@contrib_regression STATEMENT:  SELECT a FROM test_alter_table;
2018-11-12 15:40:26.077 CET [18791] postgres@contrib_regression ERROR:  INSERT has more expressions than target columns at character 44
2018-11-12 15:40:26.077 CET [18791] postgres@contrib_regression STATEMENT:  INSERT INTO test_alter_table (SELECT 3, 5, 8);
2018-11-12 15:40:26.091 CET [18791] postgres@contrib_regression ERROR:  unsupported default value for column "g"
2018-11-12 15:40:26.091 CET [18791] postgres@contrib_regression HINT:  Expression is either mutable or does not evaluate to constant value
2018-11-12 15:40:26.091 CET [18791] postgres@contrib_regression STATEMENT:  SELECT * FROM test_alter_table;
2018-11-12 15:40:26.092 CET [18791] postgres@contrib_regression ERROR:  unsupported default value for column "h"
2018-11-12 15:40:26.092 CET [18791] postgres@contrib_regression HINT:  Expression is either mutable or does not evaluate to constant value
2018-11-12 15:40:26.092 CET [18791] postgres@contrib_regression STATEMENT:  SELECT * FROM test_alter_table;
2018-11-12 15:40:26.097 CET [18791] postgres@contrib_regression ERROR:  Column j cannot be cast automatically to type pg_catalog.int4
2018-11-12 15:40:26.097 CET [18791] postgres@contrib_regression STATEMENT:  ALTER FOREIGN TABLE test_alter_table ALTER COLUMN j TYPE int;
2018-11-12 15:40:26.153 CET [18796] truncate_user@contrib_regression ERROR:  permission denied for table truncate_tbl
2018-11-12 15:40:26.153 CET [18796] truncate_user@contrib_regression STATEMENT:  TRUNCATE TABLE truncate_schema.truncate_tbl;
Dropping cluster 11/regress ...
**** regression.diffs ****
*** /tmp/autopkgtest.UWEQZq/tree/expected/load.out	2018-11-12 15:40:24.995122515 +0100
--- /tmp/autopkgtest.UWEQZq/tree/results/load.out	2018-11-12 15:40:25.355121019 +0100
***************
*** 5,10 ****
--- 5,11 ----
  COPY contestant FROM '/tmp/autopkgtest.UWEQZq/tree/data/contestants.1.csv'
  	WITH DELIMITER '|'; -- ERROR
  ERROR:  missing data for column "birthdate"
+ CONTEXT:  COPY contestant, line 1: "a,1990-01-10,2090,97.1,XA ,{a}"
  -- COPY with invalid program
  COPY contestant FROM PROGRAM 'invalid_program' WITH CSV; -- ERROR
  ERROR:  program "invalid_program" failed

======================================================================

*** /tmp/autopkgtest.UWEQZq/tree/expected/drop.out	2018-09-03 16:41:13.000000000 +0200
--- /tmp/autopkgtest.UWEQZq/tree/results/drop.out	2018-11-12 15:40:25.963118493 +0100
***************
*** 92,97 ****
  SELECT count(*) FROM pg_ls_dir('cstore_fdw') WHERE pg_ls_dir != :postgres_oid::text;
   count 
  -------
!      1
  (1 row)
  
--- 92,97 ----
  SELECT count(*) FROM pg_ls_dir('cstore_fdw') WHERE pg_ls_dir != :postgres_oid::text;
   count 
  -------
!      2
  (1 row)
  

======================================================================

PG9.3 failures:

15:38:26 ### installcheck 9.3 ###
15:38:26 Creating new PostgreSQL cluster 9.3/regress ...
15:38:26 /usr/lib/postgresql/9.3/bin/initdb -D /tmp/pg_virtualenv.xqu106/data/9.3/regress --username=postgres --pwfile=/tmp/pg_virtualenv.xqu106/postgresql-common/pwfile --nosync --auth-local=trust
15:38:26 The files belonging to this database system will be owned by user "postgres".
15:38:26 This user must also own the server process.
15:38:26 
15:38:26 The database cluster will be initialized with locale "C.UTF-8".
15:38:26 The default database encoding has accordingly been set to "UTF8".
15:38:26 The default text search configuration will be set to "english".
15:38:26 
15:38:26 Data page checksums are disabled.
15:38:26 
15:38:26 fixing permissions on existing directory /tmp/pg_virtualenv.xqu106/data/9.3/regress ... ok
15:38:26 creating subdirectories ... ok
15:38:26 selecting default max_connections ... 100
15:38:26 selecting default shared_buffers ... 128MB
15:38:27 creating configuration files ... ok
15:38:28 creating template1 database in /tmp/pg_virtualenv.xqu106/data/9.3/regress/base/1 ... ok
15:38:28 initializing pg_authid ... ok
15:38:28 setting password ... ok
15:38:28 initializing dependencies ... ok
15:38:28 creating system views ... ok
15:38:28 loading system objects' descriptions ... ok
15:38:28 creating collations ... ok
15:38:28 creating conversions ... ok
15:38:29 creating dictionaries ... ok
15:38:29 setting privileges on built-in objects ... ok
15:38:29 creating information schema ... ok
15:38:29 loading PL/pgSQL server-side language ... ok
15:38:29 vacuuming database template1 ... ok
15:38:29 copying template1 to template0 ... ok
15:38:29 copying template1 to postgres ... ok
15:38:29 
15:38:29 Sync to disk skipped.
15:38:29 The data directory might become corrupt if the operating system crashes.
15:38:29 
15:38:29 Success. You can now start the database server using:
15:38:29 
15:38:29     /usr/lib/postgresql/9.3/bin/postgres -D /tmp/pg_virtualenv.xqu106/data/9.3/regress
15:38:29 or
15:38:29     /usr/lib/postgresql/9.3/bin/pg_ctl -D /tmp/pg_virtualenv.xqu106/data/9.3/regress -l logfile start
15:38:29 
15:38:29 
15:38:29 WARNING: enabling "trust" authentication for local connections
15:38:29 You can change this by editing pg_hba.conf or using the option -A, or
15:38:29 --auth-local and --auth-host, the next time you run initdb.
15:38:32 Ver Cluster Port Status Owner    Data directory                             Log file
15:38:32 9.3 regress 5432 online postgres /tmp/pg_virtualenv.xqu106/data/9.3/regress /tmp/pg_virtualenv.xqu106/log/postgresql-9.3-regress.log
15:38:32 
15:38:32 rm -f data/*.cstore data/*.cstore.footer
15:38:32 /usr/lib/postgresql/9.3/lib/pgxs/src/makefiles/../../src/test/regress/pg_regress --inputdir=./ --psqldir='/usr/lib/postgresql/9.3/bin'   --dbname=contrib_regression create load query analyze data_types functions block_filtering drop insert copyto alter truncate
15:38:32 (using postmaster on localhost, port 5432)
15:38:32 ============== dropping database "contrib_regression" ==============
15:38:32 NOTICE:  database "contrib_regression" does not exist, skipping
15:38:32 DROP DATABASE
15:38:32 ============== creating database "contrib_regression" ==============
15:38:32 CREATE DATABASE
15:38:32 ALTER DATABASE
15:38:32 ============== running regression test queries        ==============
15:38:32 test create                   ... ok
15:38:32 test load                     ... FAILED
15:38:32 test query                    ... FAILED
15:38:32 test analyze                  ... FAILED
15:38:32 test data_types               ... ok
15:38:32 test functions                ... ok
15:38:33 test block_filtering          ... ok
15:38:33 test drop                     ... FAILED
15:38:33 test insert                   ... ok
15:38:33 test copyto                   ... ok
15:38:33 test alter                    ... ok
15:38:33 test truncate                 ... ok
15:38:33 
15:38:33 =======================
15:38:33  4 of 12 tests failed. 
15:38:33 =======================
15:38:33 
15:38:33 The differences that caused some tests to fail can be viewed in the
15:38:33 file "/tmp/autopkgtest.R1u6Oj/tree/regression.diffs".  A copy of the test summary that you see
15:38:33 above is saved in the file "/tmp/autopkgtest.R1u6Oj/tree/regression.out".
15:38:33 
15:38:33 make: *** [/usr/lib/postgresql/9.3/lib/pgxs/src/makefiles/pgxs.mk:299: installcheck] Error 1
15:38:33 *** /tmp/pg_virtualenv.xqu106/log/postgresql-9.3-regress.log (last 100 lines) ***
15:38:33 2018-11-12 14:38:30.140 UTC [7696] LOG:  database system was shut down at 2018-11-12 14:38:29 UTC
15:38:33 2018-11-12 14:38:30.141 UTC [7696] LOG:  MultiXact member wraparound protections are now enabled
15:38:33 2018-11-12 14:38:30.145 UTC [7700] LOG:  autovacuum launcher started
15:38:33 2018-11-12 14:38:30.145 UTC [7695] LOG:  database system is ready to accept connections
15:38:33 2018-11-12 14:38:30.611 UTC [7702] [unknown]@[unknown] LOG:  incomplete startup packet
15:38:33 2018-11-12 14:38:32.692 UTC [7742] postgres@contrib_regression ERROR:  invalid option "bad_option_name"
15:38:33 2018-11-12 14:38:32.692 UTC [7742] postgres@contrib_regression HINT:  Valid options in this context are: filename, compression, stripe_row_count, block_row_count
15:38:33 2018-11-12 14:38:32.692 UTC [7742] postgres@contrib_regression STATEMENT:  CREATE FOREIGN TABLE test_validator_invalid_option () 
15:38:33 		SERVER cstore_server 
15:38:33 		OPTIONS(filename 'data.cstore', bad_option_name '1');
15:38:33 2018-11-12 14:38:32.693 UTC [7742] postgres@contrib_regression ERROR:  invalid stripe row count
15:38:33 2018-11-12 14:38:32.693 UTC [7742] postgres@contrib_regression HINT:  Stripe row count must be an integer between 1000 and 10000000
15:38:33 2018-11-12 14:38:32.693 UTC [7742] postgres@contrib_regression STATEMENT:  CREATE FOREIGN TABLE test_validator_invalid_stripe_row_count () 
15:38:33 		SERVER cstore_server
15:38:33 		OPTIONS(filename 'data.cstore', stripe_row_count '0');
15:38:33 2018-11-12 14:38:32.694 UTC [7742] postgres@contrib_regression ERROR:  invalid block row count
15:38:33 2018-11-12 14:38:32.694 UTC [7742] postgres@contrib_regression HINT:  Block row count must be an integer between 1000 and 100000
15:38:33 2018-11-12 14:38:32.694 UTC [7742] postgres@contrib_regression STATEMENT:  CREATE FOREIGN TABLE test_validator_invalid_block_row_count () 
15:38:33 		SERVER cstore_server
15:38:33 		OPTIONS(filename 'data.cstore', block_row_count '0');
15:38:33 2018-11-12 14:38:32.695 UTC [7742] postgres@contrib_regression ERROR:  invalid compression type
15:38:33 2018-11-12 14:38:32.695 UTC [7742] postgres@contrib_regression HINT:  Valid options are: none, pglz
15:38:33 2018-11-12 14:38:32.695 UTC [7742] postgres@contrib_regression STATEMENT:  CREATE FOREIGN TABLE test_validator_invalid_compression_type () 
15:38:33 		SERVER cstore_server
15:38:33 		OPTIONS(filename 'data.cstore', compression 'invalid_compression');
15:38:33 2018-11-12 14:38:32.696 UTC [7742] postgres@contrib_regression ERROR:  could not open file "bad_directory_path/bad_file_path" for writing: No such file or directory
15:38:33 2018-11-12 14:38:32.696 UTC [7742] postgres@contrib_regression STATEMENT:  CREATE FOREIGN TABLE test_invalid_file_path ()
15:38:33 		SERVER cstore_server
15:38:33 		OPTIONS(filename 'bad_directory_path/bad_file_path');
15:38:33 2018-11-12 14:38:32.735 UTC [7746] postgres@contrib_regression ERROR:  cannot copy to foreign table "contestant"
15:38:33 2018-11-12 14:38:32.735 UTC [7746] postgres@contrib_regression STATEMENT:  COPY contestant FROM '/tmp/autopkgtest.R1u6Oj/tree/data/contestants.1.csv'
15:38:33 		WITH DELIMITER '|';
15:38:33 2018-11-12 14:38:32.736 UTC [7746] postgres@contrib_regression ERROR:  cannot copy to foreign table "contestant"
15:38:33 2018-11-12 14:38:32.736 UTC [7746] postgres@contrib_regression STATEMENT:  COPY contestant FROM PROGRAM 'invalid_program' WITH CSV;
15:38:33 sh: 1: invalid_program: not found
15:38:33 2018-11-12 14:38:32.737 UTC [7746] postgres@contrib_regression ERROR:  cannot copy to foreign table "contestant"
15:38:33 2018-11-12 14:38:32.737 UTC [7746] postgres@contrib_regression STATEMENT:  COPY contestant FROM '/tmp/autopkgtest.R1u6Oj/tree/data/contestants.1.csv' WITH CSV;
15:38:33 2018-11-12 14:38:32.738 UTC [7746] postgres@contrib_regression ERROR:  cannot copy to foreign table "contestant"
15:38:33 2018-11-12 14:38:32.738 UTC [7746] postgres@contrib_regression STATEMENT:  COPY contestant FROM PROGRAM 'cat /tmp/autopkgtest.R1u6Oj/tree/data/contestants.2.csv' WITH CSV;
15:38:33 cat: write error: Broken pipe
15:38:33 2018-11-12 14:38:32.741 UTC [7746] postgres@contrib_regression ERROR:  cannot copy to foreign table "contestant_compressed"
15:38:33 2018-11-12 14:38:32.741 UTC [7746] postgres@contrib_regression STATEMENT:  COPY contestant_compressed FROM '/tmp/autopkgtest.R1u6Oj/tree/data/contestants.1.csv' WITH CSV;
15:38:33 2018-11-12 14:38:32.742 UTC [7746] postgres@contrib_regression ERROR:  cannot copy to foreign table "contestant_compressed"
15:38:33 2018-11-12 14:38:32.742 UTC [7746] postgres@contrib_regression STATEMENT:  COPY contestant_compressed FROM PROGRAM 'cat /tmp/autopkgtest.R1u6Oj/tree/data/contestants.2.csv'
15:38:33 		WITH CSV;
15:38:33 cat: write error: Broken pipe
15:38:33 2018-11-12 14:38:32.944 UTC [7773] postgres@contrib_regression ERROR:  relation is not a cstore table
15:38:33 2018-11-12 14:38:32.944 UTC [7773] postgres@contrib_regression STATEMENT:  SELECT cstore_table_size('non_cstore_table');
15:38:33 2018-11-12 14:38:33.474 UTC [7789] postgres@contrib_regression ERROR:  operation is not supported
15:38:33 2018-11-12 14:38:33.474 UTC [7789] postgres@contrib_regression STATEMENT:  insert into test_insert_command values(1);
15:38:33 2018-11-12 14:38:33.475 UTC [7789] postgres@contrib_regression ERROR:  operation is not supported
15:38:33 2018-11-12 14:38:33.475 UTC [7789] postgres@contrib_regression STATEMENT:  insert into test_insert_command default values;
15:38:33 2018-11-12 14:38:33.604 UTC [7797] postgres@contrib_regression ERROR:  column "a" does not exist at character 8
15:38:33 2018-11-12 14:38:33.604 UTC [7797] postgres@contrib_regression STATEMENT:  SELECT a FROM test_alter_table;
15:38:33 2018-11-12 14:38:33.605 UTC [7797] postgres@contrib_regression ERROR:  INSERT has more expressions than target columns at character 44
15:38:33 2018-11-12 14:38:33.605 UTC [7797] postgres@contrib_regression STATEMENT:  INSERT INTO test_alter_table (SELECT 3, 5, 8);
15:38:33 2018-11-12 14:38:33.631 UTC [7797] postgres@contrib_regression ERROR:  unsupported default value for column "g"
15:38:33 2018-11-12 14:38:33.631 UTC [7797] postgres@contrib_regression HINT:  Expression is either mutable or does not evaluate to constant value
15:38:33 2018-11-12 14:38:33.631 UTC [7797] postgres@contrib_regression STATEMENT:  SELECT * FROM test_alter_table;
15:38:33 2018-11-12 14:38:33.632 UTC [7797] postgres@contrib_regression ERROR:  unsupported default value for column "h"
15:38:33 2018-11-12 14:38:33.632 UTC [7797] postgres@contrib_regression HINT:  Expression is either mutable or does not evaluate to constant value
15:38:33 2018-11-12 14:38:33.632 UTC [7797] postgres@contrib_regression STATEMENT:  SELECT * FROM test_alter_table;
15:38:33 2018-11-12 14:38:33.641 UTC [7797] postgres@contrib_regression ERROR:  Column j cannot be cast automatically to type pg_catalog.int4
15:38:33 2018-11-12 14:38:33.641 UTC [7797] postgres@contrib_regression STATEMENT:  ALTER FOREIGN TABLE test_alter_table ALTER COLUMN j TYPE int;
15:38:33 2018-11-12 14:38:33.723 UTC [7802] truncate_user@contrib_regression ERROR:  permission denied for relation truncate_tbl
15:38:33 2018-11-12 14:38:33.723 UTC [7802] truncate_user@contrib_regression STATEMENT:  TRUNCATE TABLE truncate_schema.truncate_tbl;
15:38:33 Dropping cluster 9.3/regress ...
15:38:34 **** regression.diffs ****
15:38:34 *** /tmp/autopkgtest.R1u6Oj/tree/expected/load.out	2018-11-12 14:38:32.352491095 +0000
15:38:34 --- /tmp/autopkgtest.R1u6Oj/tree/results/load.out	2018-11-12 14:38:32.748511738 +0000
15:38:34 ***************
15:38:34 *** 4,23 ****
15:38:34   -- COPY with incorrect delimiter
15:38:34   COPY contestant FROM '/tmp/autopkgtest.R1u6Oj/tree/data/contestants.1.csv'
15:38:34   	WITH DELIMITER '|'; -- ERROR
15:38:34 ! ERROR:  missing data for column "birthdate"
15:38:34   -- COPY with invalid program
15:38:34   COPY contestant FROM PROGRAM 'invalid_program' WITH CSV; -- ERROR
15:38:34 ! ERROR:  program "invalid_program" failed
15:38:34 ! DETAIL:  command not found
15:38:34   -- COPY into uncompressed table from file
15:38:34   COPY contestant FROM '/tmp/autopkgtest.R1u6Oj/tree/data/contestants.1.csv' WITH CSV;
15:38:34   -- COPY into uncompressed table from program
15:38:34   COPY contestant FROM PROGRAM 'cat /tmp/autopkgtest.R1u6Oj/tree/data/contestants.2.csv' WITH CSV;
15:38:34   -- COPY into compressed table
15:38:34   COPY contestant_compressed FROM '/tmp/autopkgtest.R1u6Oj/tree/data/contestants.1.csv' WITH CSV;
15:38:34   -- COPY into uncompressed table from program
15:38:34   COPY contestant_compressed FROM PROGRAM 'cat /tmp/autopkgtest.R1u6Oj/tree/data/contestants.2.csv'
15:38:34   	WITH CSV;
15:38:34   -- Test column list
15:38:34   CREATE FOREIGN TABLE famous_constants (id int, name text, value real)
15:38:34       SERVER cstore_server;
15:38:34 --- 4,26 ----
15:38:34   -- COPY with incorrect delimiter
15:38:34   COPY contestant FROM '/tmp/autopkgtest.R1u6Oj/tree/data/contestants.1.csv'
15:38:34   	WITH DELIMITER '|'; -- ERROR
15:38:34 ! ERROR:  cannot copy to foreign table "contestant"
15:38:34   -- COPY with invalid program
15:38:34   COPY contestant FROM PROGRAM 'invalid_program' WITH CSV; -- ERROR
15:38:34 ! ERROR:  cannot copy to foreign table "contestant"
15:38:34   -- COPY into uncompressed table from file
15:38:34   COPY contestant FROM '/tmp/autopkgtest.R1u6Oj/tree/data/contestants.1.csv' WITH CSV;
15:38:34 + ERROR:  cannot copy to foreign table "contestant"
15:38:34   -- COPY into uncompressed table from program
15:38:34   COPY contestant FROM PROGRAM 'cat /tmp/autopkgtest.R1u6Oj/tree/data/contestants.2.csv' WITH CSV;
15:38:34 + ERROR:  cannot copy to foreign table "contestant"
15:38:34   -- COPY into compressed table
15:38:34   COPY contestant_compressed FROM '/tmp/autopkgtest.R1u6Oj/tree/data/contestants.1.csv' WITH CSV;
15:38:34 + ERROR:  cannot copy to foreign table "contestant_compressed"
15:38:34   -- COPY into uncompressed table from program
15:38:34   COPY contestant_compressed FROM PROGRAM 'cat /tmp/autopkgtest.R1u6Oj/tree/data/contestants.2.csv'
15:38:34   	WITH CSV;
15:38:34 + ERROR:  cannot copy to foreign table "contestant_compressed"
15:38:34   -- Test column list
15:38:34   CREATE FOREIGN TABLE famous_constants (id int, name text, value real)
15:38:34       SERVER cstore_server;
15:38:34 
15:38:34 ======================================================================
15:38:34 
15:38:34 *** /tmp/autopkgtest.R1u6Oj/tree/expected/query.out	2018-09-03 14:41:13.000000000 +0000
15:38:34 --- /tmp/autopkgtest.R1u6Oj/tree/results/query.out	2018-11-12 14:38:32.800514450 +0000
15:38:34 ***************
15:38:34 *** 7,86 ****
15:38:34   SELECT count(*) FROM contestant;
15:38:34    count 
15:38:34   -------
15:38:34 !      8
15:38:34   (1 row)
15:38:34   
15:38:34   SELECT avg(rating), stddev_samp(rating) FROM contestant;
15:38:34 !           avg          |   stddev_samp    
15:38:34 ! -----------------------+------------------
15:38:34 !  2344.3750000000000000 | 433.746119785032
15:38:34   (1 row)
15:38:34   
15:38:34   SELECT country, avg(rating) FROM contestant WHERE rating > 2200
15:38:34   	GROUP BY country ORDER BY country;
15:38:34 !  country |          avg          
15:38:34 ! ---------+-----------------------
15:38:34 !  XA      | 2203.0000000000000000
15:38:34 !  XB      | 2610.5000000000000000
15:38:34 !  XC      | 2236.0000000000000000
15:38:34 !  XD      | 3090.0000000000000000
15:38:34 ! (4 rows)
15:38:34   
15:38:34   SELECT * FROM contestant ORDER BY handle;
15:38:34 !  handle | birthdate  | rating | percentile | country | achievements 
15:38:34 ! --------+------------+--------+------------+---------+--------------
15:38:34 !  a      | 1990-01-10 |   2090 |       97.1 | XA      | {a}
15:38:34 !  b      | 1990-11-01 |   2203 |       98.1 | XA      | {a,b}
15:38:34 !  c      | 1988-11-01 |   2907 |       99.4 | XB      | {w,y}
15:38:34 !  d      | 1985-05-05 |   2314 |       98.3 | XB      | {}
15:38:34 !  e      | 1995-05-05 |   2236 |       98.2 | XC      | {a}
15:38:34 !  f      | 1983-04-02 |   3090 |       99.6 | XD      | {a,b,c,y}
15:38:34 !  g      | 1991-12-13 |   1803 |       85.1 | XD      | {a,c}
15:38:34 !  h      | 1987-10-26 |   2112 |       95.4 | XD      | {w,a}
15:38:34 ! (8 rows)
15:38:34   
15:38:34   -- Query compressed data
15:38:34   SELECT count(*) FROM contestant_compressed;
15:38:34    count 
15:38:34   -------
15:38:34 !      8
15:38:34   (1 row)
15:38:34   
15:38:34   SELECT avg(rating), stddev_samp(rating) FROM contestant_compressed;
15:38:34 !           avg          |   stddev_samp    
15:38:34 ! -----------------------+------------------
15:38:34 !  2344.3750000000000000 | 433.746119785032
15:38:34   (1 row)
15:38:34   
15:38:34   SELECT country, avg(rating) FROM contestant_compressed WHERE rating > 2200
15:38:34   	GROUP BY country ORDER BY country;
15:38:34 !  country |          avg          
15:38:34 ! ---------+-----------------------
15:38:34 !  XA      | 2203.0000000000000000
15:38:34 !  XB      | 2610.5000000000000000
15:38:34 !  XC      | 2236.0000000000000000
15:38:34 !  XD      | 3090.0000000000000000
15:38:34 ! (4 rows)
15:38:34   
15:38:34   SELECT * FROM contestant_compressed ORDER BY handle;
15:38:34 !  handle | birthdate  | rating | percentile | country | achievements 
15:38:34 ! --------+------------+--------+------------+---------+--------------
15:38:34 !  a      | 1990-01-10 |   2090 |       97.1 | XA      | {a}
15:38:34 !  b      | 1990-11-01 |   2203 |       98.1 | XA      | {a,b}
15:38:34 !  c      | 1988-11-01 |   2907 |       99.4 | XB      | {w,y}
15:38:34 !  d      | 1985-05-05 |   2314 |       98.3 | XB      | {}
15:38:34 !  e      | 1995-05-05 |   2236 |       98.2 | XC      | {a}
15:38:34 !  f      | 1983-04-02 |   3090 |       99.6 | XD      | {a,b,c,y}
15:38:34 !  g      | 1991-12-13 |   1803 |       85.1 | XD      | {a,c}
15:38:34 !  h      | 1987-10-26 |   2112 |       95.4 | XD      | {w,a}
15:38:34 ! (8 rows)
15:38:34   
15:38:34   -- Verify that we handle whole-row references correctly
15:38:34   SELECT to_json(v) FROM contestant v ORDER BY rating LIMIT 1;
15:38:34 !                                                      to_json                                                      
15:38:34 ! ------------------------------------------------------------------------------------------------------------------
15:38:34 !  {"handle":"g","birthdate":"1991-12-13","rating":1803,"percentile":85.1,"country":"XD ","achievements":["a","c"]}
15:38:34 ! (1 row)
15:38:34   
15:38:34   -- Test variables used in expressions
15:38:34   CREATE FOREIGN TABLE union_first (a int, b int) SERVER cstore_server;
15:38:34 --- 7,61 ----
15:38:34   SELECT count(*) FROM contestant;
15:38:34    count 
15:38:34   -------
15:38:34 !      0
15:38:34   (1 row)
15:38:34   
15:38:34   SELECT avg(rating), stddev_samp(rating) FROM contestant;
15:38:34 !  avg | stddev_samp 
15:38:34 ! -----+-------------
15:38:34 !      |            
15:38:34   (1 row)
15:38:34   
15:38:34   SELECT country, avg(rating) FROM contestant WHERE rating > 2200
15:38:34   	GROUP BY country ORDER BY country;
15:38:34 !  country | avg 
15:38:34 ! ---------+-----
15:38:34 ! (0 rows)
15:38:34   
15:38:34   SELECT * FROM contestant ORDER BY handle;
15:38:34 !  handle | birthdate | rating | percentile | country | achievements 
15:38:34 ! --------+-----------+--------+------------+---------+--------------
15:38:34 ! (0 rows)
15:38:34   
15:38:34   -- Query compressed data
15:38:34   SELECT count(*) FROM contestant_compressed;
15:38:34    count 
15:38:34   -------
15:38:34 !      0
15:38:34   (1 row)
15:38:34   
15:38:34   SELECT avg(rating), stddev_samp(rating) FROM contestant_compressed;
15:38:34 !  avg | stddev_samp 
15:38:34 ! -----+-------------
15:38:34 !      |            
15:38:34   (1 row)
15:38:34   
15:38:34   SELECT country, avg(rating) FROM contestant_compressed WHERE rating > 2200
15:38:34   	GROUP BY country ORDER BY country;
15:38:34 !  country | avg 
15:38:34 ! ---------+-----
15:38:34 ! (0 rows)
15:38:34   
15:38:34   SELECT * FROM contestant_compressed ORDER BY handle;
15:38:34 !  handle | birthdate | rating | percentile | country | achievements 
15:38:34 ! --------+-----------+--------+------------+---------+--------------
15:38:34 ! (0 rows)
15:38:34   
15:38:34   -- Verify that we handle whole-row references correctly
15:38:34   SELECT to_json(v) FROM contestant v ORDER BY rating LIMIT 1;
15:38:34 !  to_json 
15:38:34 ! ---------
15:38:34 ! (0 rows)
15:38:34   
15:38:34   -- Test variables used in expressions
15:38:34   CREATE FOREIGN TABLE union_first (a int, b int) SERVER cstore_server;
15:38:34 
15:38:34 ======================================================================
15:38:34 
15:38:34 *** /tmp/autopkgtest.R1u6Oj/tree/expected/analyze.out	2018-09-03 14:41:13.000000000 +0000
15:38:34 --- /tmp/autopkgtest.R1u6Oj/tree/results/analyze.out	2018-11-12 14:38:32.844516744 +0000
15:38:34 ***************
15:38:34 *** 6,12 ****
15:38:34   SELECT count(*) FROM pg_stats WHERE tablename='contestant';
15:38:34    count 
15:38:34   -------
15:38:34 !      6
15:38:34   (1 row)
15:38:34   
15:38:34   -- ANALYZE compressed table
15:38:34 --- 6,12 ----
15:38:34   SELECT count(*) FROM pg_stats WHERE tablename='contestant';
15:38:34    count 
15:38:34   -------
15:38:34 !      0
15:38:34   (1 row)
15:38:34   
15:38:34   -- ANALYZE compressed table
15:38:34 ***************
15:38:34 *** 14,19 ****
15:38:34   SELECT count(*) FROM pg_stats WHERE tablename='contestant_compressed';
15:38:34    count 
15:38:34   -------
15:38:34 !      6
15:38:34   (1 row)
15:38:34   
15:38:34 --- 14,19 ----
15:38:34   SELECT count(*) FROM pg_stats WHERE tablename='contestant_compressed';
15:38:34    count 
15:38:34   -------
15:38:34 !      0
15:38:34   (1 row)
15:38:34   
15:38:34 
15:38:34 ======================================================================
15:38:34 
15:38:34 *** /tmp/autopkgtest.R1u6Oj/tree/expected/drop.out	2018-09-03 14:41:13.000000000 +0000
15:38:34 --- /tmp/autopkgtest.R1u6Oj/tree/results/drop.out	2018-11-12 14:38:33.436547604 +0000
15:38:34 ***************
15:38:34 *** 92,97 ****
15:38:34   SELECT count(*) FROM pg_ls_dir('cstore_fdw') WHERE pg_ls_dir != :postgres_oid::text;
15:38:34    count 
15:38:34   -------
15:38:34 !      1
15:38:34   (1 row)
15:38:34   
15:38:34 --- 92,97 ----
15:38:34   SELECT count(*) FROM pg_ls_dir('cstore_fdw') WHERE pg_ls_dir != :postgres_oid::text;
15:38:34    count 
15:38:34   -------
15:38:34 !      2
15:38:34   (1 row)
15:38:34   
15:38:34 
15:38:34 ======================================================================
15:38:34 

Could these be fixed? What's the minimum PostgreSQL version that's supposed to be work?

Hi @ChristophBerg thanks for reporting, I will look into it asap.

Could these be fixed?

I need to check.

What's the minimum PostgreSQL version that's supposed to be work?

cstore_fdw should work from PG9.3 to PG11. Our latest release's test logs on travis are here

df7cb commented

Interesting, apart from PGUSER=travis we are also just invoking make installcheck, but the user seems hardly relevant. No idea where the difference to running travis is that would cause such a difference.

@ChristophBerg I just tested with Debian 9.6 and PG 9.3. It looks okay from this side.

One problem I got was the user running postgresql service (postgres ?) must have write access to cstore_fdw/data directory so that it could create data files there.

Other than that all seems okay.

PG11 is also looking good on the same system

@ChristophBerg sometimes we see similar errors when cstore_fdw extension was not created on the database. please also make sure cstore_fdw in shared_preload_libraries.

df7cb commented

I indeed missed adding cstore_fdw to shared_preload_libraries when running the tests. Sorry for the noise, the Debian package builds fine now and is on its way to ftp.debian.org and apt.postgresql.org. Thanks!