Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >PostgreSQL利用Multicorn访问CSV外部数据源

PostgreSQL利用Multicorn访问CSV外部数据源

作者头像
伊泽瑞尔
发布于 2022-06-01 00:34:52
发布于 2022-06-01 00:34:52
60200
代码可运行
举报
运行总次数:0
代码可运行

Multicorn 是一个 PostgreSQL 9.1+ 的扩展模块,用于简化外部数据封装开发,允许开发者使用 Python 编程语言开发。

Install Multicorn

Requirements

  • Postgresql 9.1+
  • Postgresql development packages
  • Python development packages
  • python 2.7 or >= python 3.3 as your default python

由于我前面已经安装了postgresql9.5,下面安装其他的包。测试使用的操作系统是Ubuntu

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt install postgresql-server-dev-9.5

安装pgxn client

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ sudo apt install pgxnclient

Ubuntu 16.04 LTS自带python3.5,但是安装pgxnclient的时候会自动安装python2.7,后面安装Multicorn就依赖python2.7了,所以下面安装python-dev。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ sudo apt install python-dev

利用pgxn安装Multicorn:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ sudo pgxn install multicorn

报如下错:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/usr/bin/install -c -m 755  multicorn.so '/usr/lib/postgresql/9.5/lib/multicorn.so'
cp .//setup.py ./setup--1.3.3.py
sed -i -e "s/__VERSION__/1.3.3-dev/g" ./setup--1.3.3.py
python2.7 ./setup--1.3.3.py install
Traceback (most recent call last):
  File "./setup--1.3.3.py", line 3, in <module>
    from setuptools import setup, find_packages, Extension
ImportError: No module named setuptools
Makefile:31: recipe for target 'python_code' failed
make: *** [python_code] Error 1

Solution:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ sudo apt install python-pip

安装了pip之后继续执行$ sudo pgxn install multicorn就没报错了。

CSV Foreign Data Wrapper

Purpose

这个fdw被使用连接存储的csv文件,表中定义的每个列都将按照CSV文件中的列进行映射。

Usage example

我们使用/tmp/test.csv,其内容如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Year,Make,Model,Length
1997,Ford,E350,2.34
2000,Mercury,Cougar,2.38

postgresql中声明外部表:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CREATE SERVER csv_srv foreign data wrapper multicorn options (
    wrapper 'multicorn.csvfdw.CsvFdw'
);


create foreign table csvtest (
       year numeric,
       make character varying,
       model character varying,
       length numeric
) server csv_srv options (
       filename '/tmp/test.csv',
       skip_header '1',
       delimiter ',');
       

select * from csvtest;
year |  make   | model  | length 
------+---------+--------+--------
 1997 | Ford    | E350   |   2.34
 2000 | Mercury | Cougar |   2.38
