Ausnahme beim Konfigurieren von symmetricDS mit postgresql unter Linux

1477
Eric Leschinski

SymmetricDS ist ein Java-Tool, mit dem Datenbanken und Tabellen über eine intermittierende Internetverbindung repliziert werden können. Ich habe Probleme beim Konfigurieren von Postgresql.

Ich mache dieses Stück der Konfigurationsanweisungen:

#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 

Wenn ich diesen Befehl ausführen, erhalte ich die folgende Ausnahme:

[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) ------------------------------------------------------------------------------- 

Ein paar Tabellen wurden in meiner Datenbank erstellt, daher schien es zu funktionieren. Ich habe die Änderung an der postgresql.conf-Datei vorgenommen, diese Ausnahme wird jedoch immer noch ausgelöst. Was ist falsch?

0

1 Antwort auf die Frage

0
Eric Leschinski

Mein Fehler war, dass ich die falsche postgresql.conf -Datei bearbeitet habe und die postgresql-Datenbanken nicht neu gestartet habe, damit die Änderungen wirksam werden. Ich konnte diese Exception loswerden, indem ich Folgendes tat:

  1. Suchen Sie Ihre echte postgresql.conf -Datei /var/lib/pgsql/data/postgresql.conf

  2. Bearbeiten Sie die Datei als root und ändern Sie die Zeile wie in der Ausnahme angegeben:

    #custom_variable_classes = ''  custom_variable_classes = 'symmetric' 
  3. Speichern Sie die Datei und starten Sie postgresql neu:

    systemctl start postgresql.service 
  4. Führen Sie den Befehl erneut aus ../bin/symadmin --engine corp-000 create-sym-tables

Es wird normalerweise abgeschlossen und diese Ergebnisse gedruckt:

[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] - 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 

Eine Anforderung an die Entwickler von symmetricDS verwenden Sie bitte eine kurze, klare Fehlermeldung, nicht eine 3-seitige am Ende von 21 Seiten der Konsolenausgabe. Wenn der Benutzer den Kopf kratzt und sich fragt, was dies ist: ERROR: Nicht erkannter Konfigurationsparameter "symmetric.triggers_disabled".

Bring mich nicht zum Nachdenken! http://www.sensible.com/dmmt.html

Beachten Sie, dass Sie bei der Verwendung von PostgreSQL 9.2 oder neuer diesen Parameter nicht mehr einstellen müssen - noch können Sie dies tun, er wird abgelehnt. Craig Ringer vor 11 Jahren 1