Category: PostgreSQL

以Server的模式运行pgAdmin4

pgAdmin4 是随PostgreSQL9.6推出的新一代PostgreSQL管理工具。 pgAdmin4默认是以python的server端和qtwebkit的客户端的组合但桌面工具发布的,README中也说了可以以独立的Server模式运行,本文(以python2.7为例)就介绍下Ubunte(CentOS相差不多)下如何编译并以Server模式运行它。 首先安装virtualenv虚拟环境 sudo pip install virtualenvwrapper virtualenv pgadmin4 cd pgadmin4/ source  bin/activate 下载pgAdmin4的源代码包,两张模式 wget https://ftp.postgresql.org/pub/pgadmin3/pgadmin4/v1.1/source/pgadmin4-1.1.tar.gz tar xf pgadmin4-1.1.tar.gz cd pgadmin4-1.1/ 或者 git clone git://git.postgresql.org/git/pgadmin4.git cd pgadmin4 requirements_py2.txt有个小bug,fix先,安装前确保PostgreSQL 开发库已经安装,否则报pg_config未找到的错误,具体安装方法如下,…

Read More

PostgreSQL与交叉表查询

PostgreSQL提供了一个tablefunc 模块,内置了多个函数,其中就有crosstab(交叉表,又叫行转列,或者长表转宽表),具体使用参见PostgreSQL文档(中文,英文)。 如果不清楚生成的宽表有多少列,或者列太多,手工敲很容易吃力不讨好,那么可以借助这个函数(pivotcode)来简化工作, -- PL/pgSQL code to create pivot tables with automatic column names -- Eric Minikel, CureFFI.org - 2013-03-19 -- prerequisite: install the tablefunc module create extension tablefunc; --…

Read More

postgres_fdw-PostgreSQL外部数据封装器的使用

我的PostgreSQL数据库在Windows上,MADlib不支持,于是使用Docker部署了个Linux版本的PostgreSQL,并且安装了MADlib插件,利用postgres_fdw就可以方便分析Windows下的数据库进行分析了。 postgres_fdw模块提供外部数据封装器的功能,PostgreSQL通过 它可以访问存储在外部的 PostgreSQL服务器上的数据。 本模块提供的功能不但涵盖老版本中dblink模块实现的功能, 而且postgres_fdw提供更加透明和符合标准的语法来访问远程表,并在许多情况下 提供更好的性能。 使用postgres_fdw模块做远程访问的准备: 使用CREATE EXTENSION语句安装postgres_fdw. CREATE EXTENSION if not exists postgres_fdw;   使用CREATE SERVER语句,为每个需要连接的远程数据库 创建一个外部服务器对象。指定除了user和password 以外的连接信息作为服务器对象的选项。 CREATE SERVER foreign_server_99 FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host…

Read More

PostgreSQL-关联规则的纯SQL实现

该SQL是基于Apriori算法的一个尝试(代码比较粗糙),并且只实现了一推一的情况,对照MadLib的结果做了验证,没有问题。 CREATE OR REPLACE FUNCTION assoc.rules() RETURNS void LANGUAGE plpgsql AS $function$ begin /* create view assoc.trans as select * from trans where purchase_date between '2015-08-01' and '2016-07-31'; */ create…

Read More