How use different postgresql schemas for EPP-SP 5.1
I want to use postgresql schemas to store portal and ecmdemo contents, so the datasources were configured as follow below.
gatein-ds.xml
<no-tx-datasource>
<jndi-name>gatein-idm_portal</jndi-name>
<connection-url>jdbc:postgresql://localhost/jbepp01</connection-url>
<driver-class>org.postgresql.Driver</driver-class>
<user-name>u_epp_portal01</user-name>
<password>admin123</password>
<new-connection-sql>SET search_path TO epp_portal01</new-connection-sql>
</no-tx-datasource>
<no-tx-datasource>
<jndi-name>gatein-jcr_portal</jndi-name>
<connection-url>jdbc:postgresql://localhost/jbepp01</connection-url>
<driver-class>org.postgresql.Driver</driver-class>
<user-name>u_epp_portal01</user-name>
<password>admin123</password>
<new-connection-sql>SET search_path TO epp_portal01</new-connection-sql>
</no-tx-datasource>
wcm-ds.xml
<no-tx-datasource>
<jndi-name>gatein-idm_ecmdemo</jndi-name>
<connection-url>jdbc:postgresql://localhost/jbepp01</connection-url>
<driver-class>org.postgresql.Driver</driver-class>
<user-name>u_epp_ecm01</user-name>
<password>admin123</password>
<new-connection-sql>SET search_path TO epp_ecm01</new-connection-sql>
</no-tx-datasource>
<no-tx-datasource>
<jndi-name>gatein-jcr_ecmdemo</jndi-name>
<connection-url>jdbc:postgresql://localhost/jbepp01</connection-url>
<driver-class>org.postgresql.Driver</driver-class>
<user-name>u_epp_ecm01</user-name>
<password>admin123</password>
<new-connection-sql>SET search_path TO epp_ecm01</new-connection-sql>
</no-tx-datasource>
CREATE SCHEMA epp_portal01 AUTHORIZATION u_epp_portal01;
GRANT ALL ON SCHEMA epp_portal01 TO u_epp_portal01;
CREATE SCHEMA epp_ecm01 AUTHORIZATION u_epp01;
GRANT ALL ON SCHEMA epp_ecm01 TO u_epp_ecm01;
CREATE ROLE u_epp_ecm01 LOGIN
ENCRYPTED PASSWORD 'md5496b71c50a6c7784e1ac9f905509cdd3'
NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE;
ALTER ROLE u_epp_ecm01 SET search_path=epp_ecm01;
CREATE ROLE u_epp_portal01 LOGIN
ENCRYPTED PASSWORD 'md5a76265547d2c6772623fc38a6211fa16'
NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE;
ALTER ROLE u_epp_portal01 SET search_path=epp_portal01;
Note each user has default path to the appropriate schema.
When EPP starts it correctly created the tables at epp_ecm01 schema.
However, the tables are not created for schema epp_portal01, there are errors.
I ask if it is possible to use different postgresql schemas for EPP-SP ?
Caused by: java.lang.RuntimeException: org.exoplatform.services.jcr.config.RepositoryConfigurationException: Database exception. org.postgresql.util.PSQLException: ERROR: relation "jcr_config" does not exist Position: 22 at org.exoplatform.services.jcr.impl.config.RepositoryServiceConfigurationImpl.start(RepositoryServiceConfigurationImpl.java:299) at sun.reflect.GeneratedMethodAccessor401.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.picocontainer.defaults.LifecycleVisitor.traverse(LifecycleVisitor.java:75) ... 77 more Caused by: org.exoplatform.services.jcr.config.RepositoryConfigurationException: Database exception. org.postgresql.util.PSQLException: ERROR: relation "jcr_config" does not exist Position: 22 at org.exoplatform.services.jcr.impl.config.JDBCConfigurationPersister.hasConfig(JDBCConfigurationPersister.java:293) at org.exoplatform.services.jcr.impl.config.RepositoryServiceConfigurationImpl.start(RepositoryServiceConfigurationImpl.java:254) ... 81 more Caused by: org.postgresql.util.PSQLException: ERROR: relation "jcr_config" does not exist Position: 22 at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2102) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1835) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257) at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:512) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:388) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:273) at org.jboss.resource.adapter.jdbc.CachedPreparedStatement.executeQuery(CachedPreparedStatement.java:91) at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:342) at org.exoplatform.services.jcr.impl.config.JDBCConfigurationPersister.hasConfig(JDBCConfigurationPersister.java:254) ... 82 more Caused by: java.lang.RuntimeException: org.exoplatform.services.jcr.config.RepositoryConfigurationException: Database exception. org.postgresql.util.PSQLException: ERROR: relation "jcr_config" does not exist Position: 22 at org.exoplatform.services.jcr.impl.config.RepositoryServiceConfigurationImpl.start(RepositoryServiceConfigurationImpl.java:299) at sun.reflect.GeneratedMethodAccessor401.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.picocontainer.defaults.LifecycleVisitor.traverse(LifecycleVisitor.java:75) at org.picocontainer.defaults.LifecycleVisitor.start(LifecycleVisitor.java:113) at org.exoplatform.container.ConcurrentPicoContainer.start(ConcurrentPicoContainer.java:453) at org.exoplatform.container.ExoContainer.start(ExoContainer.java:186) at org.exoplatform.container.PortalContainer.start(PortalContainer.java:620) at org.exoplatform.container.ExoContainer.start(ExoContainer.java:180) at org.exoplatform.container.RootContainer.createPortalContainer(RootContainer.java:357) at org.exoplatform.container.RootContainer.createPortalContainers(RootContainer.java:249) at org.exoplatform.container.web.PortalContainerCreator.contextInitialized(PortalContainerCreator.java:57) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3910) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4389) at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:321) at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:145) at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:461) at org.jboss.web.deployers.WebModule.startModule(WebModule.java:118) at org.jboss.web.deployers.WebModule.start(WebModule.java:97) at sun.reflect.GeneratedMethodAccessor294.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96) at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668) at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206) at $Proxy38.start(Unknown Source) at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42) at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:37) at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62) at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71) at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51) at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348) at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:297) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1652) at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:938) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:988) at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:826) at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:556) at org.jboss.system.ServiceController.doChange(ServiceController.java:688) at org.jboss.system.ServiceController.start(ServiceController.java:460) at org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:163) at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:99) at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:46) at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62) at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:55) at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:179) at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1454) at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1172) at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1193) at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1225) at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1113) at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1652) at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:938) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:988) at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:826) at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:556) at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:789) at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:699) at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117) at org.jboss.system.server.profileservice.repository.ProfileDeployAction.install(ProfileDeployAction.java:70) at org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProfileAction.java:53) at org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractProfileService.java:403) at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1652) at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:938) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:988) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:778) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:543) at org.jboss.system.server.profileservice.repository.AbstractProfileService.registerProfile(AbstractProfileService.java:308) at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:256) at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461) at org.jboss.Main.boot(Main.java:221) at org.jboss.Main$1.run(Main.java:556) at java.lang.Thread.run(Thread.java:662) Caused by: org.exoplatform.services.jcr.config.RepositoryConfigurationException: Database exception. org.postgresql.util.PSQLException: ERROR: relation "jcr_config" does not exist Position: 22 at org.exoplatform.services.jcr.impl.config.JDBCConfigurationPersister.hasConfig(JDBCConfigurationPersister.java:293) at org.exoplatform.services.jcr.impl.config.RepositoryServiceConfigurationImpl.start(RepositoryServiceConfigurationImpl.java:254) ... 81 more Caused by: org.postgresql.util.PSQLException: ERROR: relation "jcr_config" does not exist Position: 22 at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2102) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1835) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257) at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:512) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:388) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:273) at org.jboss.resource.adapter.jdbc.CachedPreparedStatement.executeQuery(CachedPreparedStatement.java:91) at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:342) at org.exoplatform.services.jcr.impl.config.JDBCConfigurationPersister.hasConfig(JDBCConfigurationPersister.java:254)