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 1vFsqi-002v8v-Cr for pgsql-general@arkaria.postgresql.org; Mon, 03 Nov 2025 11:35:47 +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 1vFsqg-002VaB-KA for pgsql-general@arkaria.postgresql.org; Mon, 03 Nov 2025 11:35:45 +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 1vFsqg-002VZw-4q for pgsql-general@lists.postgresql.org; Mon, 03 Nov 2025 11:35:45 +0000 Received: from portal4o.visa.com ([198.241.174.184]) by makus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vFsqd-005Cvl-1q for pgsql-general@lists.postgresql.org; Mon, 03 Nov 2025 11:35:44 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=pismo.io; i=@pismo.io; q=dns/txt; s=corpportal; t=1762169743; x=1793705743; h=from:to:subject:date:message-id:references:in-reply-to: mime-version; bh=+m7SYaXxGUhq3zIUQCJO/ONSj5sXRExkB08K3CBeur8=; b=viYqI5qWBTME0eBHA6F2k7+VzhvveoncF+qDMNXzPlFuE3j+vlmXNjMV P2+qfk811sRbaZR0WhLIKxQrK8WPr/gRn6ZWMxa7zOFzGwCq2orWv1O9S c5qawQjOxCiV5VV/mMTC+lX/R1cOZS73H3GwcBFbdfmX1v2seubu4HcMf a76ilKr5kGSpNAjRgTVTkV1Q6yKiONu6j/gsl87JCKvNa5ompv7egCYor ZiB/BF+sq9VeWwzc1cswg57RolG1pX4Ou6hCsw8pLCoxtSWznaFoFIb58 HuAot26zLdPYNIZ8qSdSV3RF4ZN7DlChOhVigkVIjbFYm8DzmBe8aY+lB w==; X-CSE-ConnectionGUID: CjoWkFLXSxq2uxDSd/M77A== X-CSE-MsgGUID: 1QscVLF6Rd6WCDXyKs5hww== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=p4NDyC+ILlaBE/fceIxizyuEb++6F3F31qqUZeoRoLLam+7O97XRPzGxN/6ZJFDxVxbI3vKX2TStFd4LW7x7YM5Ftk7sEf7h8eJk/pMKTyGf4H7FRJqOyX4wIf+hayonlZ03CBo/i3oPsm45SiVfRedmquJ9lIbyUAs6Z+fY7Ysjr/J0e8TpB+MtG4xuvUKuq6s0jKuckcPpcBrzy6pEhTkBvD3bLLN71es3ew/O5KCzMAbMUJdompp7Yg+tsunsiCAUdrNZD7gKc7me9PnZn/XeS45dBl8+mrWB2ynGa/l9VaPfJMJRRntVQUmmiK0k9AFz8UmgMaljzILHWhpnjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=+m7SYaXxGUhq3zIUQCJO/ONSj5sXRExkB08K3CBeur8=; b=h+1ocgwEgkWgrS4472FwokPItMRpLKUXaVatTkOX7dY72+Qmj0Dkn1yEo2PRUY3xsVIDtFR8m8WUbRZiFDSyG5IyLbc9902ZB4GYaVrUtn1O4lxD9qjSYdlyCSUvwz29moxET8XTwCTO9qRY0ifhqIPOoaO3UndPbUDmaEUE671BhFk73lxYb0TV0nxFh2CfF47GSIzK6W5YyfOoA1jj9HJGiFRITgMOLN4BG8HzGuCuR9bR+hIU5ey3KvKAjFvqVe46OCAJoTwFz+CXl8GrxzGsEyvq+DlpvbtbRO2D+Yj4E0B+w0CKyPNwfnPRHjkFk0ywZOEqKeF8yp8JT2uUlA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=pismo.io; dmarc=pass action=none header.from=pismo.io; dkim=pass header.d=pismo.io; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=visainc.onmicrosoft.com; s=selector1-visainc-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+m7SYaXxGUhq3zIUQCJO/ONSj5sXRExkB08K3CBeur8=; b=qi3wzTUTEwRgphbwmBe9xEn6kQqhwynsAy6F13cLXpOGv/iSwXHYgVnWRiG5uwygnOVYX9Q1cBvjXRRbL2dJhzgXJxBHJ2mkM4pPYUKzgKJNWp0hypWRfodZkcObTiiZqs6CxEM75/66i+Bw1S8YzIDRrp5mjpKX3f6W4iNBfns= From: "Weck, Luis" To: Marcelo Fernandes , "pgsql-general@lists.postgresql.org" Subject: Re: Increasing a NUMERIC column precision doesn't cause a table rewrite. Why? Thread-Topic: Increasing a NUMERIC column precision doesn't cause a table rewrite. Why? Thread-Index: AQHcTJtWqRhwKOeFB06xKsQ85qqgkbTg0icO Date: Mon, 3 Nov 2025 11:35:39 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_a0f89cb5-682d-4be4-b0e0-739c9b4a93d4_Enabled=True;MSIP_Label_a0f89cb5-682d-4be4-b0e0-739c9b4a93d4_SiteId=38305e12-e15d-4ee8-88b9-c4db1c477d76;MSIP_Label_a0f89cb5-682d-4be4-b0e0-739c9b4a93d4_SetDate=2025-11-03T11:33:32.5766270Z;MSIP_Label_a0f89cb5-682d-4be4-b0e0-739c9b4a93d4_Name=Not Classified;MSIP_Label_a0f89cb5-682d-4be4-b0e0-739c9b4a93d4_ContentBits=0;MSIP_Label_a0f89cb5-682d-4be4-b0e0-739c9b4a93d4_Method=Standard x-ms-reactions: allow authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=pismo.io; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: IA3PR10MB8113:EE_|CH4PR10MB8171:EE_ x-ms-office365-filtering-correlation-id: b6c92974-ba35-469a-4c6b-08de1acd1d72 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|8096899003|38070700021; x-microsoft-antispam-message-info: =?Windows-1252?Q?tbxp0xKd0+gTLkpdm6Gu6XaoXgf/RW/hlHkQCPdYXg8Vj9U2+ZMVeDxe?= =?Windows-1252?Q?pMavqcmFAzpZygGkoHTYbC+Cg66kHINAJTo3Ka5JToU6aT9IucCncjTa?= =?Windows-1252?Q?5MOkcgO0g0+gxJRTzXQ3+nZjZtDOFEg6woX8M2F/6MDbHiA5XsIdI1FI?= =?Windows-1252?Q?4PbOaTPo/MdxEjyBvn3QcJ/+6q2btrEwi9XKF+MZ5iqhf87+TdnvsUxR?= =?Windows-1252?Q?rzCrFv3IU3t2ginPq7H9ILfi1s8cyG1PXESBIpcsKQBYFnFu83xHrQiS?= =?Windows-1252?Q?sAbvcnq3cf4+i6qjLVVOUNYkN3l7r9IWyBHGTuB/8Q2ovXzIbsa8Nfzr?= =?Windows-1252?Q?0lS4agi15RjK7pSFUsg3pgvvrPOllArGvWCgud6EnORwJS3I5M2NDgwf?= =?Windows-1252?Q?PHSdAXSg66hFc7O9iXwd70dPwZHDS7oA5Suswo1BkjhiOxvR1+JzyLcY?= =?Windows-1252?Q?49v0ENnUoKJSVY4CLOvZg/CodDYjmOhzkGUb4NsKXwXnggUK51hxtE8T?= =?Windows-1252?Q?S9GhUSwoyd1dn0SSQeE4tGyFdW/ln4vBQYi5bIzBNYK7SymQ5htekl4l?= =?Windows-1252?Q?bAdS5vuUSRTYWIHNxI7BuY8Ux+zfDs9c6Pzsk9JHx28caRPKrvP+2e3h?= =?Windows-1252?Q?UH+r45CFIjs9qHz8SBueaaSQj1Xpo4T2Bmq5/yS94+m9QiEg4CmbRWyQ?= =?Windows-1252?Q?MtrE0+M2hQ4ce8AdOExce3WpEoCj0oRNpT+DLU3RlLEc/PSEJhNHelM8?= =?Windows-1252?Q?CIfreAl+z88PH0oqoU5qnaSz9lfkTTyikLk3Iznmij9C+nlNA1RirNmi?= =?Windows-1252?Q?ESzmDRHZRm/NVRhl6Sk9jTk2J1ww6Acy7+p+wAzCrHeMNVD3HugMPlDc?= =?Windows-1252?Q?PO/grT6q7hwYW2V9J2qt4TjTQCRKlxhADni04DWt4MREE9aSbeiZXeR/?= =?Windows-1252?Q?QQaVs895WJ9Q/geo9hb3efOnhDUqxQQl0go/V6hR+WhkVQ9xKr+M5ir7?= =?Windows-1252?Q?h0o8VvZB5N9kHsn7lmLwjUqNG9fIS2Mlr9xCjVmaHwIKaUcAVhO1qE5k?= =?Windows-1252?Q?dayL60j1Zbs9gWZ6k8cRBE4PIHZZnNxpgwZlAyMbyTBa9YahfXlq+IIE?= =?Windows-1252?Q?4HYDoUbwwVPyrhXhQo8e3EX1W/9HvZ9/AXE/4mbI21WJS7sBy6+wj/xV?= =?Windows-1252?Q?EX3VWz+yLQQWiE4+S3xIsPEUreQmRUiPMBg9Dyfqynx+GmuP+ntugMKb?= =?Windows-1252?Q?x6/kgiuGZF0HjfMk6kn/r61l6B8RJLDUkEJVLrmOZD8sl0Ge6YGbfDt5?= =?Windows-1252?Q?9lj1OczLxAbgDPBgNIggh4LNW/kg4ZnsNgfRsQ4NYwDi+JXDcdMbeKJm?= =?Windows-1252?Q?pxqU09oYMiYPqIyfKTG8Jqsm+JftxFanbrkUyf4tTPMpdbfcNDer5/UW?= =?Windows-1252?Q?bbVf9OH/awt1zMNvA1Mp1xQfmq2IwOahEUiz0zJyP1VcEdb8FkMxzn6o?= =?Windows-1252?Q?4w6TxQ2/kvaO0SqtM2mwLWb6+bz1R39PGKOmaTUNadn76Olwe968tbCG?= =?Windows-1252?Q?qkwcmB4AgiQ+M0gf3PDuFrnZJYOA2czNV2AvP5KAfc62yXoHwFEkFDqU?= =?Windows-1252?Q?62V3w9RQo0H3b+do7SyRD8SG?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA3PR10MB8113.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(8096899003)(38070700021);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?Windows-1252?Q?nnYLp7HY+MeXe5++O1glBRIPFMtQQBRkTslP5Ueu78FgZY4aGQdvZjio?= =?Windows-1252?Q?B9AiWRm8rzjHpdnuGJMCMUEEnCYZBZ3131HvAxWtgEH/XTKIeKS7QW9+?= =?Windows-1252?Q?5LCBpIOaLRdNGbgjKdmjB80ZyxhTvEXNUVVQ5UgG5FO2hkd9cixnQ9ys?= =?Windows-1252?Q?Dl/3qpB3mIoEK4/j41zuZIHq/IoaBygLLx12krjoOFCaGvqlU4qdzQVh?= =?Windows-1252?Q?PZf3ndrq1n8p8pc831b+UcJdEF6tGd6Dcvv5447jCyiNnhxYoNefVFzQ?= =?Windows-1252?Q?S1/T8xwFkCCrnm3eSC1HHE7orvD+611l/o9n6H4rm/5Ek8Dl0poMdcxS?= =?Windows-1252?Q?dTN5fOnctIPudhdwd3e7D4V0EvBgixOm9G4Zc/X5SqlaaCq9Xgen486k?= =?Windows-1252?Q?iZFPJGsNm68da2zDFatfZABT7KPkI0ktyAtST3m0e9yCWfERh0M2JI52?= =?Windows-1252?Q?UdSbaOkPw7e/8ZKK/7zJkhD3X7iNsZroR4xYh+AcsTTZTd0MGuXyqpph?= =?Windows-1252?Q?FqmYv5RrWRjGIQ3YNSYu9GMHFJuCXOCWPouP3CbDIG3gbLPX8lbJzvHz?= =?Windows-1252?Q?nIWwGlP8CwIX1ZW9wYq/zQ2R64zg0ygHQPbXwLRsLkgo4e2skwkMa92+?= =?Windows-1252?Q?cDnqALNKv9bHi0JJtnYsOkRZYx2X6OctigDC2JieUe9VU+cDom0kzEKH?= =?Windows-1252?Q?kV3QGzEhNC7cGZXMMKT48U7TTkwQ1SCc8V3iAlkPtTOXH0HwFa1UJHOc?= =?Windows-1252?Q?DoCgQAiLv+gOSzJ3gSUwVWwW4sIGt2HQU8Q0Y1Rc/QozdAM8NeDGq768?= =?Windows-1252?Q?0aTRSZ5Usb3DJ3Csb6AKquQArK1s3tD6UJLW2xlD+8eVtDLgvYW6I+aq?= =?Windows-1252?Q?l31eeXH1xNDTmoR0V/HbaFxNgDYZ9qa65wR1QU5oDAgIMabdDNCWp8zq?= =?Windows-1252?Q?Z0jy033FB0iRCoRmhkdTk0Fa6ecwz33Hdaqx1SSDwjLmXXBALc259BjO?= =?Windows-1252?Q?zkpiVj9CJgUmHik8mhX/ii9+RsqhFmohoCFtMvfjU66BpuGPwnaF5a2S?= =?Windows-1252?Q?A0Bw4brOkybZh6quNDjF6wiBomtWUxlzMK9qshhxRo6LMtKemkOcCOtg?= =?Windows-1252?Q?/lnu/pa8QbAm2PzUsojONhcIM1dhUOEriKjZqHO1b+Ab2ZiScgaYq710?= =?Windows-1252?Q?QIGl28FblZtF46AScOy7YSF7S3B/Cxeu0hWuRo9frWcnZXiSvuViV/Ur?= =?Windows-1252?Q?73jShYRa1iK9vGotgQuT7ZBg3PNhdRscumiFg8THlbIaR0Wf5oQBwC+T?= =?Windows-1252?Q?L6Q3F56lgRoY3y50oajmooWzX4Yd22e3aQlut3/sw9Z/soqkqIP0MS4k?= =?Windows-1252?Q?wZaez6dgFEAv4iCtuBGHR6mXq2Yf23h0wGW8nF1CW9rjQasQ0v7nD0n9?= =?Windows-1252?Q?/edu+2r9BSA8YpesG6kNs8FjweDXO42tef8CaFw7YbMWnSF5lcgBqq45?= =?Windows-1252?Q?pV6HwwLmvFA726treCgyhw0vv07U2RUkjQD2iEDRb8xplJUMLhQuMwsV?= =?Windows-1252?Q?OsgvLNPtnFiCBGHQGC+E/N9sIJnT2n+VdLl91gQIiCaazB1KdbCJgsxT?= =?Windows-1252?Q?xZ45OFmuoO6NVAudTxtmBHZsq6952kc834HRLcCumpbChPZ+UDZsn/90?= =?Windows-1252?Q?kMyy1WnsoeEEKzt8rtqUHWeWvMGaHqfR?= Content-Type: multipart/alternative; boundary="_000_IA3PR10MB8113ACB1FED522A1EC00FAF28DC7AIA3PR10MB8113namp_" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: IA3PR10MB8113.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b6c92974-ba35-469a-4c6b-08de1acd1d72 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Nov 2025 11:35:39.7583 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 38305e12-e15d-4ee8-88b9-c4db1c477d76 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: O8mUcJpteP98kuP/CEdfmkex3uRtax8AqJ6w640GOjp7KJ5AwHOIyfnWqlr6i2WQ X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH4PR10MB8171 X-OriginatorOrg: pismo.io List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_000_IA3PR10MB8113ACB1FED522A1EC00FAF28DC7AIA3PR10MB8113namp_ Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable My understanding is that Postgres can guarantee that all the values in the = table will fit the new precision without having to check. If you change the= scale, it might be the case that some values won=92t fit anymore, and Post= gres must return an error. Numeric by itself is a variable length type, lik= e TEXT (in a sense). That=92s why we can modify its size without requiring = a table rewrite at all! --_000_IA3PR10MB8113ACB1FED522A1EC00FAF28DC7AIA3PR10MB8113namp_ Content-Type: text/html; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable M= y understanding is that Postgres can guarant= ee that all the values in the table will fit the new precision without having to check. If you change the scal= e, it might be the case that some values won=92t fit anymore, and Post= gres must return an error. Numeric by itself is a variable length type= , like TEXT (in a sense). That=92s why we can modify its size without requiring a table rewrite at all!
--_000_IA3PR10MB8113ACB1FED522A1EC00FAF28DC7AIA3PR10MB8113namp_--