Como as tabelas podem ser ocultadas de um usuário no PostgreSQL 8.1?

2

Eu tenho um aplicativo do Windows que precisa ser integrado a um banco de dados PostgreSQL 8.1 existente. Estou usando o driver OLE do link .

Este aplicativo específico tenta carregar os detalhes de todas as tabelas, embora precise apenas de acesso a uma. Se eu não conceder ao usuário permissão para selecionar todas essas tabelas, o aplicativo lançará um erro ao tentar carregar cada uma delas. Se eu concedo ao usuário permissão para selecionar todas essas tabelas, o aplicativo carrega todos os seus metadados muito lentamente.

Não consigo encontrar uma maneira de "ocultar" a maioria das tabelas para que o aplicativo nem saiba que elas existem e não tentará fazer nada com elas. Existe tal recurso / permissão? Criaria outra ajuda de esquema (atualmente há apenas uma schemea "pública")? Existe um recurso OLE que possa ajudar?

(Note que eu realmente não me importo se o aplicativo pode acessar essas tabelas do ponto de vista de segurança, eu só quero acelerar as coisas para os usuários deste aplicativo.)

    
por Ed Thomas 18.08.2009 / 17:32

1 resposta

1

Eu acho que a solução gira em torno desta questão simples, é a única tabela que o sistema Windows precisa acessar para parte de um sistema existente que outros aplicativos precisam acessar? Ou é uma tabela separada que é usada apenas pelo aplicativo do Windows?

Se é o último, um novo esquema com apenas essa tabela parece ser a resposta.

Se for o primeiro, as permissões são a chave. Crie um novo usuário ao qual o aplicativo do Windows se conectará e, em seguida, conceda somente acesso a essa tabela a esse usuário. Consulte: link

    
por 19.08.2009 / 16:58

Tags