Re: Postgres 8.1.4 sanity_check failed on SuSE 8.2 - Mailing list pgsql-general

From Johannes Weberhofer, Weberhofer GmbH
Subject Re: Postgres 8.1.4 sanity_check failed on SuSE 8.2
Date
Msg-id 450E7476.1000405@weberhofer.at
Whole thread Raw
In response to Postgres 8.1.4 sanity_check failed on SuSE 8.2  ("Johannes Weberhofer, Weberhofer GmbH" <office@weberhofer.at>)
List pgsql-general
Tom,

thank you! from cvs I copied the latest "strategy" to make the sanity checks and removed those values which were added
afterversion 8.1.4. Using that patch, I can compile postgres without any problems. This version runs nicely on several
servers.

Best regards,
Johannes


Johannes Weberhofer, Weberhofer GmbH schrieb:
> I have tried it several times, but no success. I didn't have this issue
> with older postgres versions on the same machine/system.
>
> Best regards,
> Johannes Weberhofer
>
> Tom Lane schrieb:
>> "Johannes Weberhofer, Weberhofer GmbH" <office@weberhofer.at> writes:
>>> while the regression tests, there is one that fails:
>>
>> Repeatably, or did you only see this once?  There's a known timing issue
>> that explains this, but it's only been seen once or twice that I know of.
>>
>> 2006-08-06 00:35  tgl
>>
>>     * src/test/regress/: expected/sanity_check.out,
>>     sql/sanity_check.sql: Tweak sanity_check regression test to display
>>     more tables (viz, those without indexes) but not to display temp
>>     tables.  It's a bit hard to credit that sanity_check could get
>>     through a database-wide VACUUM while the preceding create_index
>>     test is still trying to clean up its temp tables ... but I see no
>>     other explanation for the current failure report from buildfarm
>>     member sponge.
>>
>> The report alluded to is
>> http://www.pgbuildfarm.org/cgi-bin/show_log.pl?nm=sponge&dt=2006-08-05%2021:30:02
>>
>>
>>             regards, tom lane
>

--


|---------------------------------
|  weberhofer GmbH               | Johannes Weberhofer
|  information technologies, Austria
|
|  phone : +43 (0)1 5454421 0    | email: office@weberhofer.at
|  fax   : +43 (0)1 5454421 19   | web  : http://weberhofer.at
|  mobile: +43 (0)699 11998315
|----------------------------------------------------------->>

--- src/test/regress/sql/sanity_check.sql    2003-05-28 18:04:02.000000000 +0200
+++ src/test/regress/sql/sanity_check.sql    2006-09-18 10:11:01.000000000 +0200
@@ -4,10 +4,13 @@
 -- sanity check, if we don't have indices the test will take years to
 -- complete.  But skip TOAST relations since they will have varying
 -- names depending on the current OID counter.
+-- complete.  But skip TOAST relations (since they will have varying
+-- names depending on the current OID counter) as well as temp tables
+-- of other backends (to avoid timing-dependent behavior).
 --
 SELECT relname, relhasindex
-   FROM pg_class
-   WHERE relhasindex AND relkind != 't'
+   FROM pg_class c LEFT JOIN pg_namespace n ON n.oid = relnamespace
+   WHERE relkind = 'r' AND (nspname ~ '^pg_temp_') IS NOT TRUE
    ORDER BY relname;

 --
--- src/test/regress/expected/sanity_check.out    2005-09-08 22:07:42.000000000 +0200
+++ src/test/regress/expected/sanity_check.out    2006-09-18 11:09:47.000000000 +0200
@@ -3,72 +3,142 @@
 -- sanity check, if we don't have indices the test will take years to
 -- complete.  But skip TOAST relations since they will have varying
 -- names depending on the current OID counter.
+-- complete.  But skip TOAST relations (since they will have varying
+-- names depending on the current OID counter) as well as temp tables
+-- of other backends (to avoid timing-dependent behavior).
 --
 SELECT relname, relhasindex
-   FROM pg_class
-   WHERE relhasindex AND relkind != 't'
+   FROM pg_class c LEFT JOIN pg_namespace n ON n.oid = relnamespace
+   WHERE relkind = 'r' AND (nspname ~ '^pg_temp_') IS NOT TRUE
    ORDER BY relname;
