0

I have created an enterprise geodatabase using ArcCatalog 10.5 on a PostgreSQL database. I have a database admin user named administrator and another user named sde. The geodatabase admin is sde user.

Geodatabase is created successfully. And I connected to database from ArcCatalog with administrator user. So I want to create a feature class but throws an error:

Failed to create Feature class. Database user name and current schema do not match. [mygdb.administrator.test]

Should I connect with sde user and create feature classes or other objects?

So If I need multiple users to create feature objects, all of them will use sde user. Is this right?

3

The Enterprise geodatabase model calls for multiple logins when managing tables.

First off, you should not ever create any tables as the administrator or sde user. Period. Ever. Using administrative accounts to manage tables opens the door to complete database destruction with a single click.

Best practice is to create at least two additional logins (though in practice this expands to two more than the number of independent users).

When using the simplest security model, this means that login/user/schema data_owner creates and registers tables and login/user/schema data_user is granted the necessary access to do necessary processing. In this model, the GIS admin/team retains login rights to data_owner and all others connect as data_user.

In the real world, you'll have logins dept_a, dept_b, dept_c manage the holdings of departments, with each real user accessing the database having an individual login, and group roles created to model needed access read-only/read-write, and accesses granted to the roles, with roles granted to users. In addition, there may be one or more login/user/schemas created for "headless access" (ArcGIS Server publishing connections, with roles assigned appropriately).

While most databases support schemas that do not match logins, the geodatabase model can only support this if the user never needs to create a selection set over 100 records, because it will then try to create tables with the same schema/user as login and fail.

Using your example, you should not create tables as sde or administrator (best practice), and should instead create at least one login/user/schema to own the geodata, and one or more login/user/schemas to access the data. You can then safely create feature classes as the owner account(s) and access them as necessary.

The only possible alternative is to abandon using all geodatabase functionality, and create tables only via SQL tools, never registering them with the geodatabase, and only accessing them via Query Layers (and even then, you shouldn't use the sde login for this).

6
  • So do do you mean to create a new schema named gisowner and a user named gisowner that has login. And create gisviewer group that has usage gisowner schema. And create giseditor group to edit features. – barteloma Dec 15 '20 at 20:24
  • I'm allergic to putting 'gis' in every login/user/schema name, but yes. – Vince Dec 15 '20 at 20:29
  • anyone who wants to add or edit featureclass will use gis owner username and password? – barteloma Dec 15 '20 at 21:00
  • 1
    Add, yes, edit no. – Vince Dec 15 '20 at 21:05
  • 1
    "Alter" is a better term for that. "Edit" usually refers to rows, not table schema. – Vince Dec 15 '20 at 21:15
0

Every user should have schema associated in the database with the same name along appropriate DDL permissions to be able to create FC/tables from ArcGIS desktop.

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.