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.94.2) (envelope-from ) id 1v1mum-00CewF-0Z for pgadmin-hackers@arkaria.postgresql.org; Thu, 25 Sep 2025 14:25:44 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1v1muk-003Fzq-Mm for pgadmin-hackers@arkaria.postgresql.org; Thu, 25 Sep 2025 14:25:42 +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.94.2) (envelope-from ) id 1v1muk-003Fze-7Z for pgadmin-hackers@lists.postgresql.org; Thu, 25 Sep 2025 14:25:42 +0000 Received: from mail-lj1-x234.google.com ([2a00:1450:4864:20::234]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1v1muh-002Na4-2i for pgadmin-hackers@postgresql.org; Thu, 25 Sep 2025 14:25:41 +0000 Received: by mail-lj1-x234.google.com with SMTP id 38308e7fff4ca-3682ac7f33fso11308241fa.0 for ; Thu, 25 Sep 2025 07:25:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pgadmin.org; s=google; t=1758810339; x=1759415139; darn=postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=ijZUj4l76slG78xjRcqLTcx5nm94hezhXDgR7qrTJ1Q=; b=VydXqoNtIpGsiCJ8epSGJDwrVZ9OZRSfN8cuVUrs4AZ5FkhgrtofQEl6b8nXJwCQe0 MWryBTzxFqSmiC6kjMP16KywEETfKqXX2Y2PBJgv2n/RuYw/733mItMKqz0sY5iC9Xcg Aem5AcLmYrMqjisX5GuUCJxeiR3wbRmyBpG5IeJrP6gYmtujfyJGlST3AMNls6HMlXSh bMM64bMPHSE4QhbpBzNekbwXu6eaWxEw/NWki0FehKSA958GUOxC6cGUK2incK3FX7HR EDgUzxnbW4/Ok2XQtyCHMY9XzPVvxRu/6S5iFcBj/LPdE7AfKl4/SmzbPQ9X9zAfXoyF +o1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758810339; x=1759415139; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ijZUj4l76slG78xjRcqLTcx5nm94hezhXDgR7qrTJ1Q=; b=eKB04fsbYEolRPZZ6Q+r8L+mkeWUiX5E1ys1W4k611pMPqbVdJQIncj2tol4jJUDVa g24z1OdbaqD1vwdiKSive2gEzFcCUKsSM50GGXU3Panfb6zuBltFPd6cy5/1fxZ3GnOf ffG7PWoAfg5xkCq/c0JLZTGErwxh7gXjVfoQLfkleclQUwpfFusZLXnFXap01AAG5KS3 1wvrou506rLx5a3HJZkngbGtCC1K5wvcO8+I3xq0vaw7Y3eCSMJUKomfYZKt65T3WPna 3bqzEfbAC6E+18X+Tjl2ZfvxWqM6eX08PkzjRhrMZDlrJswts2rZmSgaZ8OOc8tppcKJ NFEw== X-Gm-Message-State: AOJu0YzwUBAqhIOOG73NV7Rsp+3g0oatrnZTYkmvrGYTE6eaRbuFY3Lg JBSi2Tm8zzFcu5me3ASHHlbMFIKisn0O4pEsnKP4Is0/nZijFCf/L8pKsZDYjmF6TfKqNmFtAyg 3wyqoIb97Ys7eEy1TAnN7Ceu7AjIeSwzVIhT5BiU7 X-Gm-Gg: ASbGncvlrArGNfKxPY4rJVzPRhmZnqbmtAye9cpjXI4mUimzKCWnTWgIJ0r9NPIxLg0 Uo70qT3Bo01P8I7hGNR7aVNRd5U2VnWjpd7A4UBCNYxPX5Fk3wee4SzSpVS/32ClI21J1TQ+zYi /FidWxFpwy8rNkT+96gmPyblTfloGIFNXvAX4nVRahpAW/wc2GwB2HaDme4eI8LBqozvY0ALBQK LfJExqwnA== X-Google-Smtp-Source: AGHT+IFmlTehoOtfupihPSncZYxaIoHdCqLWgM2GDo4pBsnMB2aW+tB153pzcpwSn/9qDizhVW/Vvx7XlGC3RBhldnw= X-Received: by 2002:a05:651c:986:b0:36c:dcfe:baa0 with SMTP id 38308e7fff4ca-36fb23af6famr8812281fa.21.1758810338441; Thu, 25 Sep 2025 07:25:38 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Dave Page Date: Thu, 25 Sep 2025 15:25:26 +0100 X-Gm-Features: AS18NWBknUGdQf4_5uyvBATM2vnzXYQzDixEfpLfKBMDmy0wZQuuRHftDX00qso Message-ID: Subject: Re: Regarding multiple result set in query tool To: Aditya Toshniwal Cc: pgadmin-hackers Content-Type: multipart/alternative; boundary="000000000000735131063fa0f107" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000735131063fa0f107 Content-Type: text/plain; charset="UTF-8" On Thu, 25 Sept 2025 at 14:44, Aditya Toshniwal < aditya.toshniwal@enterprisedb.com> wrote: > Hi Dave, > >> >> If pgAdmin were a single-user application, I'd agree - however it is not >> when running in server mode. Other users will not know what is going on if >> one user exhausts memory. >> > How about allowing multi result sets only for desktop app? > I *really* dislike that. We should support all features in both modes, except where it clearly doesn't make sense. > The problem with memory limits is - it's an extra overhead to keep > checking how much memory is consumed. A row size will depend on the number > of columns and data. If we have a predefined algorithm which will decide > the limits in a performant way is desirable. > Well we can take the extra cycles to compute actual memory usage, or we can just pick an arbitrary number of rows (which as you note, will depend on the schema and data). The former is clearly easier to tune - it could be an arbitrary limit in the config, or it could be computed based on machine resources and utilisation, whilst the latter is always going to be a guess. I'm not sure I see another way. Anyone else? -- Dave Page pgAdmin: https://www.pgadmin.org PostgreSQL: https://www.postgresql.org pgEdge: https://www.pgedge.com --000000000000735131063fa0f107 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Thu, 25 Sept= 2025 at 14:44, Aditya Toshniwal <aditya.toshniwal@enterprisedb.com> wrote:
Hi=C2=A0Dave,

If pgAdmin were a single-user application, I'd agree - however it is= not when running in server mode. Other users will not know what is going o= n if one user exhausts memory.
How about all= owing multi result sets only for desktop app?

I *really* dislike that. We should support all = features in both modes, except where it clearly doesn't make sense.
=C2=A0
The problem with memory limits is - it's an extra overhead to kee= p checking how much memory is consumed. A row size will depend on the numbe= r of columns and data. If we have a predefined algorithm which will=C2=A0de= cide the limits in a performant way is desirable.
<= /blockquote>

Well we can take the extra cycles to comput= e actual memory usage, or we can just pick an arbitrary number of rows (whi= ch as you note, will depend on the schema and data). The former is clearly = easier to tune - it could be an arbitrary limit in the config, or it could = be computed based on machine resources and utilisation, whilst the latter i= s always going to be a guess. I'm not sure I see another way. Anyone el= se?

--
--000000000000735131063fa0f107--