Foreign data wrappers

转载地址:https://wiki.postgresql.org/index.php?title=Foreign_data_wrappers&spm=a2c6h.12873639.0.0.68097480atbVAh


Foreign data wrappers

Contents

 [hide] 

Foreign Data Wrappers

In 2003, a new specification called SQL/MED ("SQL Management of External Data") was added to the SQL standard. It is a standardized way of handling access to remote objects from SQL databases. In 2011, PostgreSQL 9.1 was released with read-only support of this standard, and in 2013 write support was added with PostgreSQL 9.3.

There are now a variety of Foreign Data Wrappers (FDW) available which enable PostgreSQL Server to different remote data stores, ranging from other SQL databases through to flat file. This page list some of the wrappers currently available. Another fdw list can be found at the PGXN website.

Please keep in mind that most of these wrappers are not officially supported by the PostgreSQL Global Development Group (PGDG) and that some of these projects are still in Beta version. Use carefully!

 

Generic SQL Database Wrappers

Data SourceTypeLicenseCodeInstallDocNotes
ODBCNative github  CartoDB took over active development of the ODBC FDW for PG 9.5+
JDBCNative github  Not maintained ?
JDBC2Native github   
SQL_AlchemyMulticornPostgreSQLGitHubPGXNdocumentationCan be used to access data stored in any database supported by the sqlalchemy python toolkit.
VirtDBNativeGPLGitHub  A generic FDW to access VirtDB data sources (SAP ERP, Oracle RDBMS)

Specific SQL Database Wrappers

Data SourceTypeLicenseCodeInstallDocNotes
PostgreSQLNativePostgreSQLgit.postgresql.org documentation 
OracleNativePostgreSQLgithubPGXNwebsite 
MySQLNative githubPGXNexampleFDW for MySQL
InformixNativePostgreSQLgithub   
FirebirdNativePostgreSQLgithubPGXNREADMEversion 1.1 released (2019-05)
SQLiteNative github  An FDW for SQLite3 (read-only)
SQLiteNativePostgreSQLgithubPGXNREADMEAn FDW for SQLite3 (write support and several pushdown optimization)
Sybase / MS SQL ServerNative githubPGXN An FDW for Sybase and Microsoft SQL server
MonetDBNative github   

NoSQL Database Wrappers

Data SourceTypeLicenseCodeInstallDocNotes
BigTable or HBaseNative Rust Binding (RPGFFI)MITGithub   
CassandraMulticornMITGithubRankactive  
Cassandra2NativeMITGithub   
CassandraMulticornPostgreSQLGithub   
ClickHouseMulticornBSDGithub README 
ClickHouseNativeApacheGithub README 
CouchDBNativePostgreSQLGithubPGXN Original version
CouchDBNativePostgreSQLGithub  golgauth version (9.1 - 9.2+ compatible)
GridDBNativePostgreSQLGithub README 
InfluxDBNativePostgreSQLGithub README 
KafkaNativePostgreSQLGitHub README 
Kyoto TycoonNativeMITGithub   
MongoDBNativeGPL3+GithubPGXNREADMEEDB version
MongoDBMulticornMITGithub   
MongoDBMulticorn Github  Yet Another Postgres FDW for MongoDB
Neo4jMulticornGPLv3Github READMEFWD for Neo4j and also add a Cypher function to Pg
Neo4jNative?Github   
QuasarNativeApacheGithub   
RedisNativePostgreSQLGithub   
RedisNativeBSDGithub   
RethinkDBMulticornMITGithub blog 
RiakMulticornPostgreSQLGithub   
WhiteDBNativeMITGithub   
RocksDBNativeApacheGithub READMEFDW for RocksDB   

File Wrappers

Data SourceTypeLicenseCodeInstallDocNotes
CSVNativePostgreSQLgit.postgresql.org documentationDelivered as an official extension of PostgreSQL 9.1 / example / Another example
CSVMulticornPostgreSQLGitHubPGXNdocumentationEach column defined in the table will be mapped, in order, against columns in the CSV file.
CSV / Text ArrayNative GitHub How toAnother CSV wrapper
CSV / Fixed-lengthNative GitHub   
CSV / gzippedMulticorn GitHub  PostgreSQL Foreign Data Wrapper for gzipped cvs file
Compressed FileNative GitHub   
Document CollectionNativePostgreSQLGitHub wiki 
JSONNativeGPL3GitHub Example 
Multi-FileMulticornPostgreSQLGitHubPGXNdocAccess data stored in various files in a filesystem. The files are looked up based on a pattern, and parts of the file's path are mapped to various columns, as well as the file's content itself.
Multi CDRNativePostgreSQLGitHubPGXN  
ParquetNativePostgreSQLGitHub  Foreign data wrapper for reading Parquet files using libarrow/libparquet
pg_dumpNativeNew BSDGitHub  Allows querying of data directly against Postgres custom format files created by pg_dump
TAR FilesNative GitHub   
XMLMulticornPostgreSQLGitHubPGXN  
ZIP FilesNative GitHub   

Geo Wrappers

Data SourceTypeLicenseCodeInstallDocNotes
GDAL/OGRNativeMITGitHub  A wrapper for data sources with a GDAL/OGR driver, including databases like Oracle, Informix, SQLite, SQL Server, ODBC as well as file formats like Shape, FGDB, MapInfo, CSV, Excel, OpenOffice, OpenStreetMap PBF and XML, OGC WebServices, and more Spatial columns are linked in as PostGIS geometry if PostGIS is installed.
Geocode / GeoJSONMulticornGPLGitHub  a collection of PostGIS-related foreign data wrappers
Open Street Map PBFNativePostgreSQLGitHub   

LDAP Wrappers

