Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wD17h-002WTc-2J for pgsql-hackers@arkaria.postgresql.org; Wed, 15 Apr 2026 14:21:46 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wD17e-00HLNM-39 for pgsql-hackers@arkaria.postgresql.org; Wed, 15 Apr 2026 14:21:43 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wD13c-00GgL7-1Z for pgsql-hackers@lists.postgresql.org; Wed, 15 Apr 2026 14:17:33 +0000 Received: from mail-switzerlandnorthazlp170100000.outbound.protection.outlook.com ([2a01:111:f403:c213::] helo=ZRAP278CU002.outbound.protection.outlook.com) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wCwWY-00000001BeR-3qle for pgsql-hackers@lists.postgresql.org; Wed, 15 Apr 2026 09:27:10 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Y8B9YRZhZkDgonLMRJym8f/QKVdCgJ+63TiAFrcCfefnWEd6ShYQWZ82KquRoLn69CaKF9PKhc3UBCd+j8sAs6QkRNp47UCM43yUVQYgzV84ESRgH+1nM+1wnPDxlqH/WS5FiU2iBSen8OsV8tQG99dKGmA6l2OeCMeBrY99/OmIxHMiboeJyShq2+tkoTZIggHTG+n644+ndi3a12OEI8x5tinCW9fiLmzjasL/22u38acV7sLJHgJmWD7+t3rMRjuAa3GeJqv+5657XNMX2FapUJsPaEETlB4VJAQy12zqScdQVH3WVw2GlpmxS3BHz+RQ/UCndojwW5Vd5w43XA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=5PDh+02AWg6/C2CLWigM4ju02DQCbdpbEPKn7gJS+iI=; b=Kl8MlBb5Ce93ikZgmO02NAddIXG9HlSvV37UA2aAw/Q/4c9z5HP7/6Tq5h+hQsF8Mtbuoowdt5L36Lfmua2FBqeOOlLkDCh86jyEsSa+/a3mPxWnfvMV+MBfjo7/IIhG+Kc+1F1alKky4IdMs1A9nSFPzjOBgEyNkORtZLhxznKOGT+sMuAQiJJDsNz1lqOwnsRm9nOwX5IegNAMGDn/ql4y1LPiTQra0pfAL8/CnuwLgKwoKsHO2i1nDokfoo4e08lssFxblraK2QBVugid6NBWUgP1tjQZrpGm7/z5x2VK/T8uBp9EifucHu28vOLWqyrTuGtuLQPe5Fwqfe02pA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=dbi-services.com; dmarc=pass action=none header.from=dbi-services.com; dkim=pass header.d=dbi-services.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dbi-services.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5PDh+02AWg6/C2CLWigM4ju02DQCbdpbEPKn7gJS+iI=; b=kp8bezq3hUTHPjvcQ34DHXUWklMJLu/Z+ZxgMkhAa/1EIiEdex58fvLYrHmpSyhZiYjqDev0wD9u/fYvpVf5rU+OXS9T9R/LXL3cvZR1D+AmzhnUY5Yn1mhy+BOXXbW6JsQ2A5oHRMO33l9Fu33aEoVmIgTUk0xtroQW55cJ0XE= Received: from ZR2PPFF1830B877.CHEP278.PROD.OUTLOOK.COM (2603:10a6:918::2f2) by ZR4P278MB1788.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:b4::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.48; Wed, 15 Apr 2026 09:27:02 +0000 Received: from ZR2PPFF1830B877.CHEP278.PROD.OUTLOOK.COM ([fe80::a34c:419e:358b:501e]) by ZR2PPFF1830B877.CHEP278.PROD.OUTLOOK.COM ([fe80::a34c:419e:358b:501e%3]) with mapi id 15.20.9769.046; Wed, 15 Apr 2026 09:27:01 +0000 From: "Daniel Westermann (DWE)" To: PostgreSQL Hackers Subject: docs: Fix format of CREATE FOREIGN TABLE example in postgres_fdw Thread-Topic: docs: Fix format of CREATE FOREIGN TABLE example in postgres_fdw Thread-Index: AQHczLfer1DL8/pMyUCEVut5nSY01g== Date: Wed, 15 Apr 2026 09:27:01 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=dbi-services.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: ZR2PPFF1830B877:EE_|ZR4P278MB1788:EE_ x-ms-office365-filtering-correlation-id: 73963fba-de2f-4ec8-1470-08de9ad12654 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|366016|1800799024|6049299003|376014|8096899003|13003099007|4053099003|38070700021|56012099003|18002099003; x-microsoft-antispam-message-info: yE8IJqM0Aup7ftlkAX9nH8Yr/WHMWjzXnfV04zf+cjbBU4fPlP8/Tdo7TkTKI3v3XUpvKz/4oP8TtlWS6gxaG3VnfPS1w3sJXco5KqM87YtUh2CieHrExTOZL1ZmAvnJKcl7hRwLhBcv2Og3Pyt+H/K4d5v7k3GRjOa+spUlqeLZ+ZBGMqb8UetvIdx/iCfcF1RKwR5SZBuSA5yWtUI2nWZmafzJiJnHRafVPV3OGVnHAHMsvbaVJoG2Lu/i9Y6d6t9sK3hwg0WGRmeiCwTBv70vA69G5/ZyVJvupzn9vdYSuiqX6F0O47Ds/A+BK1ziijKMfSqt4k7e/r/2ZDXF2o3oubLIvmK7x4a6Iy0vlueV03p3xzu1QFNsTDU+VLcwH1y06kRYL81jRKt2oIjDxYqQfMGhOHlJMQgjE7hawfkylT+JDjHpgKkz1KFEBNECZo1zE0G/G+/kcczNATn+tvwBttwYTkx4HyKTouPVDGzU0HLxPRi4i2jBW4ApaprMwSx90s/9h/fGqf2vArEXVLbFFB/HOx2UVQknioIOjRZ+QJHkm8LsGqXn6iYkcbdENbAUakwIbeK1+925kiNgkZXIBCmeA017FgneZatOzTjyO3pJ6nyP9cORJV5JMG7WAtzsR/dE/cyR7UqEzs2DZkEkeoh25KUh6z9iKS8n5Pb3Rk85pdu4CmGf3pNPyc2kMUM7RsDfooVC5EzZS3mWfPrTz6/LlAmHLCdAMcJ123TZg45kxah+VBCnG0lhFhVPm+W2dXOL6fVtE3WfyGvtmOqDKirXJj5JyFLFZ3ZmBn4= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:ZR2PPFF1830B877.CHEP278.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(6049299003)(376014)(8096899003)(13003099007)(4053099003)(38070700021)(56012099003)(18002099003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?te253LATHINMz/tI2qaI24t/Ym0aUiwICatI5X2Im+JfQ0QRWmBv1JYW1a?= =?iso-8859-1?Q?KaaLYJLFxmX7rS3srkuwTdB17YuPbQZK8Gdx0pXUoahFHZ1zUr65hRoqXn?= =?iso-8859-1?Q?CEeM9AGHHwSSYuynuefORsAalhI2snHXnjfoo3MV4myesCsuVInvVmQ6Nb?= =?iso-8859-1?Q?AJHKXKupsCO32JCDSyjVA07+441YHHNLIEZZTW3s2LIy/DmLjOpNdMDSZh?= =?iso-8859-1?Q?t9nYYCmCFyIqZ0eVnefFjcua1agTBINRPbOx9x9bSPbBHq+IXmv/NrCVNF?= =?iso-8859-1?Q?cYTauSJi/e8G0FqZ2Mq6bujoVr/aa/5EJwhrLvlIOL9BtQ4i1rFsS5z8Hd?= =?iso-8859-1?Q?p6BlTcU0hXHK8obdCUSW8tKt2UI3YxwcJoHw0BjjZbyPpwRLSWtfyM8vmD?= =?iso-8859-1?Q?Yjy2iMSiULO0rwtmu39ptkoztg6H+dV+sr+6Q61lDuSYP587rQkwudxZ7M?= =?iso-8859-1?Q?glFiTdV/wk+QcHvyx5rjqtZnYlA4kGFETjXhjzs2Hqk4nutc/4ARpQipyE?= =?iso-8859-1?Q?ueUbIIMKxFXvT1ZCBw9xLznLRDyssYAQZ/ECeHsYUCAOzH3xx6LXwSfGqy?= =?iso-8859-1?Q?R8hqZ9CKF67RtVHbo987aeHe4PzxqYCC1s38GTKum/epknqaObc65kZJCG?= =?iso-8859-1?Q?CSq4S11/7mJ7H9ztOP90Vp4pAZFqHmlAidULtwiUDBZlonC9CGxZsblqxi?= =?iso-8859-1?Q?D7/nJFnSWdoYTlLqLtqonSg+8S0CQ/aczOkpx3nEX1nM9yWSjLKeQJNlLt?= =?iso-8859-1?Q?uZot4jwOOnIND6KsR2+cu7z9xoY+GJceGyXFu3MTkNBsQCD45kc3fRGdLn?= =?iso-8859-1?Q?5xxjKpLeo43YfaPMnqot097+iXZkVtsVrWzdJpQ4jphEmRYCmf05bTpsIk?= =?iso-8859-1?Q?DHjFeW4+goWDn04vpu+/d17rdAI1mirvmn2dBwWA5R1T4pnvBSVpFsgXVU?= =?iso-8859-1?Q?SzR4vnIndYwucMBMljjFWDrEhl2/ng71CnrZ36JMHhVlrvpoaRYDIqDXAY?= =?iso-8859-1?Q?5Ul5j9gTYmZzTosPwS2fYFV/dbODLE9aaURjFlWmMmaU/YKiWEy6V++yLV?= =?iso-8859-1?Q?WwMCdxdhJ5iiuoRzzBqcqFIFBLi5TrIq64Z2FDXUf3C7gT3JEVETlYFRIB?= =?iso-8859-1?Q?jWfJ2rtYYJPS/O5tQoKthj1sLjbAG7MT2EU/B9HjLNyi7Un8CvFfjbn0Bo?= =?iso-8859-1?Q?rKFOkCTZPZw+p9gLBA0PiYBv7OZuGSUFplU1hB+KfcAWAe8pDkekALc0LM?= =?iso-8859-1?Q?fFf4Fro3UFWMGNOK0eRdDUjP5DLGnmPvkKkH+kNXutySyBZELvBIqE2FMq?= =?iso-8859-1?Q?K2It+mF6Ud7bm/dvxCKge9YT9WtOmzr8iGUQTbUn7YZ8Dfw9b6CMss4Qxp?= =?iso-8859-1?Q?O485RGbCuPZv7/nlJdiZJRKAgEzDufXcSkrknxg5TGbhy4aeiM16olpAV1?= =?iso-8859-1?Q?kDSaSlWGQdTkEre0DH6ZtPR9EECPOPGIz9nAyJ3CjGDNcDULLUgRU3626S?= =?iso-8859-1?Q?vUDKFPWeZlJN9hFH5qNF/UmXlwWeK7vL4KwLDoeDhpb0Lyw+mPimuNnksy?= =?iso-8859-1?Q?Em45L4DvWQ3SsJQuOCI0HT6Gdy87P9+Azs6eWW8g5M+NiJjWkDR9IFdE7d?= =?iso-8859-1?Q?Am2kLuxr2dPHpVLOKaTwHiFMWns969yMdd3E/sunT7WYexf93XB3Z5BX07?= =?iso-8859-1?Q?w/pRa8Lo3esYHWgHYSCkI0rLqwVc1/JaPbzhL9+cL2RWns4Biq4HNycBRS?= =?iso-8859-1?Q?PF/8ZKzSs5IUdNmB4L9YhQ4J7VJMiotKfC4xO2C+5/+Xmx7ZlYCFIHaRFz?= =?iso-8859-1?Q?zJR19FhkvfC4+ltg3lGeLjv8/tI5ZEg=3D?= Content-Type: multipart/mixed; boundary="_004_ZR2PPFF1830B8773AC9735393FFF93F8665D2222ZR2PPFF1830B877_" MIME-Version: 1.0 X-OriginatorOrg: dbi-services.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: ZR2PPFF1830B877.CHEP278.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 73963fba-de2f-4ec8-1470-08de9ad12654 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Apr 2026 09:27:01.4977 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b9c70613-b1ea-47b7-9fdd-e6f3a67ce75c X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: D6YEKqGtk7HQ0BZuKw/OGCisqT8B60reRkh7jJiWFYAYP66PmP6HA0d4zJx7RUz1YbHpMjQ7NuzIpYo7TZxwPDrRyB/dB/oRy/wwW+mGFUKmtNsd328kmDcriL3WNsoq X-MS-Exchange-Transport-CrossTenantHeadersStamped: ZR4P278MB1788 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_004_ZR2PPFF1830B8773AC9735393FFF93F8665D2222ZR2PPFF1830B877_ Content-Type: multipart/alternative; boundary="_000_ZR2PPFF1830B8773AC9735393FFF93F8665D2222ZR2PPFF1830B877_" --_000_ZR2PPFF1830B8773AC9735393FFF93F8665D2222ZR2PPFF1830B877_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi, while reading https://www.postgresql.org/docs/devel/postgres-fdw.html I've= noticed that there is a single bracket on one line of the CREATE FOREIGN T= ABLE example. Browsing through other docs (e,g. https://www.postgresql.org/docs/devel/sql= -createtable.html ) there doesn't seem to be a rule for that but if there i= s a single bracket (e.g. CREATE TABLE distributors), the options that follo= w usually start at position one and are not indented (or they follow direct= ly after the bracket). The examples in file_fdw (https://www.postgresql.org/docs/devel/file-fdw.ht= ml) follow a mix of options which directly follow the bracket and on a new = line. Attached a small patch which makes it looking a bit better, at least in my = opinion. Regards Daniel --_000_ZR2PPFF1830B8773AC9735393FFF93F8665D2222ZR2PPFF1830B877_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi,

while reading https://www.postgresql.org/docs/devel/postgres-fdw.html  I've noti= ced that there is a single bracket on one line of the CREATE FOREIGN TABLE = example.

Browsing through other docs (e,g. https://www.postgresql.org/docs/devel/sql-createtable.html ) there= doesn't seem to be a rule for that but if there is a single bracket (e.g. = CREATE TABLE distributors), the options that follow usually start at positi= on one and are not indented (or they follow directly after the bracket).

The examples in file_fdw (https://www.postgresql.org/docs/devel/file-fdw.html) fol= low a mix of options which directly follow the bracket and on a new line.

Attached a small patch which makes it looking a bit better, at least in my = opinion.

Regards
Daniel
--_000_ZR2PPFF1830B8773AC9735393FFF93F8665D2222ZR2PPFF1830B877_-- --_004_ZR2PPFF1830B8773AC9735393FFF93F8665D2222ZR2PPFF1830B877_ Content-Type: text/x-patch; name="fix-create-foreign-table-example-format.patch" Content-Description: fix-create-foreign-table-example-format.patch Content-Disposition: attachment; filename="fix-create-foreign-table-example-format.patch"; size=624; creation-date="Wed, 15 Apr 2026 09:26:24 GMT"; modification-date="Wed, 15 Apr 2026 09:27:01 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9wb3N0Z3Jlcy1mZHcuc2dtbCBiL2RvYy9zcmMvc2dt bC9wb3N0Z3Jlcy1mZHcuc2dtbAppbmRleCBiODFmMzM3MzJmYi4uYmY1NGY4OTM3YzQgMTAwNjQ0 Ci0tLSBhL2RvYy9zcmMvc2dtbC9wb3N0Z3Jlcy1mZHcuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwv cG9zdGdyZXMtZmR3LnNnbWwKQEAgLTE0NzAsOSArMTQ3MCw5IEBAIENSRUFURSBVU0VSIE1BUFBJ TkcgRk9SIGxvY2FsX3VzZXIKIENSRUFURSBGT1JFSUdOIFRBQkxFIGZvcmVpZ25fdGFibGUgKAog ICAgICAgICBpZCBpbnRlZ2VyIE5PVCBOVUxMLAogICAgICAgICBkYXRhIHRleHQKLSkKLSAgICAg ICAgU0VSVkVSIGZvcmVpZ25fc2VydmVyCi0gICAgICAgIE9QVElPTlMgKHNjaGVtYV9uYW1lICdz b21lX3NjaGVtYScsIHRhYmxlX25hbWUgJ3NvbWVfdGFibGUnKTsKKykgCitTRVJWRVIgZm9yZWln bl9zZXJ2ZXIKK09QVElPTlMgKHNjaGVtYV9uYW1lICdzb21lX3NjaGVtYScsIHRhYmxlX25hbWUg J3NvbWVfdGFibGUnKTsKIDwvcHJvZ3JhbWxpc3Rpbmc+CiAKICAgIEl0J3MgZXNzZW50aWFsIHRo YXQgdGhlIGRhdGEgdHlwZXMgYW5kIG90aGVyIHByb3BlcnRpZXMgb2YgdGhlIGNvbHVtbnMK --_004_ZR2PPFF1830B8773AC9735393FFF93F8665D2222ZR2PPFF1830B877_--