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 1sPTB8-004lxv-Si for pgsql-general@arkaria.postgresql.org; Thu, 04 Jul 2024 20:35:42 +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 1sPTB5-002mko-Te for pgsql-general@arkaria.postgresql.org; Thu, 04 Jul 2024 20:35:40 +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 1sPTB5-002mja-Ip for pgsql-general@lists.postgresql.org; Thu, 04 Jul 2024 20:35:40 +0000 Received: from mail-qk1-x736.google.com ([2607:f8b0:4864:20::736]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1sPTAz-000QIR-LE for pgsql-general@lists.postgresql.org; Thu, 04 Jul 2024 20:35:39 +0000 Received: by mail-qk1-x736.google.com with SMTP id af79cd13be357-79c05313ec8so57080085a.3 for ; Thu, 04 Jul 2024 13:35:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1720125332; x=1720730132; darn=lists.postgresql.org; h=in-reply-to:from:content-language:references:to:subject:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=JcW5ddmi3gkjsyG3e6mn9vObcGY8Jw4fatKGmJ/gliA=; b=JdGoc9qegRwAT5Wnchf7LIUfG1fc8z4a+6mHM2/zEbymTx4eAp/GHL+vAT3Nc97+dh 2TwY7ZM89o/S5CNnzhLMuBaCzWlLp0vlSIiKAShWK7VgA4/EBE2R7XBoiCVVxU6UBSSn DgafD9Bdvp8bhYmxR3bF8ixwbD2h2Usey2a/O5mbndqbk+/xMLRdZ2ySGomM+IIsV0pA Dw7mkvBcCMvcAJP4DWh3wvo6EkdGsYcyxSaguMYml75yRPaCkII8NNDXn9QlXzp7e2Zg W6ajRDu/29iAZekkSncUeJ8hfYfQi8XVUqnf6FKePG9G5aB6nfKttzbJzkJs8w5R0zpI jcWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720125332; x=1720730132; h=in-reply-to:from:content-language:references:to:subject:user-agent :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=JcW5ddmi3gkjsyG3e6mn9vObcGY8Jw4fatKGmJ/gliA=; b=rmETkCXJqX4jkEsRoZz2zKcvmDf9GAKsUfu0eyEAIPWoOi358814k+m+ZWwnFK/Z6G trQlRoJQoqOLyibzAtuD28RhLBg/NRaa1PFP6/BM80bvAGGj2PKgf2RGET5Aejh1WE2d uBpCDqmM4rB0FY0Ri9hJJ6wcMKxw8UH/z3RZ2QQ8c5L2x9hUEVfrZhmL42edQemF3fm1 SNhljQ6sBvtlxWEwUrFAdpRFqIyYkQndvzbT6lCy1J/XrcmFmgmYObe+iU1Et1fVcbcw kh04SVjcLiq4nDtpzF+lOxzuiBZp4Cez9m14NYQFWvfzLUCnE9v/RnXCl98NgT3fjiWs ukbg== X-Forwarded-Encrypted: i=1; AJvYcCXJATrxjRv33f4lVQxy7cSxxPrc+l6KYEmyT9PfdZFcTrn/5S01lV8jzawc6ohWfidZN8xVM7+Qgzlatny9ncEO7ONyp7e8YqNx9sFBS02skQ3l X-Gm-Message-State: AOJu0YxT5t8k5mLhIF0Ngyj7re5eb4tXAObKahfApc2IYhOGxeqmOcPL VTdJTdv8Lwl12UaNGj5OfZiSarjYM+zo5nIhCS/v8Vodxnel+4/x X-Google-Smtp-Source: AGHT+IFfgTpSo1QUqKkxewW55P+Jgy62UWCfYWzXaaO1OrdKh54G4QMmo1v1HQb8EioCReCXlXa5Gw== X-Received: by 2002:a05:620a:1a05:b0:79d:76e5:be87 with SMTP id af79cd13be357-79eee1a4c19mr370175485a.9.1720125331953; Thu, 04 Jul 2024 13:35:31 -0700 (PDT) Received: from [10.1.11.102] (c-73-214-125-50.hsd1.pa.comcast.net. [73.214.125.50]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-44651498827sm62785511cf.62.2024.07.04.13.35.31 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 04 Jul 2024 13:35:31 -0700 (PDT) Content-Type: multipart/alternative; boundary="------------SHWGx61o1lLbR4KcUdtm97YL" Message-ID: <322e1d7a-7c86-a3e4-4c01-7aaa9b053255@gmail.com> Date: Thu, 4 Jul 2024 16:35:30 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0 Subject: Re: Design strategy for table with many attributes To: Lok P , pgsql-general References: Content-Language: en-US From: Kent Dorfman In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------SHWGx61o1lLbR4KcUdtm97YL Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 T24gNy80LzI0IDE1OjM3LCBMb2sgUCB3cm90ZToNCj4gT3Igc2F5LCB3aGF0IGlzIHRoZSBt YXhpbXVtIG51bWJlciBvZiBjb2x1bW5zIHBlciB0YWJsZSB3ZSBzaG91bGQgDQo+IHJlc3Ry aWN0PyBTaG91bGQgd2UgYnJlYWsgdGhlIHNpbmdsZSB0cmFuc2FjdGlvbiBpbnRvIG11bHRp cGxlIHRhYmxlcyANCj4gbGlrZSBvbmUgbWFpbiB0YWJsZSBhbmQgb3RoZXIgYWRkZW5kYSB0 YWJsZXMgd2l0aCB0aGUgc2FtZSBwcmltYXJ5IGtleSANCj4gdG8gam9pbiBhbmQgZmV0Y2gg dGhlIHJlc3VsdHMgd2hlcmV2ZXIgbmVjZXNzYXJ5Pw0KDQo5MDAgY29sdW1ucyBtYWtlcyBt eSBoZWFkIGh1cnQgYmFkbHkuLi4NCg0KVGhlIG5lb3BoeXRlIHdpbGwgZGVzaWduIGEgdGFi bGUgd2l0aCBhIHNlcGFyYXRlIGZpZWxkIGZvciBlYWNoIHR5cGUgb2YgDQpwaG9uZSBudW1i ZXIgdGhhdCBtYXkgYmUgZW5jb3VudGVyZWQuwqAgVGhlIGV4cGVyaWVuY2VkIGRlc2lnbmVy IHdpbGwgDQptb3ZlIGFsbCBwaG9uZSBudW1iZXJzIHRvIGl0cyBvd24gdGFibGUsIHdoZXJl IGVhY2ggZW50cnkvcm93IGNvbnRhaW5zIGEgDQpyZWZlcmVuY2UgbGluaywgYSAibnVtYmVy X3R5cGUiIGZpZWxkLCBhbmQgYSBmaWVsZCB3aXRoIHRoZSBhY3R1YWwgDQpudW1iZXIgaW4g aXQuLi5UaHJlZSBmaWVsZHMgaW4gYSB0YWJsZSB0aGF0IGlzIG1hbmFnZWFibGUgYW5kIGNh biBiZSANCnF1ZXJpZWQvbW9kaWZpZWQgd2l0aG91dCBzdHJlc3NpbmcgdGhlIGRhdGFiYXNl IHNlcnZlci4NCg== --------------SHWGx61o1lLbR4KcUdtm97YL Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On 7/4/24 15:37, Lok P wrote:
Or say, what is the maximum number of columns per table we should restrict? Should we break the single transaction into multiple tables like one main table and other addenda tables with the same primary key to join and fetch the results wherever necessary?

900 columns makes my head hurt badly...

The neophyte will design a table with a separate field for each type of phone number that may be encountered.=C2=A0 The experienced design= er will move all phone numbers to its own table, where each entry/row contains a reference link, a "number_type" field, and a field with the actual number in it...Three fields in a table that is manageable and can be queried/modified without stressing the database server. --------------SHWGx61o1lLbR4KcUdtm97YL--