Skip to main content
Question

Best practices for writing Esri (GIS) SDE feature tables on Postgresql database.

  • February 3, 2026
  • 2 replies
  • 42 views

aaronm2800
Contributor
Forum|alt.badge.img+2

Hi everyone, forgive me if this is a basic question but I’m trying to understand best practices for our database setup. We have a GIS Edit database and GIS Production database. Both are Postgresql 12.22, Enterprise 11.3. We have a lot of jobs doing a basic ETL from Edit → Prod

Havent had too many issues with these over the years with some occasional data type errors mostly. 

The problem is I have never been certain what combination of reader/writer I should be using. For some reason, we’ve had the best luck using an ArcSDE Geodb reader and a postgis writer. And when I say this, for example an error I’ve run into many times is that the objectid (Esri’s UID column) has duplicate values when running the job so it fails. So then we do something like adding a counter transformer in between and then writing that to the Production db table objectid column. I’d prefer not to have to add steps like this obviously.

We’re in the process of preparing to upgrade our FME workbench install. We are still on 2022.2.2 due to some old partner agency requirements which are now no longer an issue, so I believe we’ll go up to 2025. 

As part of that I’d like to make sure our jobs are setup correctly. Can any GIS FME users offer some advice about which reader/writer combination is recommended and works best for you? I realize this is a question with a lot of variables just trying to get some general guidance.

Thank you!

2 replies

birgit
Influencer
Forum|alt.badge.img+25
  • Influencer
  • February 4, 2026

Me and my colleagues only ever use a Feature writer with it set to "Esri Geodatabase (ArcSDE Geodb)”. And while we do sometimes have problems with spatial indexing (we don't use Postgresql) we never have problems with objectid because the writer recognizes that the objectid field is a field that is read only for FME. The same happens if I would write a value to Shape.STArea(), it would indicate it is a field managed by the database and refuse to fill it.

So in short if I would use the ArcSDE Geodb writer and try to write a feature that includes an objectid of 1 it would ignore the value I feed it and create a new unique value on insert for the feature. 


aaronm2800
Contributor
Forum|alt.badge.img+2
  • Author
  • Contributor
  • February 10, 2026

Me and my colleagues only ever use a Feature writer with it set to "Esri Geodatabase (ArcSDE Geodb)”. And while we do sometimes have problems with spatial indexing (we don't use Postgresql) we never have problems with objectid because the writer recognizes that the objectid field is a field that is read only for FME. The same happens if I would write a value to Shape.STArea(), it would indicate it is a field managed by the database and refuse to fill it.

So in short if I would use the ArcSDE Geodb writer and try to write a feature that includes an objectid of 1 it would ignore the value I feed it and create a new unique value on insert for the feature. 

Thanks for the answer I really appreciate it. When I upgrade FME I’m going to try and use both sde readers and writers, once our install isn’t so out of date hopefully everything will work ok.