Exceção ao configurar symmetricDS com postgresql no Linux

0

SymmetricDS é uma ferramenta java que pode replicar bancos de dados e tabelas através de uma conexão de internet intermitente. Estou tendo problemas para configurá-lo para trabalhar com o postgresql.

Estou fazendo esta parte das instruções de configuração:

#Next, create the SymmetricDS-specific tables in the corp node database.
#These tables will
#contain the configuration for synchronization. The following command uses 
#the auto-creation
#feature to create all the necessary SymmetricDS system tables.

../bin/symadmin --engine corp-000 create-sym-tables

Quando executo esse comando, recebo a seguinte exceção:

[corp-000] - PostgreSqlSymmetricDialect - Done with auto update of
             SymmetricDS tables
[corp-000] - PostgreSqlSymmetricDialect - Please add
             "custom_variable_classes = 'symmetric'"
             to your postgresql.conf file
-------------------------------------------------------------------------------
An exception occurred.  Please see the following for details:
-------------------------------------------------------------------------------
org.postgresql.util.PSQLException: ERROR: unrecognized configuration parameter "symmetric.triggers_disabled"
    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2157)
    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1886)
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:555)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:417)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:410)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172)
    at org.jumpmind.db.sql.JdbcSqlTransaction$5.execute(JdbcSqlTransaction.java:299)
    at org.jumpmind.db.sql.JdbcSqlTransaction$5.execute(JdbcSqlTransaction.java:289)
    at org.jumpmind.db.sql.JdbcSqlTransaction.executeCallback(JdbcSqlTransaction.java:316)
    org.jumpmind.db.sql.SqlException: ERROR: unrecognized configuration parameter "symmetric.triggers_disabled"
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:288)
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:279)
    at org.jumpmind.db.sql.JdbcSqlTransaction.executeCallback(JdbcSqlTransaction.java:318)
    at org.jumpmind.db.sql.JdbcSqlTransaction.prepareAndExecute(JdbcSqlTransaction.java:289)
    at org.jumpmind.symmetric.db.postgresql.PostgreSqlSymmetricDialect.enableSyncTriggers(PostgreSqlSymmetricDialect.java:217)
    at org.jumpmind.symmetric.db.postgresql.PostgreSqlSymmetricDialect.createRequiredDatabaseObjects(PostgreSqlSymmetricDialect.java:75)
    org.jumpmind.symmetric.SymmetricException: Please add "custom_variable_classes = 'symmetric'" to your postgresql.conf file
    at org.jumpmind.symmetric.db.postgresql.PostgreSqlSymmetricDialect.createRequiredDatabaseObjects(PostgreSqlSymmetricDialect.java:79)
    at org.jumpmind.symmetric.db.AbstractSymmetricDialect.initTablesAndDatabaseObjects(AbstractSymmetricDialect.java:154)
    at org.jumpmind.symmetric.AbstractSymmetricEngine.setupDatabase(AbstractSymmetricEngine.java:364)
    at org.jumpmind.symmetric.SymmetricAdmin.createSymTables(SymmetricAdmin.java:424)
    at org.jumpmind.symmetric.SymmetricAdmin.executeWithOptions(SymmetricAdmin.java:270)
    at org.jumpmind.symmetric.AbstractCommandLauncher.execute(AbstractCommandLauncher.java:130)
    at org.jumpmind.symmetric.SymmetricAdmin.main(SymmetricAdmin.java:119)
-------------------------------------------------------------------------------

Um monte de tabelas foi criado no meu banco de dados, então pareceu funcionar. Eu fiz a mudança para o arquivo postgresql.conf, mas esta exceção ainda é lançada. O que está errado?

    
por Eric Leschinski 10.08.2013 / 06:56

1 resposta

0

O erro que cometi foi que eu editei o arquivo postgresql.conf errado e, em seguida, não reiniciei os bancos de dados postgresql para que essas alterações entrassem em vigor. Consegui me livrar dessa exceção fazendo o seguinte:

  1. Localize seu arquivo real postgresql.conf, o meu é /var/lib/pgsql/data/postgresql.conf

  2. Edite o arquivo como root e altere a linha conforme a exceção diz:

    #custom_variable_classes = ''         
    custom_variable_classes = 'symmetric'
    
  3. Salve o arquivo e reinicie o postgresql:

    systemctl start postgresql.service
    
  4. Execute o comando novamente ../bin/symadmin --engine corp-000 create-sym-tables

Ele é concluído normalmente e imprime esses resultados:

[el@rosewill samples ]$ ../bin/symadmin --engine corp-000 create-sym-tables
Log output will be written to ../logs/symmetric.log
[] - AbstractCommandLauncher - Option: name=engine, value={corp-000}
[corp-000] - PostgreSqlSymmetricDialect - The DbDialect being used is org.jumpmind.symmetric.db.postgresql.PostgreSqlSymmetricDialect
[corp-000] - ExtensionPointManager - Found 5 extension points that will be registered
[corp-000] - AbstractSymmetricEngine - Initializing SymmetricDS database
[corp-000] - PostgreSqlSymmetricDialect - Checking if SymmetricDS tables need created or altered
[corp-000] - PostgreSqlSymmetricDialect - Just installed sym_triggers_disabled
[corp-000] - PostgreSqlSymmetricDialect - Just installed sym_node_disabled
[corp-000] - PostgreSqlSymmetricDialect - Just installed sym_largeobject
[corp-000] - ConfigurationService - Auto-configuring config channel
[corp-000] - ConfigurationService - Auto-configuring reload channel
[corp-000] - ConfigurationService - Auto-configuring heartbeat channel
[corp-000] - ConfigurationService - Auto-configuring default channel
[corp-000] - ConfigurationService - Auto-configuring filesync channel
[corp-000] - AbstractSymmetricEngine - Done initializing SymmetricDS database

Uma solicitação para os desenvolvedores symmetricDS, por favor, use uma mensagem de erro concisa e não uma página de 3 no final de 21 páginas de saída do console. Quando o usuário está coçando a cabeça perguntando o que é isto: ERRO: parâmetro de configuração não reconhecido "symmetric.triggers_disabled".

Não me faça pensar! link

    
por 10.08.2013 / 07:03