Zmiany pomiędzy wersją 1 and wersją 2 dla AdminGuide/PSQLOWNER

Pokaż
Ignoruj:
Data i czas:
05/26/15 15:42:55 (9 years temu)
Autor:
jpo (IP: 79.188.124.105)
Komentarz:

--

Legend:

Bez zmian
Dodane
Usunięte
Zmienione
  • AdminGuide/PSQLOWNER

    v1 v2  
    11= [wiki:UserGuide Przewodnik użytkownika] > PostgreSQL zmiana właściciela tabeli = 
    22 
    3 Od wersji 3.8 w systemie eDokumenty nastąpiło sprawdzanie właściciela tabeli. W starszych wersjach był to ''postgres'' obecnie powinien być ''edokumenty''. 
     3Od wersji 3.8 w systemie eDokumenty następuje sprawdzanie właściciela tabeli. W starszych wersjach był to ''postgres'' obecnie powinien być ''edokumenty''. 
    44 
    55Przed przystąpieniem do aktualizacji systemu eDokumenty ze starszych wersji powinniśmy sprawdzić właściciela tabeli. 
    66 
    7 Wykonujemy to poleceniem. Jeśli właścicielem tabeli, widoków są edokumnety nie musimy wykonywać żadnych dodatkowych czynności.  
     7Wykonujemy to poleceniem: 
    88{{{ 
    99\dS 
    1010}}} 
     11 
     12Jeśli właścicielem tabeli, widoków są edokumnety nie musimy wykonywać żadnych dodatkowych czynności. W przeciwnym wypadku należy zmienić właściciela na ''edokumnety'' 
     13Aby to wykonać wykonujemy poniższe zapytania. Zapytania wykonujemy pojedzyńczo z uwagi gdyż przy hurtowym zapytaniu mogą się nie wykonać. 
     14 
     15{{{ 
     16create or replace function my_exec1(text) returns void as $$ 
     17begin 
     18execute $1; 
     19end; 
     20$$ language plpgsql; 
     21}}} 
     22 
     23 
     24{{{ 
     25SELECT my_exec1('ALTER SCHEMA ' || aa || ' OWNER TO edokumenty') FROM bs_unnest(array['public', 'syncml_server', 'reports', 'vindication']) aa; 
     26SELECT my_exec1('GRANT USAGE ON SCHEMA ' || aa || ' TO http') FROM bs_unnest(array['public', 'syncml_server', 'reports', 'vindication']) aa; 
     27}}} 
     28 
     29 
     30{{{ 
     31SELECT my_exec1('ALTER TABLE ' || table_schema || '.' || table_name || ' OWNER TO edokumenty') FROM information_schema.views WHERE table_schema IN ('public', 'syncml_server', 'reports', 'vindication'); 
     32SELECT my_exec1('GRANT SELECT ON ' || table_schema || '.' || table_name || ' TO http') FROM information_schema.views WHERE table_schema IN ('public', 'syncml_server', 'reports', 'vindication'); 
     33}}} 
     34 
     35 
     36{{{ 
     37select my_exec1('ALTER TABLE ' || schemaname || '.' || tablename || ' OWNER TO edokumenty') from pg_tables where schemaname IN ('public', 'syncml_server', 'reports', 'vindication'); 
     38select my_exec1('GRANT select, insert, update, delete ON ' || schemaname || '.' || tablename || ' to http') from pg_tables where schemaname IN ('public', 'syncml_server', 'reports', 'vindication'); 
     39}}} 
     40 
     41 
     42{{{ 
     43SELECT my_exec1('ALTER TABLE ' || sequence_schema || '.' || sequence_name || ' OWNER TO edokumenty') FROM information_schema.sequences WHERE sequence_schema IN ('public', 'syncml_server', 'reports', 'vindication'); 
     44SELECT my_exec1('GRANT USAGE ON SEQUENCE ' || sequence_schema || '.' || sequence_name || ' TO http') FROM information_schema.sequences WHERE sequence_schema IN ('public', 'syncml_server', 'reports', 'vindication'); 
     45}}} 
     46 
     47 
     48{{{ 
     49drop function my_exec1(text); 
     50}}}