I have created an ArcGIS enterprise geodatabase. There are i5, i6,... i30 tables in the sde schema of my geodatabase. What do these tables do?

  • 2
    Please always include the exact versions of all software in the body of the question each time you post. "an ArcGIS 10.5.x enterprise geodatabase within PostgreSQL 9.y.z using PostGIS 2.a.b". – Vince Dec 28 '17 at 12:22

The iN table presence and function are documented in the fourth paragraph beneath the section heading "Feature classes in a PostgreSQL database using ST_Geometry storage":

Once you have loaded data, you will have several i tables and stored procedures in your database. These stored procedures and i tables are used for generating feature IDs for feature classes. The i tables contain a number in their name. This number corresponds to the registration_id of the feature class in the sde_table_registry table. Editing these tables or stored procedures is not supported and highly discouraged.

If your database is not geodatabase-enabled, ArcGIS will create PostGIS geometry tables with objectid columns using an integer serial column.

When initially created as SDE in Oracle, the database SEQUENCE type was used to feed the unique identifier, but sequence performance during bulk loading was poor. Eventually, a large step interval was used, with the bulk insert code being responsible for allocating individual IDs in batches of 20, 40, 200, or 400, and using the DBMS_PIPE package to cache unused IDs. When ported to Sybase (and eventually Microsoft SQL Server), which didn't have the SEQUENCE extension, the "i table" implementation was created. That same implementation is used in PostgreSQL.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.