文档章节

liquibase 通过pgoneproxy来管理数据库版本

harris2016
 harris2016
发布于 2016/06/20 16:45
字数 437
阅读 119
收藏 1

  最近有客户反应liquibase通过pgoneproxy来管理数据库版本时,发现不能建立数据库表。这让我有点难理解,于是我直接下载了一个liquibase来测试,发现是pgoneproxy的权限管理的问题。现在说说测试的过程。

   先从http://www.liquibase.org/网站下载对应的liquibase,加压后,在目录下有如下文件:

liquibase.jar
README.txt
liquibase.spec
liquibase.bat
liquibase
LICENSE.txt
sdk
lib

为了创建数据库表,先增加创建表的配置文件,配置文件的内容如下所示:

<?xml version="1.0" encoding="UTF-8"?>

<databaseChangeLog
        xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
        xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.0.xsd
        http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">
    <changeSet id="3" author="db_user">
        <createTable tableName="bigaaa">
            <column name="id" type="int" autoIncrement="true">
                <constraints primaryKey="true" nullable="false"/>
            </column>
            <column name="firstname" type="varchar(50)"/>
            <column name="lastname" type="varchar(50)">
                <constraints nullable="false"/>
            </column>
            <column name="state" type="char(2)"/>
        </createTable>
    </changeSet>
</databaseChangeLog>

  上面配置文件中,要求创建bigaaa表。在使用下面的命令来运行:

./liquibase --driver=org.postgresql.Driver --changeLogFile=db.changelog.xml --url=jdbc:postgresql://172.30.12.10:2000/pgbench --username=db_user --password=1234 --logLevel=debug --logFile=log.txt update

测试发现报错了:

Unexpected error running Liquibase: ERROR: Access denied due to security policy, DDL disabled or DML restricted! [Failed SQL: CREATE TABLE public.databasechangeloglock (ID INT NOT NULL, LOCKED BOOLEAN NOT NULL, LOCKGRANTED TIMESTAMP WITHOUT TIME ZONE, LOCKEDBY VARCHAR(255), CONSTRAINT PK_DATABASECHANGELOGLOCK PRIMARY KEY (ID))]

看见错误后,知道是pgoneproxy的安全策略,导致创建表失败的。

在pgoneproxy中有--proxy-group-security=<servergroup:level>,--proxy-security-level=<level> --proxy-table-security=<table:level> 。其中后面两个安全策略都是默认情况下是没有设置的。而proxy_group_security默认情况下是设置为1的。不支持DDL。故需要在配置文件中增加--proxy-group-security=data0:0的配置。其中data0为组名称。

© 著作权归作者所有

共有 人打赏支持
harris2016
粉丝 10
博文 52
码字总数 30058
作品 0
杭州
程序员
Docker 实战案例解析,实现自动化数据库迁移

出品丨Docker公司(ID:docker-cn) 编译丨小东 每周一、三、五晚6点10分 与您不见不散! 在 Phorest Salon Software 公司,我们是在 AWS 上运行我们的平台。该平台由 VPC 内的许多 AWS 资源...

docker公司
08/24
0
0
项目管理注意事项(写给做架构的自己)

1.统一使用数据库管理工具,推荐使用liquibase,一定要保留数据模型使用powerdesign. 2.项目整体的横向扩展,考虑后期的一些添加字段,逻辑改动。 3.数据的可追溯性,删除数据考虑数据的逻辑删...

梧桐宇宇
04/13
0
0
waiting for changelog lock.

解决方案: 一般情况下是因为数据库重构工liquibase被锁,可以按照以下方式解决 数据库执行: USE databaseName SELECT * FROM DATABASECHANGELOGLOCK 查出的数据中有一条数据的locked的值是...

赵世炎
06/07
0
0
高性能配置中心 DuiC 2.0.0 发布,修改 schema 管理方式

duic 的诞生从来都不只是为了解决服务端的配置问题,你同样可以使用它对 APP、WEB 应用的配置进行管理。因采用 HTTP 的方式拉取配置数据,对于多语言,多应用类型的配置支持非常的好。 如果你...

就像风
06/26
0
0
Java 框架 Dropwizard 1.3.4 和 1.2.7 发布

Dropwizard 1.3.4 和 1.2.7 已发布,主要是将 Jackson 更新至 2.9.6 ,以修复 CVE-2018-12022 和 CVE-2018-12023 (#2392, #2393)。此外,Dropwizard 1.3.4 还更新了 Liquibase 3.6.1 。 Drop......

王练
06/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

利用碎片化时间Get Linux系统

起初,我做着一份与IT毫无关系的工作,每月领着可怜的工资,一直想改变现状,但无从下手,也就是大家熟知的迷茫。我相信,每一个人都会或多或少的经历过迷茫,迷茫每一个选择,迷茫工作或者生...

Linux就该这么学
8分钟前
0
0
图像显示深入学习一:Activity启动过程

一个月左右写了图像显示深入学习之文章开篇文章表明了自己近期的计划,前半年重新学习了opengl es,c++以及Linux的一些知识,觉得是时候开始看图像这一块的源码了,边看边补缺补漏吧。 作为该...

JerryLin123
30分钟前
0
0
给MySQL授权远程访问

putty登录服务器; 登录MySQL: mysql -u root -p 新建远程用户: CREATE USER 'myusername' IDENTIFIED BY 'mypassword'; 授权: grant all on *.* to john@'101.102.103.104' identified by......

sweethome
59分钟前
0
0
在t-io老巢造谣,不过有造谣的就会有反造谣的!

只发当事人的截图,不发表评论,以免有引导嫌疑 PS: 截图是由不同的人发过来的 本人已经不在此微信群 图3:有造谣的,就有反造谣的 图4是2018-09-23的t-io官方群的一个发言小统计,有助于让...

talent-tan
今天
99
0
heartbeat 资源

drbd+apache+heartbeat : http://blog.51cto.com/11838039/1827901 heartbeat双机热备的架设 : http://blog.51cto.com/11838039/1827560 对heaetbeat的深一步认识 : http://blog.51cto.co......

寰宇01
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部