带有Postgres注册表数据库的WSO2 Identity Server 5.0.0

带有Postgres注册表数据库的WSO2 Identity Server 5.0.0,wso2,wso2is,postgresql-9.1,Wso2,Wso2is,Postgresql 9.1,我尝试使用postgresql-9.1作为注册表数据库使用WSO2-Identity Server 5.0.0,但遇到以下问题: 首先,我在设置注册表数据库时遇到一些问题: 在第199行的文件${CARBON_HOME}/dbscripts/identity/postgresql.sql中,我必须替换: ID INTEGER INTEGER NEXTVAL('IDN_ASSOCIATED_ID_SEQ'), PROPERTY_BLOB_VALUE BLOB, 借 在文件${CARBON_

我尝试使用postgresql-9.1作为注册表数据库使用WSO2-Identity Server 5.0.0,但遇到以下问题:

首先,我在设置注册表数据库时遇到一些问题:

  • 在第199行的文件${CARBON_HOME}/dbscripts/identity/postgresql.sql中,我必须替换:

    ID INTEGER INTEGER NEXTVAL('IDN_ASSOCIATED_ID_SEQ'),
    
    PROPERTY_BLOB_VALUE BLOB,
    

  • 在文件${CARBON_HOME}/dbscripts/identity/application mgt/postgresql.sql中,我必须替换出现的每一个:

    ID INTEGER NEXTVAL
    

    在第249行,我必须替换:

    ID INTEGER INTEGER NEXTVAL('IDN_ASSOCIATED_ID_SEQ'),
    
    PROPERTY_BLOB_VALUE BLOB,
    

然后我可以创建注册表数据库,但我还有一些其他问题

  • 某些列的大小: 在我的配置中,用户通过他们的电子邮件进行标识(因此用户标识符可能很长),这在尝试添加服务提供商时导致异常。例如,在注册表日志表中,我必须增加注册表用户id列的大小。我不确定这是否必要,但我还更改了表REG\u CLUSTER\u LOCK、REG\u RESOURCE、REG\u RESOURCE\u HISTORY、REG\u COMMENT、REG\u RATING和REG\u TAG的某些列的大小

  • 当我尝试添加服务提供商时,出现以下异常:

    Caused by: org.postgresql.util.PSQLException: ERREUR: column « ID » doesn't exists Position : 125
    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2161)
    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1890)
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:560)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:417)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:410)
    at org.wso2.carbon.identity.application.mgt.dao.impl.ApplicationDAOImpl.createApplication(ApplicationDAOImpl.java:129)
    ... 50 more
    
    Caused by: java.sql.SQLFeatureNotSupportedException: function org.postgresql.jdbc4.Jdbc4PreparedStatement.setBinaryStream(int, InputStream) not yet implemented.
    at org.postgresql.Driver.notImplemented(Driver.java:727)
    at org.postgresql.jdbc4.AbstractJdbc4Statement.setBinaryStream(AbstractJdbc4Statement.java:134)
    at org.wso2.carbon.idp.mgt.dao.IdPManagementDAO.addIdP(IdPManagementDAO.java:1236)
    ... 122 more
    
    看起来postgresql是区分大小写的。该列存在,但小写

  • 当我尝试添加IdP提供程序时,出现以下异常:

    Caused by: org.postgresql.util.PSQLException: ERREUR: column « ID » doesn't exists Position : 125
    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2161)
    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1890)
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:560)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:417)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:410)
    at org.wso2.carbon.identity.application.mgt.dao.impl.ApplicationDAOImpl.createApplication(ApplicationDAOImpl.java:129)
    ... 50 more
    
    Caused by: java.sql.SQLFeatureNotSupportedException: function org.postgresql.jdbc4.Jdbc4PreparedStatement.setBinaryStream(int, InputStream) not yet implemented.
    at org.postgresql.Driver.notImplemented(Driver.java:727)
    at org.postgresql.jdbc4.AbstractJdbc4Statement.setBinaryStream(AbstractJdbc4Statement.java:134)
    at org.wso2.carbon.idp.mgt.dao.IdPManagementDAO.addIdP(IdPManagementDAO.java:1236)
    ... 122 more
    
    我正在使用postgresql-9.3-1102.jdbc41.jar驱动程序。 看起来这个函数还不受支持。是否可以改用setBinaryStream(int,InputStream,int)函数(最后一个参数是以字节为单位的输入流长度)


这是Identity Server 5.0.0中的一个已知问题。你可以从中找到一个公共jira。请尝试使用jira中的脚本文件。很抱歉,我以前没有在jira中看到这个问题。我尝试了提供的脚本,我可以设置注册表数据库。但其他问题仍然存在:我在尝试添加服务提供商时仍然有一个例外(因为某些列的大小以及“column«ID»Not exists”错误)。我在尝试添加标识提供程序时遇到的错误也是jira()中的一个已知问题。我遇到了与“column ID不存在”错误相同的问题。