`
jjxliu306
  • 浏览: 157724 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

postgresql 外部文件表

 
阅读更多

本文主要说明PG中怎么样外部文件转换为表来使用。这种文件作为表的存在时宽泛的一个约束。

 

 

1. 首先挂载库

 mrapp=# create extension file_fdw;
CREATE EXTENSION
时间:1.638 ms

 

2. 创建服务

mrapp=# create server file_table_server foreign data wrapper file_fdw;
CREATE SERVER
时间:0.790 ms

 

3. 可以创建一个表挂载外部文件了,外部文件可以在创建表的时候不存在。

mrapp=# create foreign table file_table_test(c1 varchar , c2 int) server file_ta
ble_server options(format 'csv' , filename  'd:/txt.txt');
CREATE FOREIGN TABLE
时间:1.324 ms

 

4. 表创建好后,我们查询一下。

mrapp=# select * from file_table_test;
错误:  为了读取, 无法打开文件 "d:/txt.txt": No such file or directory
时间:2.799 ms

 

提示 无法打开文件,我们此时还没有创建d:/txt.txt 文件,下面我们创建好文件再次查询一下。文件内容如下:

dd,2
adf,1
adf,3
adfadf,4
adf,5

 

查询结果如下:

mrapp=# select * from file_table_test;
   c1   | c2
--------+----
 dd     |  2
 adf    |  1
 adf    |  3
 adfadf |  4
 adf    |  5
(5 行记录)


时间:0.558 ms

 

5. 文件表 是不能够提供增删改操作,只能查询。这是唯一的遗憾。当然这可能也是为了安全,如果数据库用户权限足够大,利用这个方法就可以对系统文件进行任意的删改,这也是一个很麻烦的事情。

mrapp=# insert into file_table_test(c1 , c2) values('11' , 8);
错误:  cannot change foreign table "file_table_test"
时间:2.651 ms
mrapp=# delete from file_table_test;
错误:  cannot change foreign table "file_table_test"
时间:2.657 ms
mrapp=# update file_table_test set c1 = 'test';
错误:  cannot change foreign table "file_table_test"
时间:3.466 ms

 

 

 

 

 

更多的fdw见
http://pgxn.org/tag/fdw/?1316253183

oracle_fdw见德哥的blog
http://blog.163.com/digoal@126/blog/static/163877040201181505331588/

 

 

 

 

分享到:
评论

相关推荐

    postgresql 实现c language外部函数调用

    总的来说,通过C语言创建PostgreSQL外部函数可以提高数据库的性能和安全性,因为它们允许直接在数据库内核级别操作数据,减少了数据转换和网络通信的开销。同时,将实现细节隐藏在数据库内部,有助于保护系统的整体...

    postgresql第三课:眼花缭乱的extension体系1

    file_fdw 是一个外部表插件,用于将文件作为 PostgreSQL 的外部表。使用 file_fdw 可以将 CSV 文件、文本文件等作为 PostgreSQL 的外部表。 tds_fdw tds_fdw 是一个外部表插件,用于连接 Microsoft SQL Server ...

    cpp-mongofdw针对MongoDB的PostgreSQL外部数据包装

    【标题】:“cpp-mongofdw针对MongoDB的PostgreSQL外部数据包装” 在数据库领域,数据集成和互操作性是至关重要的。cpp-mongofdw项目是为了解决这个问题而诞生的,它允许用户在PostgreSQL数据库中直接访问和操作...

    PostgreSQL 9.2 32位dll.rar

    “包含ArcGIS所需的5个dll文件”这部分至关重要,因为ArcGIS是Esri公司的一款地理信息系统软件,它依赖于外部数据库管理系统如PostgreSQL与ArcSDE(ArcGIS Spatial Database Engine)进行空间数据的存储和管理。...

    Postgresql连接oracle驱动并实现读写

    - 进入PostgreSQL源码目录,可以通过Git下载或下载ZIP文件上传至服务器。 ```bash cd /home/wsxcde/soft/pg/postgresql-9.5.6/contrib git clone git://github.com/laurenz/oracle_fdw.git ``` 2. **检查pg_...

    4、clickhouse的Log系列表引擎、外部集成表引擎和其他特殊的表引擎介绍及使用

    外部集成表引擎允许ClickHouse与外部数据源交互,如MySQL、PostgreSQL等。这些引擎允许实时同步外部数据库的数据,使得ClickHouse可以作为一个实时分析层,而无需复制整个数据集。使用外部集成表引擎时,需要注意...

    postgresql数据库备份和恢复

    文档中提到的pg_dump是PostgreSQL提供的一个命令行工具,它专门用于导出数据库到一个SQL脚本文件中,或者归档文件(使用`-Fc`参数)。这个命令支持数据库的完全备份和部分备份。完全备份涉及整个数据库的数据和结构...

    postgresql-embedded,嵌入式PostgreSQL服务器.zip

    【压缩包子文件的文件名称列表】中提到的"postgresql-embedded-master"通常是指该项目的主分支或源代码仓库。在这个文件夹里,你可能会发现以下关键组件: 1. **源代码**:包含了用于构建和运行嵌入式PostgreSQL...

    hdfs_fdw:用于HDFS的PostgreSQL外部数据包装器

    PostgreSQLHadoop(HDFS)外部数据包装器该PostgreSQL扩展实现了 (HDFS)的外部数据包装器(FDW)。 请注意,此版本的hdfs_fdw可与PostgreSQL和EDB Postgres Advanced Server 9.6、10、11、12和13一起使用。安装...

    postgresql14-server-14.12-1PGDG.rhel7.x86-64.rpm

    postgresSQL14-rpm,CentOs7 离线安装 PostgreSQL 14.clip 安装步骤: ...修改配置文件 :vi /var/lib/pgsql/14/data/postgresql.conf listen_addresses = '*' # 允许外部连接 port = 5432 # 端口号

    postgresql安装

    根据提供的文件信息,“postgresql安装”这一主题涉及到的是如何在特定的操作系统上安装并配置PostgreSQL数据库管理系统。PostgreSQL是一款开源的对象关系型数据库系统,以其稳定性、功能强大和遵循SQL标准而闻名。...

    PostgreSQL从菜鸟到专家

    - **相关资源**:提供了学习PostgreSQL的外部资源列表。 #### 第二章:关系数据库原理 ##### 电子表格的局限性 - 讨论了电子表格(如Excel)在处理大量数据时的局限性。 ##### 将数据存入数据库 - **选择列**:...

    postgresql14-libs-14.12-1PGDG.rhel7.x86-64.rpm

    postgresSQL14-rpm,CentOs7 离线安装 PostgreSQL 14.clip 安装步骤: ...修改配置文件 :vi /var/lib/pgsql/14/data/postgresql.conf listen_addresses = '*' # 允许外部连接 port = 5432 # 端口号

    SQL Server 2012链接服务器到PostgreSQL

    在SQL Server 2012中,连接到外部数据源如PostgreSQL数据库是通过设置链接服务器来实现的。链接服务器允许SQL Server查询和操作非本地的数据,提供了与异构数据库系统交互的能力。以下是一个详细步骤,说明如何在SQL...

    顶级PostgreSQL DBA日常工作分享

    1. WAL(Write-Ahead Logging)机制:PostgreSQL使用预写日志进行事务的持久化,确保数据的完整性,DBA需要理解和管理WAL文件。 2. 触发器和存储过程:了解并编写触发器和存储过程,以便在数据库层面对数据进行有效...

    PostgreSQL 解惑

    无论采取哪种安装方式,都需要修改postgresql.conf和pg_hba.conf配置文件来允许外部访问。pg_hba.conf文件主要负责控制哪些主机被允许连接。 PostgreSQL广泛适用于各种应用场景,包括但不限于处理大量数据和复杂...

    PostgreSQL环境搭建及部署文档手册.docx

    - **配置防火墙**:允许外部客户端通过TCP协议访问PostgreSQL默认端口5432。 ```shell firewall-cmd --add-port=5432/tcp firewall-cmd --add-port=5432/tcp --zone=public --permanent ``` **2.8 其他工具安装...

    PostgreSQL & Oracle-备份恢复技术大比拼

    此外,Oracle还提供了外部表的概念,允许将数据从Oracle数据库外部的文件中导入到数据库中,这种方式提供了很大的灵活性,使得Oracle数据库能够与多种数据源进行交互。 总而言之,PostgreSQL和Oracle作为数据库系统...

Global site tag (gtag.js) - Google Analytics