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 1sfvZg-00DMsP-5H for pgsql-general@arkaria.postgresql.org; Mon, 19 Aug 2024 06:09:04 +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 1sfvZe-00FcCO-2o for pgsql-general@arkaria.postgresql.org; Mon, 19 Aug 2024 06:09:02 +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 1sfvZd-00FcCG-KR for pgsql-general@lists.postgresql.org; Mon, 19 Aug 2024 06:09:02 +0000 Received: from mail-qt1-x835.google.com ([2607:f8b0:4864:20::835]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1sfvZb-000MBr-Uh for pgsql-general@lists.postgresql.org; Mon, 19 Aug 2024 06:09:01 +0000 Received: by mail-qt1-x835.google.com with SMTP id d75a77b69052e-44feaa08040so22222861cf.2 for ; Sun, 18 Aug 2024 23:08:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1724047739; x=1724652539; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=tISOzRhWmfw/wFWUeHc/xwwhMH2dnhfHO4XeSwKRIpA=; b=lvoEZ4HjOogm6/u3mZMAzLh0C5rdzTMjitIOItYJcVGmEUVIAuVHi+dc+m/dXCwL8y N7Nt6K7oHvtuSeDraiANYqNxhSmTg62BdjWvRnNq/wbyd4Bl57/OpG0WRh+e+OyYJWmb lreDG2Perz/A5zYniI+RAYMAz8+SwfV8mzeZvLfAEikspkbletr+QJ+iJxdcMXHnB/QO oCmTPBiJ/IovrZyamdgbXhr8Ive21WhCKx0SfR/jArffJ1cxgq2ymmXmczJ9PUhAZEx4 CsQI1X/cdh7IxB3BpVmg/vzTQqDJFxuckIv4K8Iti63MtQDUz16a+9r9NwOyP1eN1bf3 XSpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724047739; x=1724652539; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=tISOzRhWmfw/wFWUeHc/xwwhMH2dnhfHO4XeSwKRIpA=; b=DAuIREjh+tvxvllOmXYQ9M64CDuBSpCI+YYpxBU/a4xvlfh5e1hyRyA8j0Snc2Irm0 NhtSUGhy7cV5oEM83Q44ArD/QWuSugfVYChYY1NI+xkrykTYtD9nRJ4ZfnheeKqgi8yP i59WblY5jz+GWNUB6hbD75p3yGAtqN28Vo90JgaSarMjBgDKGFeaATq+MBGVcX41f/VH v5iOADwrAqprYwYLe1GPC9JQgyIoGUm/V6+e3XfSI7YHjZgDvjQMyBAB5RbE2W2GvOWW OILcBOZFkINhl0eB8NEES7gUZ1D9iglPTA3YQEGF4Ue6r3HXKT+65Tpr5GmqjXT1TOHo kJXg== X-Gm-Message-State: AOJu0Yz56ZrSrxvTGptFIDu5uuBQ+VwJFqNyzAQcb2syibSVP27/4dAK UERrvfIMszb/A16tkuB4b008Ru1Y5b6HUJQ+s9nblq1C/Uf5MdkDiZ7Wnmd2cV8m41ggcAelhJb XQFVgiAhydnFjgXw9mnbngzAEBhweACYu X-Google-Smtp-Source: AGHT+IEdVZb/Oub6oq+W/owWbp/tk5y5jl4R/UOd8TBOOqSTtHdC0N4KFpFywt/wKWRCpflXr+ss3OGuAl5gaEi2Dn0= X-Received: by 2002:a05:622a:991:b0:44f:f1c2:7fe9 with SMTP id d75a77b69052e-453741e1fb5mr158557431cf.10.1724047738819; Sun, 18 Aug 2024 23:08:58 -0700 (PDT) MIME-Version: 1.0 From: plsqlvids01 plsqlvids01 Date: Mon, 19 Aug 2024 02:08:48 -0400 Message-ID: Subject: use of postgres reg* datatypes in user tables? To: pgsql-general@lists.postgresql.org Content-Type: multipart/alternative; boundary="0000000000000c5b6b0620032507" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000000c5b6b0620032507 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable What is the use of postgres regclass datatype in user tables? When would one want to use them when regular data types are available? If any tables have these data types, since pg_upgrade would fail, what data types should those be converted to? ``` postgres=3D> select version(); version ---------------------------------------------------------------------------= ------------------------------- PostgreSQL 14.11 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-12), 64-bit (1 row) \dT pg_catalog.reg* List of data types Schema =E2=94=82 Name =E2=94=82 Description =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=AA=E2=95=90=E2=95=90=E2=95=90=E2=95= =90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90= =E2=95=90=E2=95=90=E2=95=90=E2=95=AA=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95= =90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90= =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95= =90 pg_catalog =E2=94=82 regclass =E2=94=82 registered class pg_catalog =E2=94=82 regcollation =E2=94=82 registered collation pg_catalog =E2=94=82 regconfig =E2=94=82 registered text search config= uration pg_catalog =E2=94=82 regdictionary =E2=94=82 registered text search dictio= nary pg_catalog =E2=94=82 regnamespace =E2=94=82 registered namespace pg_catalog =E2=94=82 regoper =E2=94=82 registered operator pg_catalog =E2=94=82 regoperator =E2=94=82 registered operator (with arg= s) pg_catalog =E2=94=82 regproc =E2=94=82 registered procedure pg_catalog =E2=94=82 regprocedure =E2=94=82 registered procedure (with ar= gs) pg_catalog =E2=94=82 regrole =E2=94=82 registered role pg_catalog =E2=94=82 regtype =E2=94=82 registered type (11 rows) postgres=3D> create table t1 (c1 int, c2 regclass); CREATE TABLE postgres=3D> \d t1; Table "public.t1" Column | Type | Collation | Nullable | Default --------+----------+-----------+----------+--------- c1 | integer | | | c2 | regclass | | | postgres=3D> insert into t1 values(1,1); INSERT 0 1 postgres=3D> insert into t1 values(2,'2'); INSERT 0 1 postgres=3D> insert into t1 values(3,'3'::int); INSERT 0 1 postgres=3D> insert into t1 values(4,'4'::text); ERROR: relation "4" does not exist postgres=3D> select * from t1; c1 | c2 ----+---- 1 | 1 2 | 2 3 | 3 (3 rows) ``` What kind of data does these data types store - numbers or text? In above example am able to insert it as number as well as character '2'? --0000000000000c5b6b0620032507 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+V2hhdCBpcyB0aGUgdXNlIG9mIHBvc3RncmVzIHJlZ2NsYXNzIGRhdGF0 eXBlIGluIHVzZXIgdGFibGVzPyBXaGVuIHdvdWxkIG9uZSB3YW50IHRvIHVzZSB0aGVtIHdoZW4g cmVndWxhciBkYXRhIHR5cGVzIGFyZSBhdmFpbGFibGU/IElmIGFueSB0YWJsZXMgaGF2ZSB0aGVz ZSBkYXRhIHR5cGVzLCBzaW5jZSBwZ191cGdyYWRlIHdvdWxkIGZhaWwsIHdoYXQgZGF0YSB0eXBl cyBzaG91bGQgdGhvc2UgYmUgY29udmVydGVkIHRvPzxicj48YnI+YGBgPGJyPnBvc3RncmVzPSZn dDsgc2VsZWN0IHZlcnNpb24oKTs8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqB2ZXJzaW9uIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgPGJyPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS08YnI+wqBQb3N0Z3JlU1FMIDE0LjExIG9uIHg4Nl82NC1wYy1saW51eC1nbnUsIGNvbXBp bGVkIGJ5IGdjYyAoR0NDKSA3LjMuMSAyMDE4MDcxMiAoUmVkIEhhdCA3LjMuMS0xMiksIDY0LWJp dDxicj4oMSByb3cpPGJyPjxicj5cZFQgcGdfY2F0YWxvZy5yZWcqPGJyPsKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIExpc3Qgb2YgZGF0YSB0eXBlczxicj7CoCDCoFNjaGVtYSDC oCDilIIgwqAgwqAgTmFtZSDCoCDCoCDCoOKUgiDCoCDCoCDCoCDCoCDCoCDCoCBEZXNjcmlwdGlv biDCoCDCoCDCoCDCoCDCoCDCoCDCoDxicj7ilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDi lZDilZDilarilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilari lZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDi lZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZA8 YnI+wqBwZ19jYXRhbG9nIOKUgiByZWdjbGFzcyDCoCDCoCDCoOKUgiByZWdpc3RlcmVkIGNsYXNz PGJyPsKgcGdfY2F0YWxvZyDilIIgcmVnY29sbGF0aW9uIMKg4pSCIHJlZ2lzdGVyZWQgY29sbGF0 aW9uPGJyPsKgcGdfY2F0YWxvZyDilIIgcmVnY29uZmlnIMKgIMKgIOKUgiByZWdpc3RlcmVkIHRl eHQgc2VhcmNoIGNvbmZpZ3VyYXRpb248YnI+wqBwZ19jYXRhbG9nIOKUgiByZWdkaWN0aW9uYXJ5 IOKUgiByZWdpc3RlcmVkIHRleHQgc2VhcmNoIGRpY3Rpb25hcnk8YnI+wqBwZ19jYXRhbG9nIOKU giByZWduYW1lc3BhY2UgwqDilIIgcmVnaXN0ZXJlZCBuYW1lc3BhY2U8YnI+wqBwZ19jYXRhbG9n IOKUgiByZWdvcGVyIMKgIMKgIMKgIOKUgiByZWdpc3RlcmVkIG9wZXJhdG9yPGJyPsKgcGdfY2F0 YWxvZyDilIIgcmVnb3BlcmF0b3IgwqAg4pSCIHJlZ2lzdGVyZWQgb3BlcmF0b3IgKHdpdGggYXJn cyk8YnI+wqBwZ19jYXRhbG9nIOKUgiByZWdwcm9jIMKgIMKgIMKgIOKUgiByZWdpc3RlcmVkIHBy b2NlZHVyZTxicj7CoHBnX2NhdGFsb2cg4pSCIHJlZ3Byb2NlZHVyZSDCoOKUgiByZWdpc3RlcmVk IHByb2NlZHVyZSAod2l0aCBhcmdzKTxicj7CoHBnX2NhdGFsb2cg4pSCIHJlZ3JvbGUgwqAgwqAg wqAg4pSCIHJlZ2lzdGVyZWQgcm9sZTxicj7CoHBnX2NhdGFsb2cg4pSCIHJlZ3R5cGUgwqAgwqAg wqAg4pSCIHJlZ2lzdGVyZWQgdHlwZTxicj4oMTEgcm93cyk8YnI+PGJyPnBvc3RncmVzPSZndDsg Y3JlYXRlIHRhYmxlIHQxIChjMSBpbnQsIGMyIHJlZ2NsYXNzKTs8YnI+Q1JFQVRFIFRBQkxFPGJy PnBvc3RncmVzPSZndDsgXGQgdDE7PGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgVGFibGUgJnF1 b3Q7cHVibGljLnQxJnF1b3Q7PGJyPsKgQ29sdW1uIHwgwqAgVHlwZSDCoCB8IENvbGxhdGlvbiB8 IE51bGxhYmxlIHwgRGVmYXVsdCA8YnI+LS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLSst LS0tLS0tLS0tKy0tLS0tLS0tLTxicj7CoGMxIMKgIMKgIHwgaW50ZWdlciDCoHwgwqAgwqAgwqAg wqAgwqAgfCDCoCDCoCDCoCDCoCDCoHwgPGJyPsKgYzIgwqAgwqAgfCByZWdjbGFzcyB8IMKgIMKg IMKgIMKgIMKgIHwgwqAgwqAgwqAgwqAgwqB8IDxicj48YnI+cG9zdGdyZXM9Jmd0OyBpbnNlcnQg aW50byB0MSB2YWx1ZXMoMSwxKTs8YnI+SU5TRVJUIDAgMTxicj5wb3N0Z3Jlcz0mZ3Q7IGluc2Vy dCBpbnRvIHQxIHZhbHVlcygyLCYjMzk7MiYjMzk7KTs8YnI+SU5TRVJUIDAgMTxicj5wb3N0Z3Jl cz0mZ3Q7IGluc2VydCBpbnRvIHQxIHZhbHVlcygzLCYjMzk7MyYjMzk7OjppbnQpOzxicj5JTlNF UlQgMCAxPGJyPnBvc3RncmVzPSZndDsgaW5zZXJ0IGludG8gdDEgdmFsdWVzKDQsJiMzOTs0JiMz OTs6OnRleHQpOzxicj5FUlJPUjogwqByZWxhdGlvbiAmcXVvdDs0JnF1b3Q7IGRvZXMgbm90IGV4 aXN0PGJyPnBvc3RncmVzPSZndDsgc2VsZWN0ICogZnJvbSB0MTs8YnI+wqBjMSB8IGMyIDxicj4t LS0tKy0tLS08YnI+wqAgMSB8IDE8YnI+wqAgMiB8IDI8YnI+wqAgMyB8IDM8YnI+KDMgcm93cyk8 YnI+YGBgPGJyPldoYXQga2luZCBvZiBkYXRhIGRvZXMgdGhlc2UgZGF0YSB0eXBlcyBzdG9yZSAt IG51bWJlcnMgb3IgdGV4dD8gSW4gYWJvdmUgZXhhbXBsZSBhbSBhYmxlIHRvIGluc2VydCBpdCBh cyBudW1iZXIgYXMgd2VsbCBhcyBjaGFyYWN0ZXIgJiMzOTsyJiMzOTs/PGJyPjwvZGl2Pg0K --0000000000000c5b6b0620032507--