PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

odmowa uprawnień przy próbie odczytu pliku csv przy użyciu JDBC dla bazy danych postgres

Czy wykonałeś oświadczenie jako superużytkownik? w psql i jako inny użytkownik przez JDBC?
Podręcznik mówi nam :

możesz obejść to ograniczenie, otaczając instrukcję funkcją SECURITY DEFINER należący do superużytkownika. Pamiętaj o zagrożeniach bezpieczeństwa . Możesz także ODWOŁAĆ wszystkie prawa od publicznych i tylko DOTACJE wybranym użytkownikom. Może wyglądać tak:

CREATE OR REPLACE FUNCTION foo()
  RETURNS void AS
$BODY$
    COPY data_1
    FROM E'C:\\Users\\Abhishek\\Desktop\\data1.csv'
    USING delimiters ',';
$BODY$
  LANGUAGE sql VOLATILE SECURITY DEFINER
  SET search_path = public, pg_temp;  -- or whatever schema the table is in

REVOKE ALL ON FUNCTION foo() FROM public;
GRANT SELECT ON FUNCTION foo() TO my_user;

Należy również pamiętać, że właściwa składnia ciągów ucieczki jest:

E'C:\\Users\\Abhishek\\Desktop\\data1.csv'

Zwróć uwagę na E'...' .
Od wersji 9.1 ustawienie standard_conforming_strings jest domyślnie włączony, wymuszając to.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. dlaczego postgres wyświetla jednocześnie błąd aktualizacji wiersza, gdy wyraźnie blokuję całą tabelę?

  2. Migracja baz danych PostgreSQL ze środowiska lokalnego do chmury przy użyciu AWS RDS

  3. Jak określić ostatni dzień poprzedniego miesiąca za pomocą PostgreSQL?

  4. Dostrajanie wydajności Postgresql i wykorzystania pamięci w przepływie pracy w Pythonie

  5. Dodawanie klucza do pustej kolumny hstore