regclass - Was ist das denn bitte schön??

Juten Tach werte Mitstreiter,

auch auf die Gefahr hin, dass diese Frage bereits SEHR häufig gefragt wurde, versuch ich doch einfach mein Glück und frage trotzdem:

Was bedeutet denn die Verwendung von “::regclass”??

Grund dieser Frage ist folgendes Ansinnen. Ich spiele aktuell mit der Erstellung von SEQUENCE rum und da hab ich allzu oft bereits die Verwendung des oben genannten gesehen. Beispielsweise

ALTER TABLE ONLY k_ktlgnr ALTER COLUMN katalognr SET DEFAULT nextval('k_ktlgnr_katalognr_seq'::regclass);

Jedoch erschließt sich mir der Sinn von regclass nicht.

Wäre es zuviel gefragt, wenn mir jemand kurz und knackig erklären würde, was die Verwendung von regclass für eine Bedeutung hat?? Janz fetten Dank schon einmal.

Gruß
CaptnUnterhose

PS: Ich war natürlich auch schon in der Doku von PSQL aktiv. Doch verstanden hab ich das nicht wirklich.

PostgreSQL: Documentation: 9.1: Object Identifier Types

Mehr oder weniger Pseudotypen für die interne Verwendung, man kann diese aber auch teilweise selber nutzen:

test=*# select oid, relname from pg_class order by oid desc limit 1;
  oid  | relname
-------+---------
 24928 | inhalt
(1 row)

test=*# select 24928::regclass;
 regclass
----------
 inhalt
(1 row)

Man hat manchmal z.B. halt nur die OID einer Tabelle oder so und sucht deren Namen.



Andreas

Hallo Andreas,

herzlichen Dank für die Antwort. Genau nach so einer Erklärung habe ich gesucht. Besten Dank hierfür.

Gruß
CaptnUnterhose