上記のコメントで述べたように、生成された列はPostgres12で利用可能になります。
バージョン<12:
の関数を使用して、生成された列を偽造することができます。https://www.db-fiddle.com/f/21FtTGSuTXzZxoQX9CRUZf/0
CREATE TABLE orders (
receiptPrice INT,
platformFee INT,
delivererFee INT
);
CREATE OR REPLACE FUNCTION paymentPrice(_order orders)
RETURNS integer AS $$
SELECT ( _order.receiptPrice + _order.platformFee + _order.delivererFee)
$$
STABLE
LANGUAGE SQL;
SELECT paymentPrice(orders) FROM orders;
これのユースケースは、他のツールがそれに依存している場合だと思います(のようなツールのユースケースhttps://github.com/graphile/postgraphile )またはクエリの冗長性を低くする必要がある場合。