al soltar esta vista:
drop view employees;me sale el siguiente mensaje de error:
ERROR: cannot drop view employees because other objects depend on it DETAIL: view telephone_number_collection depends on view employees view email_collection depends on view employees policy employee_rights_select_only_own_person_address on table person_addresses depends on view employees policy employee_rights_select_only_own_person_email on table person_emails depends on view employees policy employee_rights_select_only_own_person_telnumber on table person_telephone_numbers depends on view employees HINT: Use DROP ... CASCADE to drop the dependent objects too. SQL state: 2BP01descartar las vistas colección_email y colección_número_teléfono funciona para evitar la primera parte del error. Pero no entiendo la segunda parte:
policy employee_rights_select_only_own_person_address on table person_addresses depends on view employees policy employee_rights_select_only_own_person_email on table person_emails depends on view employees policy employee_rights_select_only_own_person_telnumber on table person_telephone_numbers depends on view employeesNo puedo encontrar las 3 políticas en las 3 tablas descritas. ¿Alguien puede ayudarme a entender el mensaje de error, respectivamente, para encontrar las políticas en pgAdmin para verificar si puedo usar DROP ... CASCADE o eliminar las políticas manualmente sin destruir cosas importantes?
editar : el problema real fue que até para reemplazar una función, donde cambió el tipo de retorno. Pero eso es imposible. Si el tipo de devolución cambia, primero debe descartar la función y luego crearla nuevamente.
drop FUNCTION public.get_employees;Pero era imposible abandonar la función debido a la dependencia de los empleados de la vista.
ERROR: cannot drop function get_employees() because other objects depend on it DETAIL: view employees depends on function get_employees() view telephone_number_collection depends on view employees view email_collection depends on view employees policy employee_rights_select_only_own_person_address on table person_addresses depends on view employees policy employee_rights_select_only_own_person_email on table person_emails depends on view employees policy employee_rights_select_only_own_person_telnumber on table person_telephone_numbers depends on view employees HINT: Use DROP ... CASCADE to drop the dependent objects too. SQL state: 2BP01Por eso hice la primera pregunta. Solo quiero eliminar todas las vistas y políticas temporalmente y crearlas nuevamente después de eliminar y crear la función public.get_employees;