Reserved system column names cannot be used in PolarDB-O: ctid, oid, cmin, cmax, xmin, and xmax. The following error is returned if a system column name is used:
ERROR: column name "ctid" conflicts with a system column name
- You can handle conflict column names by changing column names.
- Create a shadow table with a different name from the original table, and modify the conflicting column names.
- Create a view with the same name as the original table, and map the column names to those of the original table.
- Modify the name of a column
Original column name:
create table foo(oid varchar(10))Modify the key.
create table foo(p_oid varchar(10))
- Create a table
The original table is:
create table foo(oid varchar(10), ctid int, xmin int)Create a new table:
create table __foo(p_oid varchar(10), p_ctid int, p_xmin int);Create a view:
create view foo as select p_oid as oid, p_ctid as ctid, p_xmin as xmin from __foo;