-       relname       | relhasindex
----------------------+-------------
- bt_f8_heap          | t
- bt_i4_heap          | t
- bt_name_heap        | t
- bt_txt_heap         | t
- circle_tbl          | t
- fast_emp4000        | t
- func_index_heap     | t
- hash_f8_heap        | t
- hash_i4_heap        | t
- hash_name_heap      | t
- hash_txt_heap       | t
- ihighway            | t
- num_exp_add         | t
- num_exp_div         | t
- num_exp_ln          | t
- num_exp_log10       | t
- num_exp_mul         | t
- num_exp_power_10_ln | t
- num_exp_sqrt        | t
- num_exp_sub         | t
- onek                | t
- onek2               | t
- pg_aggregate        | t
- pg_am               | t
- pg_amop             | t
- pg_amproc           | t
- pg_attrdef          | t
- pg_attribute        | t
- pg_auth_members     | t
- pg_authid           | t
- pg_autovacuum       | t
- pg_cast             | t
- pg_class            | t
- pg_constraint       | t
- pg_conversion       | t
- pg_database         | t
- pg_depend           | t
- pg_description      | t
- pg_index            | t
- pg_inherits         | t
- pg_language         | t
- pg_largeobject      | t
- pg_namespace        | t
- pg_opclass          | t
- pg_operator         | t
- pg_pltemplate       | t
- pg_proc             | t
- pg_rewrite          | t
- pg_shdepend         | t
- pg_statistic        | t
- pg_tablespace       | t
- pg_trigger          | t
- pg_type             | t
- polygon_tbl         | t
- road                | t
- shighway            | t
- tenk1               | t
- tenk2               | t
-(58 rows)
+         relname         | relhasindex
+-------------------------+-------------
+ a                       | f
+ a_star                  | f
+ abstime_tbl             | f
+ aggtest                 | f
+ b                       | f
+ b_star                  | f
+ box_tbl                 | f
+ bprime                  | f
+ bt_f8_heap              | t
+ bt_i4_heap              | t
+ bt_name_heap            | t
+ bt_txt_heap             | t
+ c                       | f
+ c_star                  | f
+ char_tbl                | f
+ check2_tbl              | f
+ check_tbl               | f
+ circle_tbl              | t
+ city                    | f
+ copy_tbl                | f
+ d                       | f
+ d_star                  | f
+ date_tbl                | f
+ default_tbl             | f
+ defaultexpr_tbl         | f
+ dept                    | f
+ e_star                  | f
+ emp                     | f
+ equipment_r             | f
+ f_star                  | f
+ fast_emp4000            | t
+ float4_tbl              | f
+ float8_tbl              | f
+ func_index_heap         | t
+ hash_f8_heap            | t
+ hash_i4_heap            | t
+ hash_name_heap          | t
+ hash_txt_heap           | t
+ hobbies_r               | f
+ ihighway                | t
+ inet_tbl                | f
+ inhe                    | f
+ inhf                    | f
+ inhx                    | f
+ insert_tbl              | f
+ int2_tbl                | f
+ int4_tbl                | f
+ int8_tbl                | f
+ interval_tbl            | f
+ iportaltest             | f
+ log_table               | f
+ lseg_tbl                | f
+ main_table              | f
+ num_data                | f
+ num_exp_add             | t
+ num_exp_div             | t
+ num_exp_ln              | t
+ num_exp_log10           | t
+ num_exp_mul             | t
+ num_exp_power_10_ln     | t
+ num_exp_sqrt            | t
+ num_exp_sub             | t
+ num_input_test          | f
+ num_result              | f
+ onek                    | t
+ onek2                   | t
+ path_tbl                | f
+ person                  | f
+ pg_aggregate            | t
+ pg_am                   | t
+ pg_amop                 | t
+ pg_amproc               | t
+ pg_attrdef              | t
+ pg_attribute            | t
+ pg_auth_members         | t
+ pg_authid               | t
+ pg_autovacuum           | t
+ pg_cast                 | t
+ pg_class                | t
+ pg_constraint           | t
+ pg_conversion           | t
+ pg_database             | t
+ pg_depend               | t
+ pg_description          | t
+ pg_index                | t
+ pg_inherits             | t
+ pg_language             | t
+ pg_largeobject          | t
+ pg_listener             | f
+ pg_namespace            | t
+ pg_opclass              | t
+ pg_operator             | t
+ pg_pltemplate           | t
+ pg_proc                 | t
+ pg_rewrite              | t
+ pg_shdepend             | t
+ pg_statistic            | t
+ pg_tablespace           | t
+ pg_trigger              | t
+ pg_type                 | t
+ point_tbl               | f
+ polygon_tbl             | t
+ ramp                    | f
+ real_city               | f
+ reltime_tbl             | f
+ road                    | t
+ shighway                | t
+ slow_emp4000            | f
+ sql_features            | f
+ sql_implementation_info | f
+ sql_languages           | f
+ sql_packages            | f
+ sql_sizing              | f
+ sql_sizing_profiles     | f
+ stud_emp                | f
+ student                 | f
+ tenk1                   | t
+ tenk2                   | t
+ text_tbl                | f
+ time_tbl                | f
+ timestamp_tbl           | f
+ timestamptz_tbl         | f
+ timetz_tbl              | f
+ tinterval_tbl           | f
+ varchar_tbl             | f
+(125 rows)

 --
 -- another sanity check: every system catalog that has OIDs should have

pgsql-general by date:

Previous
From: Martijn van Oosterhout
Date:
Subject: Re: transaction confusion
Next
From: "A. Kretschmer"
Date:
Subject: Re: Need special sequence generator