Received: from maia.hub.org (maia-5.hub.org [200.46.204.29]) by mail.postgresql.org (Postfix) with ESMTP id B97DCB5DBC0 for ; Thu, 16 Jun 2011 22:21:43 -0300 (ADT) Received: from mail.postgresql.org ([200.46.204.86]) by maia.hub.org (mx1.hub.org [200.46.204.29]) (amavisd-maia, port 10024) with ESMTP id 64362-06 for ; Fri, 17 Jun 2011 01:21:37 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from smtp-2.01.com (smtp-2.01.com [38.102.63.181]) by mail.postgresql.org (Postfix) with ESMTP id EE888B5D801 for ; Thu, 16 Jun 2011 22:21:36 -0300 (ADT) Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp-2.01.com (Postfix) with ESMTP id 198AA1AE972 for ; Thu, 16 Jun 2011 20:21:37 -0500 (CDT) Received: from smtp-2.01.com ([127.0.0.1]) by localhost (smtp-2.01.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sWnDXgKD+8hj for ; Thu, 16 Jun 2011 20:21:37 -0500 (CDT) Received: by smtp-2.01.com (Postfix, from userid 99) id F38151AE97E; Thu, 16 Jun 2011 20:21:36 -0500 (CDT) Received: from mail-1.01.com (mail-1.01.com [38.102.63.171]) by smtp-2.01.com (Postfix) with ESMTP id D94431AE972 for ; Thu, 16 Jun 2011 20:21:36 -0500 (CDT) Date: Thu, 16 Jun 2011 20:21:36 -0500 (CDT) From: Joshua Berkus To: pgsql-docs@postgresql.org Message-ID: <1054372046.268838.1308273696804.JavaMail.root@mail-1.01.com> In-Reply-To: <211773023.268832.1308273693481.JavaMail.root@mail-1.01.com> Subject: File_FDW with example MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_268837_1278177741.1308273696803" X-Originating-IP: [12.207.22.242] X-Mailer: Zimbra 6.0.12_GA_2888 (ZimbraWebClient - SAF3 (Linux)/6.0.12_GA_2883) X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=-1.9 tagged_above=-5 required=5 tests=BAYES_00=-1.9 X-Spam-Level: X-Archive-Number: 201106/76 X-Sequence-Number: 6850 ------=_Part_268837_1278177741.1308273696803 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit (apologies for prior incomplete post. Webmail spazzed on me). Attached is a version of file_FDW.sgml which contains a complete example of how to use it to read your postgresql csv logs. I think this does some neat tying together of how to use FDWs that the docs are currently lacking. -- Josh Berkus PostgreSQL Experts Inc. http://pgexperts.com San Francisco ------=_Part_268837_1278177741.1308273696803 Content-Type: text/sgml; name=file-fdw.sgml Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=file-fdw.sgml PCEtLSBkb2Mvc3JjL3NnbWwvZmlsZS1mZHcuc2dtbCAtLT4KCjxzZWN0MSBpZD0iZmlsZS1mZHci PgogPHRpdGxlPmZpbGVfZmR3PC90aXRsZT4KCiA8aW5kZXh0ZXJtIHpvbmU9ImZpbGUtZmR3Ij4K ICA8cHJpbWFyeT5maWxlX2ZkdzwvcHJpbWFyeT4KIDwvaW5kZXh0ZXJtPgoKIDxwYXJhPgogIFRo ZSA8ZmlsZW5hbWU+ZmlsZV9mZHc8Lz4gbW9kdWxlIHByb3ZpZGVzIHRoZSBmb3JlaWduLWRhdGEg d3JhcHBlcgogIDxmdW5jdGlvbj5maWxlX2ZkdzwvZnVuY3Rpb24+LCB3aGljaCBjYW4gYmUgdXNl ZCB0byBhY2Nlc3MgZGF0YQogIGZpbGVzIGluIHRoZSBzZXJ2ZXIncyBmaWxlc3lzdGVtLiAgRGF0 YSBmaWxlcyBtdXN0IGJlIGluIGEgZm9ybWF0CiAgdGhhdCBjYW4gYmUgcmVhZCBieSA8Y29tbWFu ZD5DT1BZIEZST008L2NvbW1hbmQ+OwogIHNlZSA8eHJlZiBsaW5rZW5kPSJzcWwtY29weSI+IGZv ciBkZXRhaWxzLgogPC9wYXJhPgoKIDxwYXJhPgogIEEgZm9yZWlnbiB0YWJsZSBjcmVhdGVkIHVz aW5nIHRoaXMgd3JhcHBlciBjYW4gaGF2ZSB0aGUgZm9sbG93aW5nIG9wdGlvbnM6CiA8L3BhcmE+ CgogPHZhcmlhYmxlbGlzdD4KCiAgPHZhcmxpc3RlbnRyeT4KICAgPHRlcm0+PGxpdGVyYWw+Zmls ZW5hbWU8L2xpdGVyYWw+PC90ZXJtPgoKICAgPGxpc3RpdGVtPgogICAgPHBhcmE+CiAgICAgU3Bl Y2lmaWVzIHRoZSBmaWxlIHRvIGJlIHJlYWQuICBSZXF1aXJlZC4gIE11c3QgYmUgYW4gYWJzb2x1 dGUgcGF0aCBuYW1lLgogICAgPC9wYXJhPgogICA8L2xpc3RpdGVtPgogIDwvdmFybGlzdGVudHJ5 PgoKICA8dmFybGlzdGVudHJ5PgogICA8dGVybT48bGl0ZXJhbD5mb3JtYXQ8L2xpdGVyYWw+PC90 ZXJtPgoKICAgPGxpc3RpdGVtPgogICAgPHBhcmE+CiAgICAgU3BlY2lmaWVzIHRoZSBmaWxlJ3Mg Zm9ybWF0LAogICAgIHRoZSBzYW1lIGFzIDxjb21tYW5kPkNPUFk8Lz4ncyA8bGl0ZXJhbD5GT1JN QVQ8L2xpdGVyYWw+IG9wdGlvbi4KICAgIDwvcGFyYT4KICAgPC9saXN0aXRlbT4KICA8L3Zhcmxp c3RlbnRyeT4KCiAgPHZhcmxpc3RlbnRyeT4KICAgPHRlcm0+PGxpdGVyYWw+aGVhZGVyPC9saXRl cmFsPjwvdGVybT4KCiAgIDxsaXN0aXRlbT4KICAgIDxwYXJhPgogICAgIFNwZWNpZmllcyB3aGV0 aGVyIHRoZSBmaWxlIGhhcyBhIGhlYWRlciBsaW5lLAogICAgIHRoZSBzYW1lIGFzIDxjb21tYW5k PkNPUFk8Lz4ncyA8bGl0ZXJhbD5IRUFERVI8L2xpdGVyYWw+IG9wdGlvbi4KICAgIDwvcGFyYT4K ICAgPC9saXN0aXRlbT4KICA8L3Zhcmxpc3RlbnRyeT4KCiAgPHZhcmxpc3RlbnRyeT4KICAgPHRl cm0+PGxpdGVyYWw+ZGVsaW1pdGVyPC9saXRlcmFsPjwvdGVybT4KCiAgIDxsaXN0aXRlbT4KICAg IDxwYXJhPgogICAgIFNwZWNpZmllcyB0aGUgZmlsZSdzIGRlbGltaXRlciBjaGFyYWN0ZXIsCiAg ICAgdGhlIHNhbWUgYXMgPGNvbW1hbmQ+Q09QWTwvPidzIDxsaXRlcmFsPkRFTElNSVRFUjwvbGl0 ZXJhbD4gb3B0aW9uLgogICAgPC9wYXJhPgogICA8L2xpc3RpdGVtPgogIDwvdmFybGlzdGVudHJ5 PgoKICA8dmFybGlzdGVudHJ5PgogICA8dGVybT48bGl0ZXJhbD5xdW90ZTwvbGl0ZXJhbD48L3Rl cm0+CgogICA8bGlzdGl0ZW0+CiAgICA8cGFyYT4KICAgICBTcGVjaWZpZXMgdGhlIGZpbGUncyBx dW90ZSBjaGFyYWN0ZXIsCiAgICAgdGhlIHNhbWUgYXMgPGNvbW1hbmQ+Q09QWTwvPidzIDxsaXRl cmFsPlFVT1RFPC9saXRlcmFsPiBvcHRpb24uCiAgICA8L3BhcmE+CiAgIDwvbGlzdGl0ZW0+CiAg PC92YXJsaXN0ZW50cnk+CgogIDx2YXJsaXN0ZW50cnk+CiAgIDx0ZXJtPjxsaXRlcmFsPmVzY2Fw ZTwvbGl0ZXJhbD48L3Rlcm0+CgogICA8bGlzdGl0ZW0+CiAgICA8cGFyYT4KICAgICBTcGVjaWZp ZXMgdGhlIGZpbGUncyBlc2NhcGUgY2hhcmFjdGVyLAogICAgIHRoZSBzYW1lIGFzIDxjb21tYW5k PkNPUFk8Lz4ncyA8bGl0ZXJhbD5FU0NBUEU8L2xpdGVyYWw+IG9wdGlvbi4KICAgIDwvcGFyYT4K ICAgPC9saXN0aXRlbT4KICA8L3Zhcmxpc3RlbnRyeT4KCiAgPHZhcmxpc3RlbnRyeT4KICAgPHRl cm0+PGxpdGVyYWw+bnVsbDwvbGl0ZXJhbD48L3Rlcm0+CgogICA8bGlzdGl0ZW0+CiAgICA8cGFy YT4KICAgICBTcGVjaWZpZXMgdGhlIGZpbGUncyBudWxsIHN0cmluZywKICAgICB0aGUgc2FtZSBh cyA8Y29tbWFuZD5DT1BZPC8+J3MgPGxpdGVyYWw+TlVMTDwvbGl0ZXJhbD4gb3B0aW9uLgogICAg PC9wYXJhPgogICA8L2xpc3RpdGVtPgogIDwvdmFybGlzdGVudHJ5PgoKICA8dmFybGlzdGVudHJ5 PgogICA8dGVybT48bGl0ZXJhbD5lbmNvZGluZzwvbGl0ZXJhbD48L3Rlcm0+CgogICA8bGlzdGl0 ZW0+CiAgICA8cGFyYT4KICAgICBTcGVjaWZpZXMgdGhlIGZpbGUncyBlbmNvZGluZy4KICAgICB0 aGUgc2FtZSBhcyA8Y29tbWFuZD5DT1BZPC8+J3MgPGxpdGVyYWw+RU5DT0RJTkc8L2xpdGVyYWw+ IG9wdGlvbi4KICAgIDwvcGFyYT4KICAgPC9saXN0aXRlbT4KICA8L3Zhcmxpc3RlbnRyeT4KCiA8 L3ZhcmlhYmxlbGlzdD4KCiA8cGFyYT4KICA8Y29tbWFuZD5DT1BZPC8+J3MgPGxpdGVyYWw+T0lE UzwvbGl0ZXJhbD4sIDxsaXRlcmFsPkZPUkNFX1FVT1RFPC9saXRlcmFsPiwKICBhbmQgPGxpdGVy YWw+Rk9SQ0VfTk9UX05VTEw8L2xpdGVyYWw+IG9wdGlvbnMgYXJlIGN1cnJlbnRseSBub3Qgc3Vw cG9ydGVkIGJ5CiAgPGxpdGVyYWw+ZmlsZV9mZHc8Lz4uCiA8L3BhcmE+CgogPHBhcmE+CiAgVGhl c2Ugb3B0aW9ucyBjYW4gb25seSBiZSBzcGVjaWZpZWQgZm9yIGEgZm9yZWlnbiB0YWJsZSwgbm90 IGluIHRoZQogIG9wdGlvbnMgb2YgdGhlIDxsaXRlcmFsPmZpbGVfZmR3PC8+IGZvcmVpZ24tZGF0 YSB3cmFwcGVyLCBub3IgaW4gdGhlCiAgb3B0aW9ucyBvZiBhIHNlcnZlciBvciB1c2VyIG1hcHBp bmcgdXNpbmcgdGhlIHdyYXBwZXIuCiA8L3BhcmE+CgogPHBhcmE+CiAgQ2hhbmdpbmcgdGFibGUt bGV2ZWwgb3B0aW9ucyByZXF1aXJlcyBzdXBlcnVzZXIgcHJpdmlsZWdlcywgZm9yIHNlY3VyaXR5 CiAgcmVhc29uczogb25seSBhIHN1cGVydXNlciBzaG91bGQgYmUgYWJsZSB0byBkZXRlcm1pbmUg d2hpY2ggZmlsZSBpcyByZWFkLgogIEluIHByaW5jaXBsZSBub24tc3VwZXJ1c2VycyBjb3VsZCBi ZSBhbGxvd2VkIHRvIGNoYW5nZSB0aGUgb3RoZXIgb3B0aW9ucywKICBidXQgdGhhdCdzIG5vdCBz dXBwb3J0ZWQgYXQgcHJlc2VudC4KIDwvcGFyYT4KCiA8cGFyYT4KICBGb3IgYSBmb3JlaWduIHRh YmxlIHVzaW5nIDxsaXRlcmFsPmZpbGVfZmR3PC8+LCA8Y29tbWFuZD5FWFBMQUlOPC8+IHNob3dz CiAgdGhlIG5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgcmVhZC4gIFVubGVzcyA8bGl0ZXJhbD5DT1NU UyBPRkY8Lz4gaXMKICBzcGVjaWZpZWQsIHRoZSBmaWxlIHNpemUgKGluIGJ5dGVzKSBpcyBzaG93 biBhcyB3ZWxsLgogPC9wYXJhPgoKPHBhcmE+CiAgPGV4YW1wbGU+CiAgPHRpdGxlIGlkPSJjc3Zs b2ctZmR3Ij5DcmVhdGUgYSBGb3JlaWduIFRhYmxlIGZvciBQb3N0Z3JlU1FMIENTViBMb2dzPC90 aXRsZT4KICAKICA8cGFyYT4KICAgIE9uZSBvZiB0aGUgb2J2aW91cyB1c2VzIGZvciB0aGUgPGxp dGVyYWw+ZmlsZV9mZHc8Lz4gaXMgdG8gbWFrZSB0aGUgUG9zdGdyZVNRTAogICAgYWN0aXZpdHkg bG9nIGF2YWlsYWJsZSBhcyBhIHRhYmxlIGZvciBxdWVyeWluZy4gIFRvIGRvIHRoaXMsIGZpcnN0 IHlvdSBtdXN0IGJlIAogICAgbG9nZ2luZyB0byBhIGNzdiBmaWxlLCB3aGljaCBoZXJlIHdlIHdp bGwgY2FsbCAicGdsb2cuY3N2Ii4gIEZpcnN0LCBpbnN0YWxsIAogICAgPGxpdGVyYWw+ZmlsZV9m ZHc8Lz4gYXMgYW4gRXh0ZW5zaW9uOgogIDwvcGFyYT4KCjxwcm9ncmFtbGlzdGluZz4KQ1JFQVRF IEVYVEVOU0lPTiBmaWxlX2ZkdzsKPC9wcm9ncmFtbGlzdGluZz4KCiAgPHBhcmE+CiAgICBOZXh0 LCBjcmVhdGUgdGhlIGZvcmVpZ24gZGF0YSB3cmFwcGVyOgoKPHByb2dyYW1saXN0aW5nPgpDUkVB VEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZmlsZV9mZHcgSEFORExFUiBmaWxlX2Zkd19oYW5kbGVy Owo8L3Byb2dyYW1saXN0aW5nPgogIDwvcGFyYT4KCiAgPHBhcmE+CiAgICBUaGVuIGNyZWF0ZSBh IGZvcmVpZ24gZGF0YSBzZXJ2ZXI6Cgo8cHJvZ3JhbWxpc3Rpbmc+CkNSRUFURSBTRVJWRVIgcGds b2cgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZmlsZV9mZHc7CjwvcHJvZ3JhbWxpc3Rpbmc+CiAgPC9w YXJhPgoKICA8cGFyYT4KICAgIE5vdyB5b3UgYXJlIHJlYWR5IHRvIGNyZWF0ZSB0aGUgZm9yZWln biBkYXRhIHRhYmxlLiAgSW4gb25lIGNvbW1hbmQsCiAgICB5b3Ugd2lsbCBuZWVkIHRvIGRlZmlu ZSBib3RoIHRoZSBjb2x1bW5zIGZvciB0aGUgdGFibGUgYXMgd2VsbCBhcwogICAgdGhlIGZpbGVu YW1lIGZvciB0aGUgZmlsZSBhbmQgaXRzIGZvcm1hdC4KCjxwcm9ncmFtbGlzdGluZz4KQ1JFQVRF IEZPUkVJR04gVEFCTEUgcGdsb2cgKAogIGxvZ190aW1lIHRpbWVzdGFtcCgzKSB3aXRoIHRpbWUg em9uZSwKICB1c2VyX25hbWUgdGV4dCwKICBkYXRhYmFzZV9uYW1lIHRleHQsCiAgcHJvY2Vzc19p ZCBpbnRlZ2VyLAogIGNvbm5lY3Rpb25fZnJvbSB0ZXh0LAogIHNlc3Npb25faWQgdGV4dCwKICBz ZXNzaW9uX2xpbmVfbnVtIGJpZ2ludCwKICBjb21tYW5kX3RhZyB0ZXh0LAogIHNlc3Npb25fc3Rh cnRfdGltZSB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUsCiAgdmlydHVhbF90cmFuc2FjdGlvbl9p ZCB0ZXh0LAogIHRyYW5zYWN0aW9uX2lkIGJpZ2ludCwKICBlcnJvcl9zZXZlcml0eSB0ZXh0LAog IHNxbF9zdGF0ZV9jb2RlIHRleHQsCiAgbWVzc2FnZSB0ZXh0LAogIGRldGFpbCB0ZXh0LAogIGhp bnQgdGV4dCwKICBpbnRlcm5hbF9xdWVyeSB0ZXh0LAogIGludGVybmFsX3F1ZXJ5X3BvcyBpbnRl Z2VyLAogIGNvbnRleHQgdGV4dCwKICBxdWVyeSB0ZXh0LAogIHF1ZXJ5X3BvcyBpbnRlZ2VyLAog IGxvY2F0aW9uIHRleHQsCiAgYXBwbGljYXRpb25fbmFtZSB0ZXh0CikgU0VSVkVSIHBnbG9nCk9Q VElPTlMgKCBmaWxlbmFtZSAnL2hvbWUvam9zaC85LjEvZGF0YS9wZ19sb2cvcGdsb2cuY3N2Jywg Zm9ybWF0ICdjc3YnICk7CjwvcHJvZ3JhbWxpc3Rpbmc+CiAgPC9wYXJhPgoKICA8cGFyYT4KICAg IFRoYXQncyBpdCwgbm90IHlvdSBjYW4gcXVlcnkgeW91ciBsb2cgZGlyZWN0bHkuIEluIHByb2R1 Y3Rpb24sIG9mIGNvdXJzZSwKICAgIHlvdSB3b3VsZCBuZWVkIHRvIGRlZmluZSBzb21lIHdheSB0 byBrZWVwIHVwIHdpdGggbG9nIHJvdGF0aW9uLgogIDwvcGFyYT4KPC9leGFtcGxlPgoKPC9zZWN0 MT4K ------=_Part_268837_1278177741.1308273696803--