(2 rows)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据与知识图谱 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Ubuntu安装Python模块时的报错
在安装Python的psutil模块时,报“error: command 'x86_64-linux-gnu-gcc' failed with exit status 1”的错误,系统提示缺少Python的头文件,那就是说系统没有安装python的开发包,安装之就行了。
py3study
2020/01/10
2.1K0
ubuntu12.04安装python3
默认系统已经自带了python2.7。在安装python3.5的时候,不要将python2.7的版本删掉,因为系统本身有很多功能都是需要python2.7的支持。可以通过vitrualenv工具,给不同python版本做环境隔离,应该就可以让不同版本的python共存了。其实,在安装python3.5的时候,注意配置一下安装路径,重新建立软链接就能很好地区分python2.7和3.5了,不需要用到vitrualenv。
py3study
2020/01/03
1.1K0
[Linux]Ubuntu安装pip及其各种bug解决方案
各种方法都试过,比如使用命令:python -m pip install --upgrade pip进行安装,但是还是会出现上面的提示,所以就用源码进行升级。
祥知道
2020/03/10
3.9K0
ubuntu下python thrift
1、下载thrift: wget http://mirror.bjtu.edu.cn/apache//thrift/0.8.0/thrift-0.8.0.tar.gz  2、安装依赖: sudo apt-get install build-essential   sudo apt-get install bison flex   sudo apt-get install libboost-dev python-dev   sudo apt-get install autoconf automake libt
py3study
2020/01/08
6950
Ubuntu下源码安装Opencv完全指南
Opencv大家很熟悉了,经典的图像处理库,Opencv在Windows下安装是很简单的,只需要配置DLL即可。但是在Linux下,因为Linux各种发行版本多种多样,所以我们只有自己通过编译源码的方式来安装Opencv了,源码安装会自动根据你当前的Ubuntu系统中安装的组件来编译Opencv源码,所以说你编译好的这份Opencv库是独一无二的,移到别的地方就不行了哦。
老潘
2023/10/19
9670
Ubuntu下源码安装Opencv完全指南
安装配置postgreSQL+pgcli+pgadmin3
王小雷
2018/01/02
1.4K0
安装配置postgreSQL+pgcli+pgadmin3
Python包管理整理:setuptoo
setuptool管理python相关的包 一、介绍 setuptool管理python相关的包的工具。这些包是zip格式发布,但是后缀一般都是.egg setuptool能解决python包的依赖关系 setuptool安装的包默认安装到/usr/local/lib/pythonX.X/site-packages/目录下 下载包默认到http://pypi.python.org/pypi下载 pypi为Python PackageIndex 二、安装setuptool工具 1、rhel/centos #yum -y install python-setuptools 2、freebsd #cd /usr/ports/devel/py-setuptools && make install clean 3、debian/ubuntu #sudo apt-get install python-setuptools 以上使用系统包管理系统安装后需要更新一下: # easy_install -U setuptools 4、通用方式 Download ez_setup.py , and then run: ez_setup.py -Zf http://peak.telecommunity.com/snapshots/ RuleDispatch #fetch http://peak.telecommunity.com/dist/ez_setup.py #python2.7 ez_setup.py python2.7指定版本号,以表示setuptool使用的python版本。未指定版本则使用默认,也表示默认安装的版本是最新版本。 这一约定方便,旧版本也可以继续使用 三、通过easy_install安装python包 (一)普通安装 #easy_install Babel (二)安装本地或网络文件系统中安装egg文件 #easy_install /net/src/eggs/py2.5.egg (三)指定包的下载路径安装 #easy_install http://trac-hacks.org/svn/iniadminplugin/0.11/ #easy_install http://trac-hacks.org/svn/accountmanagerplugin/trunk (四)从URL源码包安装 #easy_install  http://pypi.python.org/simple/asp/asp-0.1.2.4.tar.gz 条件asp-0.1.2.4.tar.gz包中的根目录中必须包括setup.py文件 (五)web上面搜索包,并自动安装 # easy_install -f http://pypi.python.org/simple/ asp (六)指定包的版本 # easy_install asp==0.1.2.1 如果指定的版本高于现有已安装的保本就是升级了 (七)升级包 升级到最新版本(不指定版本就会升级到最新版本 # easy_install -U asp 升级到指定版本 # easy_install -U asp==0.1.2.2 四、认证和配置文件 1、有些需要认证的python站点 easy_install -f http://uid@password@pypi.python.org/simple/packages 2、使用配置文件定义下载的站点和安装的目录 配置文件位置 当前目录/setup.cfg 或当前目录/.pydistutils.cfg 配置文件内容 find-links=http://pypi.python.org/simple/ #特定搜索包的URL allow=*.python.org #搜索的域名 install_dir=/src/lib/python    #这个目录需要在PYTHONPATH中 (sys.path) 更多帮助请看easy_install --help
py3study
2020/01/07
6840
【python】项目打包发布
概览 这里主要收集python项目的打包、发布和部署的常用方法,只是入门级别,深入的流程还是以官方文档为准(链接每节都已经给出)。 distutils,setuptools,pip,virtualenv 官网资料(Python Packaging User Guide):  https://packaging.python.org/key_projects/#setuptools 简介 distutils - Python自带的基本安装工具, 适用于非常简单的应用场景使用, 不支持依赖包的安装 
py3study
2020/01/10
1.6K0
Ubuntu上安装TensorFlow(python2.7版)
笔记内容:Ubuntu上安装TensorFlow(python2.7版) 笔记日期:2018-01-31
端碗吹水
2020/09/23
2K0
Ubuntu上安装TensorFlow(python2.7版)
Python 安装和升级
   目前用的最多的是Centos系统 用于python 用ubuntu的系统兼容性比较好,这边的话 我们看如何升级centos下面的python
