文档章节

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

harris2016
 harris2016
发布于 2016/06/20 16:45
字数 437
阅读 128
收藏 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
博文 53
码字总数 30227
作品 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

没有更多内容

加载失败,请刷新页面

加载更多

升压变换器 Boost

工作特点 输入输出极性相同。 开关管 MOS 和负载构成并联,在MOS 导通时,电流通过 L 滤波,电源对 L 充电。 当 MOS 断开时,L 向负载及电源放电,输出电压将是 Ui+U L ,达到升压的目的。 ...

colinux
30分钟前
2
0
OSChina 周一乱弹 —— 你狗命在我手上

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 小小编辑:推荐歌曲,《I.W.A.B.N》- Lil Ghost 《I.W.A.B.N》- Lil Ghost 手机党少年们想听歌,请使劲儿戳(这里) 几天没见, 大王(@罗马的...

小小编辑
32分钟前
226
7
轻量级 memcached缓存代理 twemproxy实践

本文内容脑图如下: 文章共 533字,阅读大约需要 2分钟 ! 概 述 twemproxy(nutcracker) 是 Twitter开源的轻量级 memcached / redis 代理服务器,本质就是一个集群管理工具,主要用来弥补 ...

CodeSheep
52分钟前
9
0
Apache日志不记录访问静态文件,访问日志切割,静态元素过期时间设置

Apache配置不记录访问静态文件的日志 网站大多元素为静态文件,如图片、css、js等,这些元素可以不用记录 vhost原始配置 <VirtualHost *:80> ServerAdmin test@163.com DocumentRoo...

野雪球
今天
3
0
聊聊storm的ICommitterTridentSpout

序 本文主要研究一下storm的ICommitterTridentSpout ICommitterTridentSpout storm-core-1.2.2-sources.jar!/org/apache/storm/trident/spout/ICommitterTridentSpout.java public interface......

go4it
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部