Ich benutze PostGres 9.5. Ich habe Probleme beim Einfügen von Daten in eine Tabelle, die ich gerade erstellt habe. Ich erhalte "Erlaubnis verweigert" -Fehler, obwohl ich dem Datenbankbenutzer alle Privilegien gewährt habe. Siehe unten ...Alle Privilegien für meine PostGres-Tabelle erhalten, aber immer noch eine Fehlermeldung "Berechtigung verweigert" beim Einfügen/Auswählen
localhost:myapp davea$ psql -Upostgres
Password for user postgres:
psql (9.5.0, server 9.5.1)
Type "help" for help.
postgres=# GRANT ALL ON schema public TO myapp;
GRANT
localhost:myapp davea$ psql -Upostgres
Password for user postgres:
psql (9.5.0, server 9.5.1)
Type "help" for help.
postgres=# GRANT USAGE ON schema public TO myapp;
GRANT
postgres=# \q
localhost:myapp davea$ myapp
psql (9.5.0, server 9.5.1)
Type "help" for help.
myapp=> insert into search_codes (id, code, address_id) values (1, 'atlanta', 'GA');
ERROR: permission denied for relation search_codes
myapp=> select * FROM search_codes;
ERROR: permission denied for relation search_codes
myapp=> \d search_codes;
Table "public.search_codes"
Column | Type | Modifiers
------------+-------------------+-----------------------------------------------------------
id | integer | not null default nextval('search_codes_id_seq'::regclass)
code | character varying |
address_id | character varying |
Indexes:
"search_codes_pkey" PRIMARY KEY, btree (id)
"index_search_codes_on_code" UNIQUE, btree (code)
"index_search_codes_on_address_id" btree (address_id)
Was ist der richtige Weg, Privilegien zu gewähren, so dass mein Benutzer eingeben und wählen Sie aus der Tabelle?
Haben Sie eine separate Datenbank oder sind alle Ihre Tabellen in der Postgres-Standarddatenbank? –