Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1ge4vm-0000IU-8C for pgsql-hackers@arkaria.postgresql.org; Mon, 31 Dec 2018 21:17:02 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1ge4vk-0004It-LJ for pgsql-hackers@arkaria.postgresql.org; Mon, 31 Dec 2018 21:17:00 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1ge4vk-0004HV-9K for pgsql-hackers@lists.postgresql.org; Mon, 31 Dec 2018 21:17:00 +0000 Received: from mail-qk1-x742.google.com ([2607:f8b0:4864:20::742]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1ge4vg-0002Gr-Tr for pgsql-hackers@postgresql.org; Mon, 31 Dec 2018 21:16:59 +0000 Received: by mail-qk1-x742.google.com with SMTP id n12so16111918qkh.11 for ; Mon, 31 Dec 2018 13:16:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=2ndquadrant-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:mime-version:content-disposition :content-transfer-encoding:in-reply-to:user-agent; bh=IpNpp1c/h2YcWEB3rkitVpQDaClEecgd/85C8d+oI2E=; b=ynFzaiEQPRyq5S18IbjBYncryeGOFgTSICxfnZAzrVpKabLiZHhr2LL7aNlgxd1ZjE xhX6p+ehe6LZsdT4cJbUs5F+4Nu8N0KuszUsgkJQFJdgOxhvM5Aljw5QUBuWI88PaAUE qX/NyXX4XZaSIsY43TmURgvuWh41wiJwqXGv0K+xZ480noQ2RGOS9b6Ytv2rjvpcNh+r 4rgg2p9kgFusrSxozwOZP/9XQ2NbJaxG5uXjVbNlzpcvFu21Wt7P3qhtO5wONIDhVJzf FqbGqNlbQwXDxHX0b35xi9rjtDa7eEKmPmuKvGwm943TdnUiYMmZrXcj+6zmOySCk/4M G6Rg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=IpNpp1c/h2YcWEB3rkitVpQDaClEecgd/85C8d+oI2E=; b=YlAKqiVka58d+KTOnBdyJSBLM7v0ApjWps2bVBAFZW6hIIY6I12N67Z01OIPcVJeqC wKO/Z9T4D0clMA6Qf/8fITdivairZAaQNExSuoZOQB/NpxGBHnUrsKRUAxdMHxmoR+yT O0Rqcvqfp7mnOf398SegaMkrOsu835Lk/gdZAA43wvrXeiaN08zmDnYlG5xCjOKd7rzs 2uCq66Q+sVgh/QSmv8shPjsjKpIBRo5C2MWYlSdUmEP1gmymAS+inOVpmHNhaeOcEzty q5L6rKvgT8h3WH5Vz/bjYvjuUA74p8y0uevvuKezxE8GskiU25+QBxzMAvSbSnclcV22 JgSQ== X-Gm-Message-State: AJcUukdc+rDBa/yRPtpPXAO7sVOUWcoU4/7q7jGs5ERF+Ke/8QKeCR8C SduKibIYctF2Vb4CwqDX6FD6Gw== X-Google-Smtp-Source: ALg8bN5RcbGLjKXPKEZZe9HY3rj/2AwjXWyBfU+SXmZY+V5TKyvbPWnICkv8YWylWv/kwCwHmWm0aA== X-Received: by 2002:a37:11dd:: with SMTP id 90mr35408220qkr.212.1546291013924; Mon, 31 Dec 2018 13:16:53 -0800 (PST) Received: from alvin.alvh.no-ip.org ([201.186.80.67]) by smtp.gmail.com with ESMTPSA id l73sm25022259qkl.16.2018.12.31.13.16.52 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 31 Dec 2018 13:16:52 -0800 (PST) Received: by alvin.alvh.no-ip.org (Postfix, from userid 1000) id A8ED8631; Mon, 31 Dec 2018 18:16:50 -0300 (-03) Date: Mon, 31 Dec 2018 18:16:50 -0300 From: Alvaro Herrera To: Stephen Frost Cc: Peter Eisentraut , Sergei Kornilov , Michael Paquier , Andreas Karlsson , PostgreSQL mailing lists , Craig Ringer Subject: Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Message-ID: <201812312116.pavh6ts5qeum@alvherre.pgsql> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20181214145222.GR3415@tamriel.snowman.net> User-Agent: NeoMutt/20180716-1013-2c1e88 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk On 2018-Dec-14, Stephen Frost wrote: > > My vote goes to put the keyword inside of and exclusively in the > > parenthesized option list. > > I disagree with the idea of exclusively having concurrently be in the > parentheses. 'explain buffers' is a much less frequently used option > (though that might, in part, be because it's a bit annoying to write out > explain (analyze, buffers) select...; I wonder if we could have a way to > say "if I'm running analyze, I always want buffers"...), I'm skeptical. I think EXPLAIN ANALYZE is more common because it has more than one decade of advantage compared to the more detailed option list. Yes, it's also easier, but IMO it's a brain thing (muscle memory), not a fingers thing. > but concurrently reindexing a table (or index..) is going to almost > certainly be extremely common, perhaps even more common than *not* > reindexing concurrently. Well, users can use the reindexdb utility and save some keystrokes. Anyway we don't typically add redundant ways to express the same things. Where we have them, it's just because the old way was there before, and we added the extensible way later. Adding two in the first appearance of a new feature seems absurd to me. After looking at the proposed grammar again today and in danger of repeating myself, IMO allowing the concurrency keyword to appear outside the parens would be a mistake. Valid commands: REINDEX (VERBOSE, CONCURRENTLY) TABLE foo; REINDEX (CONCURRENTLY) INDEX bar; -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services