Olá Evandro, Não encontrei nada de que precise na pg_class, mas obrigado pela dica. ;)
Quanto a colocar algo na tabela, meu problema é saber se ela existe, para que caso ela não exista eu a crie, lembrando que não possso simplesmente recria-la a cada momento com o DROP IF EXIST, por causa das procedures que procuram através de OIDS. Obrigado pela ajuda. Daniel Cordeiro Evandro Ricardo Silvestre escreveu: > Daniel, > > Não sei como você poderá identificar a seção. Dê uma lida nisso: > http://www.postgresql.org/docs/8.2/static/catalog-pg-class.html e veja > se alguma coluna retorna a seção que deseja, pelo que vi não tem nada > do que deseja. > Você não colocar algum identificador da seção na tabela temporaria? > Tipo colocar no nome dela!? > > Att > > Evandro > > Daniel Cordeiro wrote: >> Olá Everaldo, >> >> Obrigado pela ajuda, infelismente não funcionou como eu esperava. >> >> Eu preciso saber se a tabela da minha sessão foi criado, mas o que >> acontece é que a consulta que você me passou vai me mostrar a tabela >> temporária de todas as sessões. E não somente a minha. >> >> Na verdade, o que acontece comigo é que como uso um sistema web com um >> número muito alto de requisições, preciso manter minha conexão >> persistente. A cada recarregamneto da tela, eu tenho que ver se a tabela >> temporária existe (ou caso a conexão tenha se expirado), se não >> exisitir, eu a crio e preencho com informações baśicas recolhidas da >> sessão do PHP. >> >> Eu estava fazendo o trabalho sempre removendo e recriando as funções com >> o comando DROP IF EXIST, só que eu não sabia que as procedures quando >> são executadas na seção, são na verdade COMPILADAS no momento da sua >> primeira execução, de tal forma que as informações da tabela que ele >> extrai são registrados na procedure através dos OIDS. Como os OIDS mudam >> porque eu sempre recriava a tabela temporária, mas a seção não era >> expirada, não consequia realizar as operações que desejava porque dava >> um erro, pois a procedure procurava os dados em um OID inexistente. >> >> Como as vezes eu não sei quando a seção foi expirada, não tem como eu >> ficar a cada requisição removendo e recriando a tabela, mas o espaço >> ocupado não é meu problema. >> >> >> Muito obrigado pela sua ajuda. >> >> Daniel Cordeiro >> >> Evandro Ricardo Silvestre escreveu: >> >>> Daniel, >>> >>> Tente o seguinte: >>> >>> SELECT a.relname AS tabela >>> FROM pg_class a >>> WHERE (a.relkind = 'r') and relnamespace <> 2200 >>> >>> Vai te retornar todas as tabelas temporárias. >>> >>> Sinceramente, não confio em fazer acesso a tabelas temporárias do jeito >>> que deseja fazer! Particularmente prefiro apagar a tabela temporária >>> sempre após o uso, para não ocupar espaço! >>> >>> Att >>> >>> Evandro >>> >>> Daniel Cordeiro wrote: >>> >>> >>>> Olá a todos mais uma vez, >>>> >>>> Além do problema das conexões, gostaria de saber como descubro a tabela >>>> temporária que esta ativa na seção corrente, pois gostaria de gravar >>>> algumas informações nesta tabela temporária ( carregadas da seção do >>>> PHP) para interagir diretamente através de gatilhos e procedures que se >>>> baseam nestas informações ( e assim, tirando a necessidade de se passar >>>> parâmetros para as procedures). >>>> >>>> Estou usando PostGreSQL 8.2, e a única coisa que vi nesta versão é como >>>> deletar a tabela com a comando DROP TABLE IF EXISTS. >>>> >>>> Procurando pelas tabelas do sistema, eu encontrei a tabela com o >>>> sequinte comando: >>>> >>>> =#SELECT schemaname,tablename from pg_tables where tablename = 'teste'; >>>> >>>> O problema é que ela me retorna todas as tabelas temporárias de todas as >>>> sessões ativas, da sequinte forma: >>>> >>>> schemaname | tablename >>>> ------------+----------- >>>> pg_temp_1 | teste >>>> pg_temp_2 | teste >>>> >>>> >>>> Gostaria de uma forma de descobrir se uma determinada tabela temporária >>>> existe na MINHA SESSAO CORRENTE, para que, caso não exista, eu possa >>>> cria-la na minha conexão persistente. >>>> >>>> >>>> Desde já agradeço e espero poder contribuir com o grupo tanto quanto ele >>>> me ajuda. >>>> >>>> Daniel Cordeiro >>>> >>>> >>>> >>>> >>> _______________________________________________ >>> Grupo de Usuários do PostgreSQL no Brasil >>> Antes de perguntar consulte o manual >>> http://pgdocptbr.sourceforge.net/ >>> >>> Para editar suas opções ou sair da lista acesse a página da lista em: >>> http://pgfoundry.org/mailman/listinfo/brasil-usuarios >>> >>> >>> >>> >>> >> >> >> > > ------------------------------------------------------------------------ > > _______________________________________________ > Grupo de Usuários do PostgreSQL no Brasil > Antes de perguntar consulte o manual > http://pgdocptbr.sourceforge.net/ > > Para editar suas opções ou sair da lista acesse a página da lista em: > http://pgfoundry.org/mailman/listinfo/brasil-usuarios -- /* "O único lugar aonde o sucesso vem antes do trabalho é no dicionário". (Albert Einstein) */ +--------------------------------------------------------------------------+ | Daniel Cordeiro de Morais Neto | | [EMAIL PROTECTED] | | Administrador de Redes | | ADM Soluções em Informática LTDA | | www.admsi.com.br | | F. (083)244-0757 | | Debian User - 453 - Sarge | | Gentoo User | +--------------------------------------------------------------------------+ _______________________________________________ Grupo de Usuários do PostgreSQL no Brasil Antes de perguntar consulte o manual http://pgdocptbr.sourceforge.net/ Para editar suas opções ou sair da lista acesse a página da lista em: http://pgfoundry.org/mailman/listinfo/brasil-usuarios
