[Spacewalk-list] ISE when viewing stored profile package list or syncing stored profiles

Michael Morgan mmorgan at dca.net
Fri Jul 20 22:09:16 UTC 2012


Hello,

 I have a Spacewalk 1.7 install on SL 6.2 with a PostgreSQL database and it
seems that my stored profiles are broken. I first noticed when I tried to
kickstart a KVM guest using a stored profile which hung at "Schedule a package
sync" with the following Postgres error logged:

ERROR:  insert or update on table "rhnpackagedeltaelement" violates foreign key constraint "rhn_pdelement_tpid_fk"
DETAIL:  Key (transaction_package_id)=(84) is not present in table "rhntransactionpackage".
STATEMENT:  
            insert into rhnPackageDeltaElement
                   (package_delta_id, transaction_package_id)
            values 
                   (26, 
                    lookup_transaction_package(E'insert', E'apr', NULL, E'1.3.9', E'3.el6_1.2', NULL))

 I then went to view the stored profile but when I tried to bring up the
package list I hit an ISE and these Postgres errors:

ERROR:  cross-database references are not implemented: pe.evr.as_vre_simple
STATEMENT:  SELECT PN.name || '-' || PE.evr.as_vre_simple() AS NVRE,
               PA.label as arch
          FROM rhnServerProfilePackage SPP
                        LEFT JOIN rhnPackageArch PA ON SPP.package_arch_id = PA.id
                        INNER JOIN rhnPackageName PN ON SPP.name_id = PN.id
                        INNER JOIN rhnPackageEVR PE ON SPP.evr_id = PE.id
         WHERE SPP.server_profile_id = $1
        ORDER BY UPPER(PN.name), PE.evr
ERROR:  current transaction is aborted, commands ignored until end of transaction block
STATEMENT:  SELECT NULL AS TABLE_CAT, n.nspname AS TABLE_SCHEM, c.relname AS TABLE_NAME,  CASE n.nspname ~ '^pg_' OR n.nspname = 'information_schema'  WHEN true THEN CASE  WHEN n.nspname = 'pg_catalog' OR n.nspname = 'information_schema' THEN CASE c.relkind   WHEN 'r' THEN 'SYSTEM TABLE'   WHEN 'v' THEN 'SYSTEM VIEW'   WHEN 'i' THEN 'SYSTEM INDEX'   ELSE NULL   END  WHEN n.nspname = 'pg_toast' THEN CASE c.relkind   WHEN 'r' THEN 'SYSTEM TOAST TABLE'   WHEN 'i' THEN 'SYSTEM TOAST INDEX'   ELSE NULL   END  ELSE CASE c.relkind   WHEN 'r' THEN 'TEMPORARY TABLE'   WHEN 'i' THEN 'TEMPORARY INDEX'   ELSE NULL   END  END  WHEN false THEN CASE c.relkind  WHEN 'r' THEN 'TABLE'  WHEN 'i' THEN 'INDEX'  WHEN 'S' THEN 'SEQUENCE'  WHEN 'v' THEN 'VIEW'  ELSE NULL  END  ELSE NULL  END  AS TABLE_TYPE, d.description AS REMARKS  FROM pg_catalog.pg_namespace n, pg_catalog.pg_class c  LEFT JOIN pg_catalog.pg_description d ON (c.oid = d.objoid AND d.objsubid = 0)  LEFT JOIN pg_catalog.pg_class dc ON (d.classoid=dc.oid AND dc.relname='pg_class')  LEFT JOIN pg_catalog.pg_namespace dn ON (dn.oid=dc.relnamespace AND dn.nspname='pg_catalog')  WHERE c.relnamespace = n.oid  AND c.relname LIKE 'PROBABLYNOT'  AND (false  OR ( c.relkind = 'r' AND n.nspname !~ '^pg_' AND n.nspname <> 'information_schema' ) )  ORDER BY TABLE_TYPE,TABLE_SCHEM,TABLE_NAME 

 The only reference I found to the cross-database error was a commit on
spacewalk-schema-upgrade from last year. This server started at 1.5 and has
followed upgrade instructions to 1.6 then 1.7. Is it possible I missed a schema
upgrade somewhere or is this something else? Happy to provide any necessary
information. Thanks.

-Mike




More information about the Spacewalk-list mailing list