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 1wHarv-007Kmn-2T for pgsql-general@arkaria.postgresql.org; Tue, 28 Apr 2026 05:20:24 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wHaru-00GBWO-2p for pgsql-general@arkaria.postgresql.org; Tue, 28 Apr 2026 05:20:22 +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 1wHaru-00GBWF-1W for pgsql-general@lists.postgresql.org; Tue, 28 Apr 2026 05:20:22 +0000 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wHars-000000038gC-0ba0 for pgsql-general@postgresql.org; Tue, 28 Apr 2026 05:20:21 +0000 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-43fe3e22e33so7065637f8f.0 for ; Mon, 27 Apr 2026 22:20:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cybertec.at; s=google; t=1777353618; x=1777958418; darn=postgresql.org; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:to:from:subject:message-id:from:to:cc:subject:date :message-id:reply-to; bh=Hd8LC108Sdsj3+gixsPMcCdalci2aRn/AOBCgrc+xCI=; b=QHBkxj61gYm4/OO3ZwfjHTT61fWa3PiV7efatYtpaObmRlFQEEpk25jMve8lvAO7IS H5/wHL/NrZ+HYj5MmK41F8wmXxvFO9k007gKAAXKyCcYTxeVUUS2xtkYYyWzLa1FCgvX D4mQWVN6aq55KkWyWUEIAC/977X3PLS0YgOuJjmK/bejP1xXqtjj6j9OsaGxRLzCfEwc DrlGanjOypUOSmYI1+lhTDRweHs19y+nF9ZO1C1OXgViiwfaIAabZys78U701to7KmvP jE6QnDsXK54y6t1w2sCiW0PaClM0k9z8jVhXRytX90l42ZmSxegwZZ6aPDOEiQvAZA40 /xLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777353618; x=1777958418; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:to:from:subject:message-id:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Hd8LC108Sdsj3+gixsPMcCdalci2aRn/AOBCgrc+xCI=; b=QZ0Z0ui0F1x6bUs665inp/i+p9OjzKngYmnpxP0mPHbnhpmLs3TsHeN+i3lpEZJjRn zdvBDhkxzfjJL+tf8xfgQ8S/AAxPW/W6w8gHTE1rGqlpCbF2Er8fmDyVF1F+F+MmNo8F INhdqNlAoRdBI6otUQu48zDBcmbaLWXsITaXHzkIyyc16//p+G02/KxfCqQ8PETA8Gej e2uVO/L8FxnX60MZdUqQHxielu+7TbU8Ky28MWnaY7WjkR+tqD41TwepY6TckBkKXka1 8ooi2UfNcbVDWzxWJ4hbRy8DopszI1FFclE2T24HdAX2xJGuLWMeSx+K+SS39UXi25Pt PtmQ== X-Forwarded-Encrypted: i=1; AFNElJ+NcZFB0/5Bzvwk9UuwpFMDR3xg624YvWsSBEbXgkS4U+6olHPmbspbq8C148v482AAyXBUwtQF2tjeCNdG@postgresql.org X-Gm-Message-State: AOJu0YwAZ2wZHr54PnAx0AHUaWsSx3e7fxmVgpl66O9zAa8ZrauTmfN8 1I7JGBK4PURO9M7cHbKgtgW8FIZoQwv8j7zl9IjODxjra3W7JZ0Dohp/tn+SnP97+xk= X-Gm-Gg: AeBDieuKBaDpREW/TX7fOPWCoRgtNDGaJKJbhI0+WiWM0PD2i5yLd0dRGX/Baz5JfX0 k/7k+VSnaKG3haQVCzicdGj22o6iASz7pvZ+6MShhU162woxfml9n4T5QOJiYKjFX1QsDCp+75j NCp3XKnnt+K+UZzkaBddBUg8ElhfosxeWo+MkSLBT2H/kO7Yc08kzFP2M26PPgCIXiaV58jvBc0 cZ6RYwypARH414CScJPfHO0AsdudtGi+yEtmeZ92bi/TPxo17nJFm8bLpH2S3Q8LCj21Htx2oc5 DTXKG2dSh0m1cczenIg2vYp8acR2Vn/vgdYYV5I95Aj1PKAgdef1yxx+nGqVnjqdb/mk7eVHDIk aFN9CsbFcZI1Q7WhWXaoUElOAcrzldAzBPWQV/fEfe86BB/HkT8AgSHQVVrzJFD6wGtObpFfGIQ kUMU4mtCkKf5lRp1AaUFaEgkC/x9CoJzMAqewBmSCUP7Fg4dpz4NXQWBrQxaOzqr9KdoVUXo7fI j7q X-Received: by 2002:a05:6000:228a:b0:43d:68e7:5f0b with SMTP id ffacd0b85a97d-44648f28e4emr2585354f8f.8.1777353617767; Mon, 27 Apr 2026 22:20:17 -0700 (PDT) Received: from laurenz.albe-K4N0CV00F97414D ([2001:871:270:4fd5:603f:45c2:9807:c104]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4463fb7e609sm3273663f8f.32.2026.04.27.22.20.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2026 22:20:17 -0700 (PDT) Message-ID: Subject: Re: Describing the natural architecture for an internet-facing Postgres based app: feedback sought From: Laurenz Albe To: "guyren@relevantlogic.com" , PostgreSQL General Date: Tue, 28 Apr 2026 07:20:16 +0200 In-Reply-To: <4237964E-B88B-4F6B-AD3D-FD67C17ED480@relevantlogic.com> References: <4237964E-B88B-4F6B-AD3D-FD67C17ED480@relevantlogic.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.58.3 (3.58.3-1.fc43) MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Tue, 2026-04-28 at 13:24 +1000, guyren@relevantlogic.com wrote: > Coming from a Rails/PHP/etc world. All of those communities generally hol= d that > the database should be treated as a dumb data bucket with all the logic i= n the middleware. >=20 > I=E2=80=99ve long thought someone should write up what the alternative ar= chitecture using > Postgres to its fullest would look like. In order to differentiate it, I = start from > the security advantages and work forward. >=20 > I=E2=80=99d love to get some feedback on it. Harsh criticism is most usef= ul=E2=80=A6 :-) No harsh critizism, but I am wary of all extremist positions. Just as I think that it is silly to keep the database as dumb as possible, I doubt that it is a good position to put all the smarts into the database. One obvious disadvantage is that if you put much of the processing into the database, most of the load will be on the database server, which is difficult to scale. Why not let each component do what it is best at? Yours, Laurenz Albe