<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Struggling to backup selfhosted fusionAuth.]]></title><description><![CDATA[<p dir="auto">Hi folks, new user here, and love this IAM. Its working great in all respects, however, i recently decide to test disaster recovery and spun up a local version in containers running on postgresql. I backed up everything using pg_dumpall and then tried to restore that to a new postgres instance container using psql, which it did without any errors, when I brought fusionAuth up again pointing to the restored database, it would not launch, instead it gave me, hundreds of errors in fusionauth container log like:</p>
<pre><code>2025-01-31 16:33:44 fusionauth-1  | Starting fusionauth-app...
2025-01-31 16:33:44 fusionauth-1  |   --&gt; Logging to /usr/local/fusionauth/logs/fusionauth-app.log
2025-01-31 16:33:44 fusionauth-1  | 2025-01-31 11:33:44.600 PM INFO  io.fusionauth.api.configuration.DefaultFusionAuthConfiguration - Loading FusionAuth configuration file [/usr/local/fusionauth/config/fusionauth.properties]
2025-01-31 16:33:44 fusionauth-1  | 2025-01-31 11:33:44.611 PM INFO  io.fusionauth.api.configuration.DefaultFusionAuthConfiguration - Set property [fusionauth-app.url] set to [http://fusionauth:9011] using configured value.
2025-01-31 16:33:44 fusionauth-1  | 2025-01-31 11:33:44.612 PM INFO  com.inversoft.configuration.BasePropertiesFileInversoftConfiguration - 
2025-01-31 16:33:44 fusionauth-1  |   - Overriding default value of property [database.mysql.enforce-utf8mb4] with value [true]
2025-01-31 16:33:44 fusionauth-1  |   - Overriding default value of property [FUSIONAUTH_APP_RUNTIME_MODE] with value [development]
2025-01-31 16:33:44 fusionauth-1  |   - Overriding default value of property [SEARCH_TYPE] with value [elasticsearch]
2025-01-31 16:33:44 fusionauth-1  | 
2025-01-31 16:33:44 fusionauth-1  | 2025-01-31 11:33:44.629 PM INFO  io.fusionauth.api.configuration.DefaultFusionAuthConfiguration - Loading FusionAuth configuration file [/usr/local/fusionauth/config/fusionauth.properties]
2025-01-31 16:33:44 fusionauth-1  | 2025-01-31 11:33:44.629 PM INFO  io.fusionauth.api.configuration.DefaultFusionAuthConfiguration - Set property [fusionauth-app.url] set to [http://fusionauth:9011] using configured value.
2025-01-31 16:33:44 fusionauth-1  | 2025-01-31 11:33:44.629 PM INFO  com.inversoft.configuration.BasePropertiesFileInversoftConfiguration - 
2025-01-31 16:33:44 fusionauth-1  |   - Overriding default value of property [database.mysql.enforce-utf8mb4] with value [true]
2025-01-31 16:33:44 fusionauth-1  |   - Overriding default value of property [FUSIONAUTH_APP_RUNTIME_MODE] with value [development]
2025-01-31 16:33:44 fusionauth-1  |   - Overriding default value of property [SEARCH_TYPE] with value [elasticsearch]
2025-01-31 16:33:44 fusionauth-1  | 
2025-01-31 16:33:44 fusionauth-1  | 2025-01-31 11:33:44.682 PM INFO  com.inversoft.maintenance.DefaultMaintenanceModeWorkflow - 
2025-01-31 16:33:44 fusionauth-1  | 
2025-01-31 16:33:44 fusionauth-1  | ---------------------------------------------------------------------------------------------------------
2025-01-31 16:33:44 fusionauth-1  | ---------------------------------- Entering Silent Configuration Mode -----------------------------------
2025-01-31 16:33:44 fusionauth-1  | ---------------------------------------------------------------------------------------------------------
2025-01-31 16:33:44 fusionauth-1  | 
2025-01-31 16:33:44 fusionauth-1  | 2025-01-31 11:33:44.773 PM INFO  com.inversoft.maintenance.db.JDBCMaintenanceModeDatabaseService - [b5TD7Q] Attempting to lock database to support multi-node configurations
2025-01-31 16:33:44 fusionauth-1  | 2025-01-31 11:33:44.778 PM INFO  com.inversoft.maintenance.db.JDBCMaintenanceModeDatabaseService - [b5TD7Q] Obtained a database lock
2025-01-31 16:33:44 fusionauth-1  | 2025-01-31 11:33:44.800 PM INFO  com.inversoft.maintenance.db.JDBCMaintenanceModeDatabaseService - [b5TD7Q] Database Version [1.55.1]
2025-01-31 16:33:44 fusionauth-1  | 2025-01-31 11:33:44.802 PM INFO  com.inversoft.maintenance.db.JDBCMaintenanceModeDatabaseService - [b5TD7Q] Latest Migration Version [1.55.1]
2025-01-31 16:33:44 fusionauth-1  | 2025-01-31 11:33:44.803 PM INFO  com.inversoft.maintenance.db.JDBCMaintenanceModeDatabaseService - [b5TD7Q] Attempting to unlock database to support multi-node configurations
2025-01-31 16:33:44 fusionauth-1  | 2025-01-31 11:33:44.803 PM INFO  com.inversoft.maintenance.db.JDBCMaintenanceModeDatabaseService - [b5TD7Q] Unlock completed
2025-01-31 16:33:44 fusionauth-1  | 2025-01-31 11:33:44.804 PM INFO  com.inversoft.search.ElasticRestClientHelper - Connecting to Elasticsearch at [http://search:9200]
2025-01-31 16:33:44 fusionauth-1  | 2025-01-31 11:33:44.996 PM INFO  io.fusionauth.api.configuration.DefaultFusionAuthConfiguration - Loading FusionAuth configuration file [/usr/local/fusionauth/config/fusionauth.properties]
2025-01-31 16:33:44 fusionauth-1  | 2025-01-31 11:33:44.996 PM INFO  io.fusionauth.api.configuration.DefaultFusionAuthConfiguration - Set property [fusionauth-app.url] set to [http://fusionauth:9011] using configured value.
2025-01-31 16:33:44 fusionauth-1  | 2025-01-31 11:33:44.996 PM INFO  com.inversoft.configuration.BasePropertiesFileInversoftConfiguration - 
2025-01-31 16:33:44 fusionauth-1  |   - Overriding default value of property [database.mysql.enforce-utf8mb4] with value [true]
2025-01-31 16:33:44 fusionauth-1  |   - Overriding default value of property [FUSIONAUTH_APP_RUNTIME_MODE] with value [development]
2025-01-31 16:33:44 fusionauth-1  |   - Overriding default value of property [SEARCH_TYPE] with value [elasticsearch]
2025-01-31 16:33:44 fusionauth-1  | 
2025-01-31 16:33:45 fusionauth-1  | 2025-01-31 11:33:45.040 PM INFO  com.inversoft.maintenance.MaintenanceModePoller - Poller started to Wait for configuration to be completed.
2025-01-31 16:33:45 fusionauth-1  | 2025-01-31 11:33:45.041 PM INFO  io.fusionauth.app.primeframework.FusionHTTPContextAuthSetup - Initializing the FusionAuth HTTP Context.
2025-01-31 16:33:45 fusionauth-1  | 2025-01-31 11:33:45.071 PM INFO  com.inversoft.maintenance.db.JDBCMaintenanceModeDatabaseService - [b5TD7Q] Database Version [1.55.1]
2025-01-31 16:33:45 fusionauth-1  | 2025-01-31 11:33:45.071 PM INFO  com.inversoft.maintenance.db.JDBCMaintenanceModeDatabaseService - [b5TD7Q] Latest Migration Version [1.55.1]
2025-01-31 16:33:45 fusionauth-1  | 2025-01-31 11:33:45.072 PM INFO  com.inversoft.search.ElasticRestClientHelper - Connecting to Elasticsearch at [http://search:9200]
2025-01-31 16:33:45 fusionauth-1  | 2025-01-31 11:33:45.078 PM INFO  io.fusionauth.app.guice.FusionAuthModule - 
2025-01-31 16:33:45 fusionauth-1  | 
2025-01-31 16:33:45 fusionauth-1  | ---------------------------------------------------------------------------------------------------------
2025-01-31 16:33:45 fusionauth-1  | --------------------------------- Starting FusionAuth version [1.55.1] ----------------------------------
2025-01-31 16:33:45 fusionauth-1  | ---------------------------------------------------------------------------------------------------------
2025-01-31 16:33:45 fusionauth-1  | 
2025-01-31 16:33:45 fusionauth-1  | 2025-01-31 11:33:45.171 PM INFO  io.fusionauth.api.plugin.guice.PluginModule - No plugins found
2025-01-31 16:33:45 fusionauth-1  | 2025-01-31 11:33:45.219 PM INFO  io.fusionauth.api.service.system.NodeService - Node [ee607efc-5736-480b-b3ad-3308126a8fbb] started.
2025-01-31 16:33:45 fusionauth-1  | 2025-01-31 11:33:45.380 PM INFO  io.fusionauth.api.configuration.DefaultFusionAuthConfiguration - Loading FusionAuth configuration file [/usr/local/fusionauth/config/fusionauth.properties]
2025-01-31 16:33:45 fusionauth-1  | 2025-01-31 11:33:45.380 PM INFO  io.fusionauth.api.configuration.DefaultFusionAuthConfiguration - Set property [fusionauth-app.url] set to [http://fusionauth:9011] using configured value.
2025-01-31 16:33:45 fusionauth-1  | 2025-01-31 11:33:45.381 PM INFO  com.inversoft.configuration.BasePropertiesFileInversoftConfiguration - 
2025-01-31 16:33:45 fusionauth-1  |   - Overriding default value of property [database.mysql.enforce-utf8mb4] with value [true]
2025-01-31 16:33:45 fusionauth-1  |   - Overriding default value of property [FUSIONAUTH_APP_RUNTIME_MODE] with value [development]
2025-01-31 16:33:45 fusionauth-1  |   - Overriding default value of property [SEARCH_TYPE] with value [elasticsearch]
2025-01-31 16:33:45 fusionauth-1  | 
2025-01-31 16:33:45 fusionauth-1  | 2025-01-31 11:33:45.381 PM INFO  com.inversoft.jdbc.hikari.DataSourceProvider - Connecting to PostgreSQL database at [jdbc:postgresql://db2:5432/fusionauth]
2025-01-31 16:33:45 fusionauth-1  | 2025-01-31 11:33:45.384 PM INFO  com.zaxxer.hikari.HikariDataSource - Database-background - Starting...
2025-01-31 16:33:45 fusionauth-1  | 2025-01-31 11:33:45.398 PM INFO  com.zaxxer.hikari.HikariDataSource - Database-background - Start completed.
2025-01-31 16:33:45 fusionauth-1  | 2025-01-31 11:33:45.673 PM INFO  com.inversoft.jdbc.hikari.DataSourceProvider - Connecting to PostgreSQL database at [jdbc:postgresql://db2:5432/fusionauth]
2025-01-31 16:33:45 fusionauth-1  | 2025-01-31 11:33:45.673 PM INFO  com.zaxxer.hikari.HikariDataSource - Database-primary - Starting...
2025-01-31 16:33:45 fusionauth-1  | 2025-01-31 11:33:45.678 PM INFO  com.zaxxer.hikari.pool.HikariPool - Database-primary - Added connection org.postgresql.jdbc.PgConnection@175f859e
2025-01-31 16:33:45 fusionauth-1  | 2025-01-31 11:33:45.678 PM INFO  com.zaxxer.hikari.HikariDataSource - Database-primary - Start completed.
2025-01-31 16:33:45 fusionauth-1  | 2025-01-31 11:33:45.754 PM INFO  com.inversoft.jdbc.hikari.DataSourceProvider - Connecting to PostgreSQL database at [jdbc:postgresql://db2:5432/fusionauth]
2025-01-31 16:33:45 fusionauth-1  | 2025-01-31 11:33:45.755 PM INFO  com.zaxxer.hikari.HikariDataSource - Database-secondary - Starting...
2025-01-31 16:33:45 fusionauth-1  | 2025-01-31 11:33:45.759 PM INFO  com.zaxxer.hikari.pool.HikariPool - Database-secondary - Added connection org.postgresql.jdbc.PgConnection@21f91efa
2025-01-31 16:33:45 fusionauth-1  | 2025-01-31 11:33:45.759 PM INFO  com.zaxxer.hikari.HikariDataSource - Database-secondary - Start completed.
2025-01-31 16:33:45 fusionauth-1  | 2025-01-31 11:33:45.921 PM INFO  com.inversoft.scheduler.DefaultScheduler - Starting up scheduler
2025-01-31 16:33:45 fusionauth-1  | 2025-01-31 11:33:45.922 PM INFO  com.inversoft.scheduler.DefaultScheduler - Scheduler is running
2025-01-31 16:33:45 fusionauth-1  | 2025-01-31 11:33:45.952 PM ERROR com.inversoft.scheduler.LogAndRetainFailureHandler - The scheduled service [class io.fusionauth.api.service.cache.CORSConfigurationCacheLoader] failed but will be re-run.
2025-01-31 16:33:45 fusionauth-1  | org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 2
2025-01-31 16:33:45 fusionauth-1  |     at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:81)
2025-01-31 16:33:45 fusionauth-1  |     at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
2025-01-31 16:33:45 fusionauth-1  |     at java.base/java.lang.reflect.Method.invoke(Method.java:580)
2025-01-31 16:33:45 fusionauth-1  |     at org.apache.ibatis.session.SqlSessionManager$SqlSessionInterceptor.invoke(SqlSessionManager.java:355)
2025-01-31 16:33:45 fusionauth-1  |     at jdk.proxy2/jdk.proxy2.$Proxy61.selectOne(Unknown Source)
2025-01-31 16:33:45 fusionauth-1  |     at org.apache.ibatis.session.SqlSessionManager.selectOne(SqlSessionManager.java:164)
2025-01-31 16:33:45 fusionauth-1  |     at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:87)
2025-01-31 16:33:45 fusionauth-1  |     at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141)
2025-01-31 16:33:45 fusionauth-1  |     at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86)
2025-01-31 16:33:45 fusionauth-1  |     at jdk.proxy2/jdk.proxy2.$Proxy63.retrieve(Unknown Source)
2025-01-31 16:33:45 fusionauth-1  |     at io.fusionauth.api.service.cache.CORSConfigurationCacheLoader.internalLoad(CORSConfigurationCacheLoader.java:36)
2025-01-31 16:33:45 fusionauth-1  |     at com.inversoft.cache.BaseSingleValueCacheLoader.load(BaseSingleValueCacheLoader.java:13)
2025-01-31 16:33:45 fusionauth-1  |     at io.fusionauth.api.service.cache.CORSConfigurationCacheLoader.run(CORSConfigurationCacheLoader.java:30)
2025-01-31 16:33:45 fusionauth-1  |     at com.inversoft.scheduler.InjectableRunnable.run(InjectableRunnable.java:56)
2025-01-31 16:33:45 fusionauth-1  |     at com.inversoft.scheduler.DefaultScheduler.&lt;init&gt;(DefaultScheduler.java:70)
2025-01-31 16:33:45 fusionauth-1  |     at com.inversoft.scheduler.DefaultScheduler$$FastClassByGuice$$9ed33ea.GUICE$TRAMPOLINE(&lt;generated&gt;)
2025-01-31 16:33:45 fusionauth-1  |     at com.inversoft.scheduler.DefaultScheduler$$FastClassByGuice$$9ed33ea.apply(&lt;generated&gt;)
2025-01-31 16:33:45 fusionauth-1  |     at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:82)
2025-01-31 16:33:45 fusionauth-1  |     at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
2025-01-31 16:33:45 fusionauth-1  |     at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
2025-01-31 16:33:45 fusionauth-1  |     at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:300)
2025-01-31 16:33:45 fusionauth-1  |     at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
2025-01-31 16:33:45 fusionauth-1  |     at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:169)
2025-01-31 16:33:45 fusionauth-1  |     at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45)
2025-01-31 16:33:45 fusionauth-1  |     at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:60)
2025-01-31 16:33:45 fusionauth-1  |     at com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:213)
2025-01-31 16:33:45 fusionauth-1  |     at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:186)
2025-01-31 16:33:45 fusionauth-1  |     at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:113)
2025-01-31 16:33:45 fusionauth-1  |     at com.google.inject.Guice.createInjector(Guice.java:87)
2025-01-31 16:33:45 fusionauth-1  |     at com.google.inject.Guice.createInjector(Guice.java:69)
2025-01-31 16:33:45 fusionauth-1  |     at com.google.inject.Guice.createInjector(Guice.java:59)
2025-01-31 16:33:45 fusionauth-1  |     at org.primeframework.mvc.guice.GuiceBootstrap.initialize(GuiceBootstrap.java:60)
2025-01-31 16:33:45 fusionauth-1  |     at org.primeframework.mvc.BasePrimeMain.hup(BasePrimeMain.java:69)
2025-01-31 16:33:45 fusionauth-1  |     at org.primeframework.mvc.BasePrimeMain.start(BasePrimeMain.java:100)
2025-01-31 16:33:45 fusionauth-1  |     at io.fusionauth.app.FusionAuthMain.main(FusionAuthMain.java:27)
2025-01-31 16:33:45 fusionauth-1  | 2025-01-31 11:33:45.958 PM INFO  com.inversoft.search.ElasticRestClientHelper - Connecting to Elasticsearch at [http://search:9200]
2025-01-31 16:33:45 fusionauth-1  | 2025-01-31 11:33:45.961 PM ERROR com.inversoft.scheduler.LogAndRetainFailureHandler - The scheduled service [class io.fusionauth.api.service.cache.IdentityProviderCacheLoader] failed but will be re-run.
2025-01-31 16:33:45 fusionauth-1  | com.google.inject.ProvisionException: Unable to provision, see the following errors:
2025-01-31 16:33:45 fusionauth-1  | 
2025-01-31 16:33:45 fusionauth-1  | 1) [Guice/ErrorInCustomProvider]: TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 2
2025-01-31 16:33:45 fusionauth-1  |   at FusionAuthMVCModule.configure(FusionAuthMVCModule.java:31)
2025-01-31 16:33:45 fusionauth-1  |       \_ installed by: FusionAuthModule -&gt; Modules$OverrideModule -&gt; FusionAuthMVCModule
2025-01-31 16:33:45 fusionauth-1  |   at FusionAuthObjectMapperProvider.&lt;init&gt;(FusionAuthObjectMapperProvider.java:24)
2025-01-31 16:33:45 fusionauth-1  |       \_ for 2nd parameter
2025-01-31 16:33:45 fusionauth-1  |   while locating FusionAuthObjectMapperProvider
2025-01-31 16:33:45 fusionauth-1  |   at FusionAuthContentModule.bindObjectMapper(FusionAuthContentModule.java:24)
2025-01-31 16:33:45 fusionauth-1  |       \_ installed by: FusionAuthModule -&gt; Modules$OverrideModule -&gt; FusionAuthContentModule
2025-01-31 16:33:45 fusionauth-1  |   at DefaultCipherService.&lt;init&gt;(DefaultCipherService.java:37)
2025-01-31 16:33:45 fusionauth-1  |       \_ for 1st parameter
2025-01-31 16:33:45 fusionauth-1  |   while locating DefaultCipherService
2025-01-31 16:33:45 fusionauth-1  |   at DefaultReactorCore.&lt;init&gt;(DefaultReactorCore.java:66)
2025-01-31 16:33:45 fusionauth-1  |       \_ for 1st parameter
2025-01-31 16:33:45 fusionauth-1  |   while locating DefaultReactorCore
2025-01-31 16:33:45 fusionauth-1  |   at InstanceManager.&lt;init&gt;(InstanceManager.java:38)
2025-01-31 16:33:45 fusionauth-1  |       \_ for 3rd parameter
2025-01-31 16:33:45 fusionauth-1  |   at DefaultReactorService.&lt;init&gt;(DefaultReactorService.java:90)
2025-01-31 16:33:45 fusionauth-1  |       \_ for 5th parameter
2025-01-31 16:33:45 fusionauth-1  |   while locating DefaultReactorService
2025-01-31 16:33:45 fusionauth-1  |   at DefaultPasswordService.&lt;init&gt;(DefaultPasswordService.java:52)
2025-01-31 16:33:45 fusionauth-1  |       \_ for 3rd parameter
2025-01-31 16:33:45 fusionauth-1  |   while locating DefaultPasswordService
2025-01-31 16:33:45 fusionauth-1  |   at FusionAuthConnector.&lt;init&gt;(FusionAuthConnector.java:43)
2025-01-31 16:33:45 fusionauth-1  |       \_ for 2nd parameter
2025-01-31 16:33:45 fusionauth-1  |   while locating FusionAuthConnector
2025-01-31 16:33:45 fusionauth-1  |   while locating Connector annotated with @Element(setName=,uniqueId=56, type=MAPBINDER, keyType=ConnectorType)
2025-01-31 16:33:45 fusionauth-1  |   at DefaultAuthenticationService.&lt;init&gt;(DefaultAuthenticationService.java:140)
2025-01-31 16:33:45 fusionauth-1  |       \_ for 4th parameter
2025-01-31 16:33:45 fusionauth-1  |   while locating DefaultAuthenticationService
2025-01-31 16:33:45 fusionauth-1  |   at AppleIdentityProviderAuthenticationService.&lt;init&gt;(AppleIdentityProviderAuthenticationService.java:76)
2025-01-31 16:33:45 fusionauth-1  |       \_ for 2nd parameter
2025-01-31 16:33:45 fusionauth-1  |   while locating AppleIdentityProviderAuthenticationService
2025-01-31 16:33:45 fusionauth-1  |   while locating IdentityProviderAuthenticationService annotated with @Element(setName=,uniqueId=114, type=MAPBINDER, keyType=IdentityProviderType)
2025-01-31 16:33:45 fusionauth-1  |   at IdentityProviderCacheLoader.&lt;init&gt;(IdentityProviderCacheLoader.java:39)
2025-01-31 16:33:45 fusionauth-1  |       \_ for 4th parameter
2025-01-31 16:33:45 fusionauth-1  |   while locating IdentityProviderCacheLoader
2025-01-31 16:33:45 fusionauth-1  | 
2025-01-31 16:33:45 fusionauth-1  | Learn more:
2025-01-31 16:33:45 fusionauth-1  |   https://github.com/google/guice/wiki/ERROR_IN_CUSTOM_PROVIDER
2025-01-31 16:33:45 fusionauth-1  | 
2025-01-31 16:33:45 fusionauth-1  | 1 error
</code></pre>
<p dir="auto">These appear to be duplicates create during restore, but i was hoping conventional backup logic would work with postgres &amp; fusionAuth.</p>
<p dir="auto">Im i missing something obvious? what do other folks do using pg and FA?</p>
<p dir="auto">Thanks in advance<br />
Franco</p>
]]></description><link>https://fusionauth.io/community/forum/topic/2859/struggling-to-backup-selfhosted-fusionauth</link><generator>RSS for Node</generator><lastBuildDate>Tue, 19 May 2026 03:12:41 GMT</lastBuildDate><atom:link href="https://fusionauth.io/community/forum/topic/2859.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 31 Jan 2025 23:37:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Struggling to backup selfhosted fusionAuth. on Fri, 20 Feb 2026 15:43:51 GMT]]></title><description><![CDATA[<p dir="auto">Answering my own question here... turns out there was a version mismatch. Oh dear <img src="https://fusionauth.io/community/forum/assets/plugins/nodebb-plugin-emoji/emoji/android/1f61e.png?v=rcgg4tg866g" class="not-responsive emoji emoji-android emoji--disappointed" style="height:23px;width:auto;vertical-align:middle" title=":-(" alt="😞" /></p>
<p dir="auto">To summarise...</p>
<p dir="auto">Perform backups using <code>pg_dumpall</code> and hive them off the server somewhere. This gives you textual SQL files, if you prefer, <code>pg_dump</code> can do different things, but works on an individual database at a time.</p>
<p dir="auto">I'd also recommend you setup your server using something like Ansible. It means that things like your properties file and other details will be the same next time you need to (re)install.</p>
<p dir="auto">To restore:</p>
<ul>
<li>Stop FusionAuth if it's running</li>
<li>Make certain FusionAuth is the same version as was used when the backup took place!</li>
<li>Go double-check those versions <img src="https://fusionauth.io/community/forum/assets/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=rcgg4tg866g" class="not-responsive emoji emoji-android emoji--wink" style="height:23px;width:auto;vertical-align:middle" title=";-)" alt="😉" /></li>
<li>Restore by running <code>sudo -u postgres psql &lt; dump.sql</code></li>
<li>Restart FusionAuth (not in silent mode)</li>
</ul>
<p dir="auto">For More sensitive environments, you may want to consider database replication and making a warm-standby server.</p>
]]></description><link>https://fusionauth.io/community/forum/post/8516</link><guid isPermaLink="true">https://fusionauth.io/community/forum/post/8516</guid><dc:creator><![CDATA[ralph]]></dc:creator><pubDate>Fri, 20 Feb 2026 15:43:51 GMT</pubDate></item><item><title><![CDATA[Reply to Struggling to backup selfhosted fusionAuth. on Mon, 23 Feb 2026 14:11:19 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://fusionauth.io/community/forum/uid/341">@ralph</a> Thanks for following up and sharing!</p>
]]></description><link>https://fusionauth.io/community/forum/post/8517</link><guid isPermaLink="true">https://fusionauth.io/community/forum/post/8517</guid><dc:creator><![CDATA[mark.robustelli]]></dc:creator><pubDate>Mon, 23 Feb 2026 14:11:19 GMT</pubDate></item><item><title><![CDATA[Reply to Struggling to backup selfhosted fusionAuth. on Fri, 20 Feb 2026 15:43:51 GMT]]></title><description><![CDATA[<p dir="auto">Answering my own question here... turns out there was a version mismatch. Oh dear <img src="https://fusionauth.io/community/forum/assets/plugins/nodebb-plugin-emoji/emoji/android/1f61e.png?v=rcgg4tg866g" class="not-responsive emoji emoji-android emoji--disappointed" style="height:23px;width:auto;vertical-align:middle" title=":-(" alt="😞" /></p>
<p dir="auto">To summarise...</p>
<p dir="auto">Perform backups using <code>pg_dumpall</code> and hive them off the server somewhere. This gives you textual SQL files, if you prefer, <code>pg_dump</code> can do different things, but works on an individual database at a time.</p>
<p dir="auto">I'd also recommend you setup your server using something like Ansible. It means that things like your properties file and other details will be the same next time you need to (re)install.</p>
<p dir="auto">To restore:</p>
<ul>
<li>Stop FusionAuth if it's running</li>
<li>Make certain FusionAuth is the same version as was used when the backup took place!</li>
<li>Go double-check those versions <img src="https://fusionauth.io/community/forum/assets/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=rcgg4tg866g" class="not-responsive emoji emoji-android emoji--wink" style="height:23px;width:auto;vertical-align:middle" title=";-)" alt="😉" /></li>
<li>Restore by running <code>sudo -u postgres psql &lt; dump.sql</code></li>
<li>Restart FusionAuth (not in silent mode)</li>
</ul>
<p dir="auto">For More sensitive environments, you may want to consider database replication and making a warm-standby server.</p>
]]></description><link>https://fusionauth.io/community/forum/post/8516</link><guid isPermaLink="true">https://fusionauth.io/community/forum/post/8516</guid><dc:creator><![CDATA[ralph]]></dc:creator><pubDate>Fri, 20 Feb 2026 15:43:51 GMT</pubDate></item><item><title><![CDATA[Reply to Struggling to backup selfhosted fusionAuth. on Fri, 20 Feb 2026 15:41:37 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://fusionauth.io/community/forum/uid/341">@ralph</a> Are you getting the same errors? I did see a reference to trying pg_dump vs pg_dumpall. Can you try that and let us know if it works?</p>
]]></description><link>https://fusionauth.io/community/forum/post/8515</link><guid isPermaLink="true">https://fusionauth.io/community/forum/post/8515</guid><dc:creator><![CDATA[mark.robustelli]]></dc:creator><pubDate>Fri, 20 Feb 2026 15:41:37 GMT</pubDate></item><item><title><![CDATA[Reply to Struggling to backup selfhosted fusionAuth. on Fri, 20 Feb 2026 14:10:15 GMT]]></title><description><![CDATA[<p dir="auto">Did you ever get a solution to this? I've just hit the same problem.</p>
<p dir="auto">In my case, I have a single server which failed, so I've re-installed (with the same version of FusionAuth as was on there before). I can let it run up as normal and it works fine, but if I restore my <code>pg_dumpall</code> backup, then I get the same errors as you.</p>
<p dir="auto">I rather assumed that a postgres full backup was all I needed to do for DR, but are there other steps as well? This seems surprisingly under-documented <img src="https://fusionauth.io/community/forum/assets/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=rcgg4tg866g" class="not-responsive emoji emoji-android emoji--wink" style="height:23px;width:auto;vertical-align:middle" title=";-)" alt="😉" /></p>
]]></description><link>https://fusionauth.io/community/forum/post/8512</link><guid isPermaLink="true">https://fusionauth.io/community/forum/post/8512</guid><dc:creator><![CDATA[ralph]]></dc:creator><pubDate>Fri, 20 Feb 2026 14:10:15 GMT</pubDate></item><item><title><![CDATA[Reply to Struggling to backup selfhosted fusionAuth. on Mon, 03 Feb 2025 16:25:19 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://fusionauth.io/community/forum/uid/3401">@spydmobile</a> Are all the errors specifically about the CORSConfigurationCacheLoader or are there others?</p>
<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://fusionauth.io/community/forum/uid/3401">@spydmobile</a> said in <a href="/community/forum/post/7790">Struggling to backup selfhosted fusionAuth.</a>:</p>
<blockquote>
<p dir="auto">2025-01-31 16:33:45 fusionauth-1  | 2025-01-31 11:33:45.952 PM ERROR com.inversoft.scheduler.LogAndRetainFailureHandler - The scheduled service [class io.fusionauth.api.service.cache.CORSConfigurationCacheLoader] failed but will be re-run.<br />
2025-01-31 16:33:45 fusionauth-1  | org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 2</p>
</blockquote>
]]></description><link>https://fusionauth.io/community/forum/post/7793</link><guid isPermaLink="true">https://fusionauth.io/community/forum/post/7793</guid><dc:creator><![CDATA[mark.robustelli]]></dc:creator><pubDate>Mon, 03 Feb 2025 16:25:19 GMT</pubDate></item></channel></rss>