Data SourceTypeLicenseCodeInstallDocNotes
LDAPNative GitHubPGXN Allows to query an LDAP server and retrieve data from some pre-configured Organizational Unit
LDAPMulticornPostgreSQLGitHubPGXNdocumentation 

Generic Web Wrappers

Data SourceTypeLicenseCodeInstallDocNotes
GitMulticornPostgreSQLGitHubPGXN  
GitNativeMITGitHub   
ICALMulticornPostgreSQLGitHub pdf 
IMAPMulticornPostgreSQLGitHubPGXNdocumentation 
RSSMulticornPostgreSQLGitHubPGXNdocumentationThis fdw can be used to access items from an rss feed.
wwwNativePostgreSQLGitHubPGXNwikiAllows to query different web services

Specific Web Wrappers

Data SourceTypeLicenseCodeInstallDocNotes
Database.comMulticornBSDGitHub   
Dun & BadstreetMulticornPostgreSQLGitHub  Access to the Data Universal Numbering System (DUNS)
DynamoDBMulticornGPLGitHub   
FacebookMulticorn GitHub   
Fixer.iobased on www_fdw GitHub   
GoogleMulticornPostgreSQLGitHubPGXN  
Heroku dataclipsNativePostgreSQLGitHub   
KeycloakMulticornMITGitHubPGXNREADMEDirect database integration with the Keycloak open-source Identity/Access Management solution.
MailchimpMulticornPostgreSQLGitHub  Beta
ParseMulticornMITGitHub   
S3NativePostgreSQLGitHubPGXN  
S3CSVMulticornGPL 3GitHub  This is meant to replace s3_fdw that does is not supported on PostgreSQL version 9.2+
TelegramMulticornPostgreSQLGitHub  telegram_fdw is a Telegram BOT implemented using the PostgreSQL foreign data wrapper interface.
TwitterNativePostgreSQLGitHubPGXN A wrapper fetching text messages from Twitter over the Internet and returning a table
Treasure DataNativeApacheGitHubPGXN A FDW for Treasure Data internally using a Rust library
Treasure DataMulticornApacheGitHub   
Google SpreadsheetsMulticornMITGitHub   
Open Weather MapMulticornMITGitHub  A FDW for Open Weather Map (single city)

Big Data Wrappers

Data SourceTypeLicenseCodeInstallDocNotes
ElasticsearchMulticornMITGitHub  Supports up to PG 12, ES 7.
Google BigQueryMulticornMITGitHub Documentationbigquery_fdw is a BigQuery FDW compatible with PostgreSQL >= 9.5
file_fdw-gds (Hadoop)Native GitHub  Hadoop file_fdw is a slightly modified version of PostgreSQL 9.3's file_fdw module.
HadoopNativePostgreSQLBitbucket  Allows read and write access to HBase as well as to HDFS via Hive.
HDFSNativeApacheGitHub   
HiveMulticorn GitHub  Used to access Apache Hive tables.
Hive / ORC FileNative GitHub   
ImpalaNativeBSDGitHub   
Apache ArrowNativeGPLv2GitHub  A part of PG-Strom feature; as a columnar data source with support of SSD-to-GPU Direct SQL

Column-Oriented Wrappers

Data SourceTypeLicenseCodeInstallDocNotes
Columnar StoreNative githubexample A Columnar Store for PostgreSQL.
MonetDBNative github   
GPU Memory StoreNativeGPL v2github  FDW to GPU device memory; a part of PG-Strom feature for PL/CUDA

Scientific Wrappers

Data SourceTypeLicenseCodeInstallDocNotes
AmbryMulticorn GitHub   
ROOT filesNative GitHub  https://root.cern.ch
VCF files (Genotype)Multicorn GitHub  https://en.wikipedia.org/wiki/Variant_Call_Format

Operating System Wrappers

Data SourceTypeLicenseCodeInstallDocNotes
DockerMulticornExpatGitHub   
Log filesMulticornPostgreSQLGitHub   
OpenStack / TelemetryMulticornPostgreSQLGitHub   
OS QueryMulticornPostgreSQLGitHub  Like Facebook's OSQuery, but for Postgres
PasswdNativePostgreSQLGitHub  reads linux/unix password and group files.
ProcessMulticornPostgreSQLGitHub  A foreign datawrapper for querying system stats based on statgrab
Environment VariablesMulticornMITGitHub  envFDW is a forign data wrapper for processing environment variables

Exotic Wrappers

Data SourceTypeLicenseCodeInstallDocNotes
faker_fdwMulticornPostgreSQLGitHub  faker_fdw is a foreign data wrapper for PostgreSQL that generates fake data.
fdw_fdwMulticornPostgreSQLGitHub  the Meta FDW ! reads this page and returns the list of all the FDW
PPGNative GitHub  distributed parallel query engine, based on fdw and hooks of PG
Open Civic DataMulticornExpatGitHub   
Phillips Hue Lighting SystemsMulticornMITGitHub   
Random NumberMulticornPostgreSQLGitHub  A random number generator foreign data wrapper for postgres
RotfangMulticornNativeBitBucketPostgreSQLslidesAdvanced random number generator
Template TablesNativeBSDGitHub  PostgreSQL data wrapper for template tables - any DML and SELECT operations are disallowed
VMware vSphereMulticornMITGitHub  A PostgreSQL FDW to query your VMware vSphere service

Example Wrappers

Data SourceTypeLicenseCodeInstallDocNotes
DummyNativeBSDGitHub  Readable null FDW for testing
Hello World  GitHub   
Black Hole  bitbucket  a skeleton FDW pre-populated with relevant excerpts from the documentation

Writing Foreign Database Wrappers

Category

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值