Change Informix logging mode

On Informix error “transactions not supported”, we should check Informix logging mode:

SELECT is_logging, is_buff_log, is_ansi FROM sysdatabases WHERE name= ‘db_name’

If “is_logging” and “is_buff_log” are equals to 0, we have to change database logging mode.

  1. Change logging mode:
    • ondblog unbuf databasename
  2. Database level 0 backup:
    • ontape -s -L 0 -B databasename (we should have changed TAPEDEV variable from %INFORMIXDIR%/etc/%CONFIG% to any accesible directory.
  3. Set database online and allow multi-user:
    • onmode -m

References:

Advertisements

PostgreSQL: Permission denied for relation

This error message is caused because the user does not have access to the database object. This should fix that, in the case of tables and privileges:

GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA schemaName TO user;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA schameName TO user;

Informix: error al leer systables

En Informix, tras un fallo de cualquier tipo que implique un onmode -k, e incluso un onclean onmode -O, esta tabla puede generar conflictos para según que programas, como por ejemplo DBVisualizer. Es posible realizar la conexión al servidor pero no recupera las tablas ni las secuencias.

La solución pasa por retocar la tabla de sistema systables. En mi caso, una actualización del campo ustlowts fue suficiente, de forma que eliminemos las fechas incoherentes:


update informix.systables set ustlowts = '2015-09-02 17:19:33' where tabtype = 'T';