Postgresql postgres liquibase将差异限制为一个模式
目标: 我创建了一个特殊的登录名(名为Postgresql postgres liquibase将差异限制为一个模式,postgresql,diff,liquibase,Postgresql,Diff,Liquibase,目标: 我创建了一个特殊的登录名(名为liquibase),它只能访问一个模式CustomerXX(我要比较的模式,只有这个!!) 问题: 即使在这种登录受限的情况下,liquibase diff操作也会尝试读取其他模式(例如,在我的错误中过时的\u对象) 备注: 我正在研究客户XX。我在数据库中有另一个模式,名为过时的\u对象,但我只关注customerxx login liquibase used ==> GRANT all ON schema customerxx to liqu
liquibase
),它只能访问一个模式CustomerXX
(我要比较的模式,只有这个!!)
问题:
即使在这种登录受限的情况下,liquibase diff操作也会尝试读取其他模式(例如,在我的错误中过时的\u对象)
备注:
我正在研究客户XX。我在数据库中有另一个模式,名为过时的\u对象
,但我只关注customerxx
login liquibase used ==>
GRANT all ON schema customerxx to liquibase;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA customerxx to liquibase;
no other right
我的命令liquibase:
liquibase.bat
--classpath="E:\Program Files\Talend-Studio\plugins\org.talend.libraries.jdbc.postgresql_5.5.1.r118616\lib\postgresql-9.2-1003.jdbc3.jar"
--driver=org.postgresql.Driver --url=jdbc:postgresql://xxxxxxxxx
--username=USERNAME
--password=PASSWORD
--defaultSchemaName=customerxx
Diff
--referenceUrl=jdbc:postgresql://yyyyyyyyyy
--referenceUsername=liquibase
--referencePassword=liquibase
--referenceDefaultSchemaName=customerxx
我的错误
Diff Results:
Unexpected error running Liquibase: liquibase.exception.DatabaseException:
org.postgresql.util.PSQLException: ERROR: permission denied for schema obsolete_objects Positioná: 27
提前谢谢 我对你的意图感到困惑。我可能建议您将liquibase.bat返回到其原始默认值,并将特定标志放入liquibase.properties文件中。如果我的记性还可以的话,我从来没有成功地从命令提示符运行我需要的所有标志。确保liquibase.properties文件与liquibase.jar可执行文件位于同一目录中。另外,在上面的.bat中,确保用户名和密码对defaultSchemaName和referenceDefaultSchemaName都适用。(我作为博士后离开了我的学校)。