py3study
2020/01/10
9080
Caffe环境安装
Caffe支持的有三种:MKL,AtLas,OpenBlas。 OpenBlas是完全免费的,所以这里就安装它了:
foochane
2019/05/23
1.8K0
Linux 下部署Django项目你可能会遇到的问题!报错 ImportError: No module named pip --- 需要 安装 pip报错 setuptools Com
之前部署Django项目到服务器上的时候出现了各种问题,现在总结一下方便以后查阅,也希望能够帮到有同样问题的你。(如果有帮助记得点赞哦!?) Linux 升级 Python 至 3.x 一般情况下自
陈雨尘
2018/06/12
7.7K0
centos安装python2.7
一般centos系统自带的Python是2.6.6版本,由于版本太老有些好用的模块及功能需要Python2.7才支持。简单写一下如何升级Python2.6到Python2.7并能同步使用pip,以及通过pip安装Django。踩过不少坑,总结了下,按下面步骤逐步安装不然会有报错。
用户9127725
2022/08/08
1.3K0
(一)ROS系统入门 Getting Started with ROS 以Kinetic为主更新 附课件PPT
ROS机器人程序设计(原书第2版)补充资料 教案1 ROS Kinetic系统入门
zhangrelay
2019/01/23
3.4K0
【Python基础】08、Python模
 可以将代码量较大的程序分割成多个有组织的、彼此独立但又能互相交互的代码片段,这些自我包含的有组织的代码段就是模块
py3study
2020/01/06
1.8K0
Caffe2 - (一)Source 安装及问题解决
需要安装 NVIDIA CUDA 8 和 cuDNN v5.1 或 v6.0,官方推荐安装方式如下:
AIHGF
2019/02/18
1.6K0
G2P(单词到音素)的深度学习训练测试
G2P(Grapheme-to-Phoneme),英文意思是字素到音素,使用循环神经网络(recurrent neural network,RNN) 和LSTM( long short-termmemory units),来实现从英文单词到音素的转化。LSTM序列到序列模型(LSTM sequence-to-sequencemodel)已经被成功地应用到许多项目中,这些应用包括机器翻译,字素转因素等等。
sparkexpert
2022/05/07
1.3K0
G2P(单词到音素)的深度学习训练测试
Postgresql FDW技术的应用
Ubuntu 16.04 LTS云主机2台,主机名为pg1(192.168.0.10)和pg2(192.168.0.11)。
伊泽瑞尔
2022/06/01
5790
PWN从入门到放弃(1)——PWN环境搭建
本文主要介绍利用ubuntu搭建pwn做题环境,包括pwntools,gdb,gdb-pwndbg,gdb-peda,libc库等
山深有杏
2024/01/30
9500
2018-04-08ubunu16.04.4LTS环境配置
一、安装ubuntu 1、下载ubuntu镜像文件 Download Ubuntu Desktop 2、制作启动光盘 如果是windows操作系统:插入空白dvd光盘,在iso文件上右键,选择“刻录光盘映像” 参考windows7中把ISO文件轻松刻录成光盘的方法(图文教程) 如果是ubuntu系统:Ubuntu14.04系统下,如何将.iso文件刻录到CD/DVD光盘 3、安装 二、搜狗输入法安装 1、参考Ubuntu 16.04 LTS安装sogou输入法详解 注意:fcitx configure未出现
用户1733354
2018/05/22
1.6K0
相关推荐
Ubuntu安装Python模块时的报错
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验