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 1w5RAv-003FaU-1f for pgsql-hackers@arkaria.postgresql.org; Wed, 25 Mar 2026 16:33:45 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w5RAu-00FD8i-04 for pgsql-hackers@arkaria.postgresql.org; Wed, 25 Mar 2026 16:33:44 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w5RAt-00FD8Z-2F for pgsql-hackers@lists.postgresql.org; Wed, 25 Mar 2026 16:33:44 +0000 Received: from mail-lf1-x12d.google.com ([2a00:1450:4864:20::12d]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w5RAs-00000000zuD-0A0k for pgsql-hackers@lists.postgresql.org; Wed, 25 Mar 2026 16:33:43 +0000 Received: by mail-lf1-x12d.google.com with SMTP id 2adb3069b0e04-5a2967e5de4so134176e87.3 for ; Wed, 25 Mar 2026 09:33:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774456420; cv=none; d=google.com; s=arc-20240605; b=OREJpzfZ2Qnl/eJSUd8GMqFjZSp0VrDT01QBddESwPW4ESeJpU5FUl3quYUfRUkrtP GkSyqMhKHA/LCTchprfQZrYnDgpCyx/1gMBO66ug4KgNj+Uzf/RDhKdJBFbEUsHWXxwS bSABnTVRNtABswe4QNmR7CrhoddbdjUqCDJNMQgkDzKHjwAhIKWOuBwxVcw5rBYYEqJ3 ggw4kLu1OBkyiOw80tmVPDcRM4M8nRiT0aDMLfFku9/Xjm4+r4PQDAFaf4l6GHk93MO2 eMkQCg6808DtK5SwoYBm8KwRneDHSst7aePN9xJYmmlJk41FkEYRElUHTargBMsrvCld SECg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=V7tkxsQvIS1cUPPE8+OazWopCR+Vi8xo0YQ+liDqpPg=; fh=4P2uKqFrH/UDOUWeImZ/W4yDXFpa15FqyO7c1WF/fhk=; b=LfTNghNtq3V3qOOXxnKxqERKHAkXTDvBKSwxINzQp6eeIZ6sZE/YyxgFm2GcETavcO jd2clL8uAgD8xZBw1ALY5L9bz/CEizDY+03r6d/dmgd61XmXi1g66tdQFoV+m5+tRPfE 6P1G5dQyWCalTVzc29h7w29veXcJj0Kmd44lqd+tZzfStAcA1g2Jx/Fxr7oeoI/B2YJR x86fiPQsubb4erS0JU9wXTh+0/3bWcDHOCPEa9N/+H6FIOBDy7csphtYtTZJVbhO94OJ YxlTh8/8/Rjzl7vsxlwH7OKCwSL0uGyjMyuZBlLDtIa5dp+0gH5FcCCHUdyM5esA7nxz /f9w==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774456420; x=1775061220; darn=lists.postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=V7tkxsQvIS1cUPPE8+OazWopCR+Vi8xo0YQ+liDqpPg=; b=Jnt12HgWHrJZXs8WuO2YHxBqcieTehTTiS+X2fjPQTk+iJJ5WUU+J8WGbb4QwDJQPe drkq3gmvi0EDP3RfEBo/N0eS/+VtQ9hgcSW3YK7/r10wIu8P6HeVi0W7Kd4G1lmVbyEG LUJw+gdb2fYUF++GOqi2qtiYUWN5vt00TzAItTJ9KLczYCpWov3scCVAcYRN2O7S2TWu XgNuXmqMmH2rI/JIFRf8XlTXdBx3O+Xwlfy/gDQ/NQprvnW8j/oz7DsDE2qhwvQ+bu37 voOebvQIndLiU6s/TSQ6eFZ0sDro/l1cmd8yNwUryaqWG9LfTHVK7EVI7natzfkDSaiV KDoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774456420; x=1775061220; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=V7tkxsQvIS1cUPPE8+OazWopCR+Vi8xo0YQ+liDqpPg=; b=XPnBIlASngErlhxVSfCH/Hi82JzRAXD2qg9Kn7MyWTutTJ6Pjpo02bRVLjA/nQ7RQe DGwam0xFLfYtHF2sNVghXyQu1hTnO4ql5GJ4n8pQLrMEhl7fiPSNKkTCmnilc4CtOmTa bN0MFMQCQirnWbKOlDz8WqP+RLQrNXLXslLCweh4ihpc3yDZP1XBxLdeoKyOcu1Vj+9E h3QCU9g0+CMtSUtxm/v7U4W5wRupjQbTXVMTy1BxrVargCszJba05WLyygnutmZVm0Bd J6ucACxjU31xTG+L4TjUGni7Ttqfb4f7yRztzKwzLaSKPWcJ9vk02fv3mThMfPjgFm3J ukLg== X-Gm-Message-State: AOJu0Yza7VgoMh57V+86OfUxf86eDZJiUrqQwk3bR6IW8QdQiwZTLIMf ZjbKzfUOh4eH0zdUHJMqZf8yvvMUJJyOdxnBFcJ3iKaFBhATphSm71XIuPXW5CGlSZAbzqp+Gs1 Dps9AHIBDP/UOrjl1Y8+Gp8vyvlDxHVI= X-Gm-Gg: ATEYQzzLBN0TIaeFFNlfwsO67IuY9fXoSskZH4fUHpHqMcNrJ/wi02qPyJurlo3BHMs wAYTtULQQK0uMMTT0YBoQRjgCWM7LqXfeWtZyafZsctkrJEcaIoQn7ec9Sq5Hz0xAzdev8Iuqz7 aTRaKYX10l2l53nyD8Ob63Wvjv7wfe9HkGeERZ6ugi9ZDX8QqwKLl2/g1ToO6ywhLTBmpKL815T DAbnpC5mI9YMHyKUK7SXWdkkR1aHIbkGgOmanzmTjOM7Qr8BnLswr4wK1hRpKW8sXzmP1jIpx+C zsym4rCH X-Received: by 2002:a05:6512:2385:b0:5a1:1e11:7532 with SMTP id 2adb3069b0e04-5a29b98a948mr1697733e87.24.1774456420040; Wed, 25 Mar 2026 09:33:40 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Masahiko Sawada Date: Wed, 25 Mar 2026 09:33:03 -0700 X-Gm-Features: AQROBzDWhFrubYvcJHEFV7aGcufNtzykWUYW8FV-Q9_efd6q9l1faB7OJgRvMFg Message-ID: Subject: Re: Add tab completion for SERVER and CONNECTION keywords in psql To: Yamaguchi Atsuo Cc: pgsql-hackers@lists.postgresql.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Wed, Mar 25, 2026 at 8:44=E2=80=AFAM Yamaguchi Atsuo wrote: > > Hi, > > On Mon, Mar 23, 2026 at 1:14=E2=80=AFPM Masahiko Sawada wrote: >> >> Hi, >> >> On Sun, Mar 22, 2026 at 1:30=E2=80=AFPM Yamaguchi Atsuo wrote: >> > >> > Hi, >> > >> > This patch adds missing tab completion support in psql for: >> > >> > - SERVER keyword after ALTER/CREATE SUBSCRIPTION >> > - CONNECTION keyword after ALTER/CREATE FOREIGN DATA WRAPPER >> > >> > Currently, typing "ALTER SUBSCRIPTION sub1 SERVER" and pressing Tab >> > does not complete server names, even though the SERVER keyword itself >> > is already suggested. Similarly, CONNECTION is not suggested as a >> > completion candidate for FOREIGN DATA WRAPPER commands, despite being >> > a valid option. >> > >> > The patch is generated against the current master branch. >> >> It's a fix for an oversight of commit 8185bb5347 rather than proposing >> a new tab-completion. Good catch. Regarding the patch, I have one >> comment: >> >> /* ALTER FOREIGN DATA WRAPPER */ >> else if (Matches("ALTER", "FOREIGN", "DATA", "WRAPPER", MatchAny)) >> COMPLETE_WITH("HANDLER", "VALIDATOR", "NO", >> - "OPTIONS", "OWNER TO", "RENAME TO"); >> + "OPTIONS", "OWNER TO", "RENAME TO", "CONNECTION"); >> >> I think it's better to maintain the keywords in the list in alphabetical= order. >> >> Regards, >> >> -- >> Masahiko Sawada >> Amazon Web Services: https://aws.amazon.com > > > Thank you for the review. I have updated the code to maintain the keywor= ds in alphabetical order. Thank you for updating the patch! Pushed. Regards, --=20 Masahiko Sawada Amazon Web Services: https://aws.amazon.com