Re: [pgbr-geral] Problema com pg_prepare
Giancarlo, - Mensagem original - De: Giancarlo Boaron gboa...@yahoo.com.br Para: pgbr-geral@listas.postgresql.org.br Enviadas: Sexta-feira, 23 de Abril de 2010 19:46:47 Assunto: [pgbr-geral] Problema com pg_prepare Call to undefined function pg_prepare() Só por curiosidade: a função pg_affected_rows funciona ? Pode ser algo com a compilação (isso se você não estiver usando um pacote pronto...) __ []´s, André Volpato ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Insert a partir de tabela particionada
Olá, Para o problema citado tenho : 1. Tabela principal (não coloquei todos os campos, porque ficaria muito grande) CREATE TABLE public.stg1_nfe ( sq_nfe SERIAL, ide_Id VARCHAR(44) NOT NULL, ide_indPag VARCHAR(2) NOT NULL, ide_mod VARCHAR(2) NOT NULL CONSTRAINT S1NF_PK PRIMARY KEY(sq_nfe) USING INDEX TABLESPACE tbspIndices ) WITHOUT OIDS; 2. Tabelas Particionadas até o mes 12 (200612) CREATE TABLE stg1_nfe_200609 ( CHECK (ideAnoMesReceb = '200609')) INHERITS (public.stg1_nfe); Foram criadas também indices sobre o campo ideAnoMesReceb das tabelas particionadas. 3. Função CREATE OR REPLACE FUNCTION public.P_ParticionarDadosNFe_I ( ) RETURNS trigger AS $body$ BEGIN IF (NEW.ideAnoMesReceb = '200609') THEN INSERT INTO public.stg1_nfe_200609 VALUES (NEW.*); ELSIF (NEW.ideAnoMesReceb = '200610') THEN INSERT INTO public.stg1_nfe_200610 VALUES (NEW.*); ELSIF (NEW.ideAnoMesReceb = '200611') THEN INSERT INTO public.stg1_nfe_200611 VALUES (NEW.*); ELSIF (NEW.ideAnoMesReceb = '200612') THEN INSERT INTO public.stg1_nfe_200612 VALUES (NEW.*); END IF; RETURN NULL; EXCEPTION WHEN OTHERS THEN INSERT INTO public.tb_excecoes ( tmsData, vchNomeFuncao, txtErro, vchAnoMes ) VALUES ( NOW(), 'P_NFe_PersitirParticao_I ', SQLERRM, NEW.ideAnoMesReceb ); RETURN NULL; END; $body$ LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER COST 100; 4. Trigger CREATE TRIGGER TRG_ParticionarDadosNFe BEFORE INSERT ON public.stg1_nfe FOR EACH ROW EXECUTE PROCEDURE public.P_ParticionarDadosNFe_I(); 5. Insert Como eu acesso os dados das tabelas particionadas através da tabela pai, faço o insert com select da tabela pai para outra tabela que tem a mesma estrutura da tabela pai, para faciliar o processo de agregação. INSERT INTO public.stg1_nfe_proc ( sq_nfe, ide_Id, ide_indPag, ide_mod) SELECT sq_nfe, ide_Id, ide_indPag, ide_mod) FROM public.stg1_nfe WHERE ideAnoMesReceb = '200609'; E isso é que não funciona, ou seja não insere nada. Apesar de que, se eu executar somente o select funciona. É o que eu não estou entendendo. Estou fazendo alguma coisa errada ? Deu para entender o problema ? Grata, Letícia JotaComm wrote: Olá, Em 20 de abril de 2010 16:37, letgaude letga...@gmail.com escreveu: Gente, Fiz todo o processo de particionamento, conforme orientação da documentação do postgres (http://www.postgresql.org/docs/8.4/interactive/ddl-partitioning.html), utilizando trigger, pois trabalhamos aqui com insert linha a linha. Gerei 12 tabelas a partir da tabela principal, uma para cada mês. A partir da tabela principal fazemos insert em outra tabela intermediaria para tratamento de sumarizações. O que eu não estou conseguindo fazer agora é este processo de inserção. O postgres retorna Query returned successfully: 0 rows affected, 188 ms execution time., e nao insere nada. Existe algum segredo para fazer insert com select em tabelas particionadas, como existe pra ver somente os dados da tabela principal (select * from only tabela_pai) ? Pq eu simplesmente faço algo como por ex. : INSERT INTO public.tabela2 (campo1, campo2) select campo1, campo2 from tabela_pai where mes = 12 Não existe segredo nenhum. Se você seguir o descrito no manual você irá conseguir o resultado desejado. Para acessar os dados da tabela pai você precisa utilizar a cláusula ONLY na tabela pai, conforme mesmo você citou no seu texto. Agora para que possamos ajudar é necessário algumas informações: - Função que você desenvolveu - Trigger - INSERT que você está executando e não está funcionando. Obrigada. -- View this message in context: http://old.nabble.com/Insert-a-partir-de-tabela-particionada-tp28287912p28287912.html Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral Atenciosamente -- JotaComm http://jotacomm.wordpress.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- View this message in context: http://old.nabble.com/Insert-a-partir-de-tabela-particionada-tp28287912p28364393.html Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br
Re: [pgbr-geral] Insert a partir de tabela particionada
Ah, mais uma coisa O campo ideAnoMesReceb (que eu não coloquei no create) faz parte da tabela principal simE é levado como herança para as outras tabelas... :-) JotaComm wrote: Olá, Em 20 de abril de 2010 16:37, letgaude letga...@gmail.com escreveu: Gente, Fiz todo o processo de particionamento, conforme orientação da documentação do postgres (http://www.postgresql.org/docs/8.4/interactive/ddl-partitioning.html), utilizando trigger, pois trabalhamos aqui com insert linha a linha. Gerei 12 tabelas a partir da tabela principal, uma para cada mês. A partir da tabela principal fazemos insert em outra tabela intermediaria para tratamento de sumarizações. O que eu não estou conseguindo fazer agora é este processo de inserção. O postgres retorna Query returned successfully: 0 rows affected, 188 ms execution time., e nao insere nada. Existe algum segredo para fazer insert com select em tabelas particionadas, como existe pra ver somente os dados da tabela principal (select * from only tabela_pai) ? Pq eu simplesmente faço algo como por ex. : INSERT INTO public.tabela2 (campo1, campo2) select campo1, campo2 from tabela_pai where mes = 12 Não existe segredo nenhum. Se você seguir o descrito no manual você irá conseguir o resultado desejado. Para acessar os dados da tabela pai você precisa utilizar a cláusula ONLY na tabela pai, conforme mesmo você citou no seu texto. Agora para que possamos ajudar é necessário algumas informações: - Função que você desenvolveu - Trigger - INSERT que você está executando e não está funcionando. Obrigada. -- View this message in context: http://old.nabble.com/Insert-a-partir-de-tabela-particionada-tp28287912p28287912.html Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral Atenciosamente -- JotaComm http://jotacomm.wordpress.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- View this message in context: http://old.nabble.com/Insert-a-partir-de-tabela-particionada-tp28287912p28364395.html Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Insert a partir de tabela particionada
Olá, Para o problema citado tenho : 1. Tabela principal (não coloquei todos os campos, porque ficaria muito grande) CREATE TABLE public.stg1_nfe ( sq_nfe SERIAL, ide_Id VARCHAR(44) NOT NULL, ide_indPag VARCHAR(2) NOT NULL, ide_mod VARCHAR(2) NOT NULL CONSTRAINT S1NF_PK PRIMARY KEY(sq_nfe) USING INDEX TABLESPACE tbspIndices ) WITHOUT OIDS; 2. Tabelas Particionadas até o mes 12 (200612) CREATE TABLE stg1_nfe_200609 ( CHECK (ideAnoMesReceb = '200609')) INHERITS (public.stg1_nfe); Foram criadas também indices sobre o campo ideAnoMesReceb das tabelas particionadas. 3. Função CREATE OR REPLACE FUNCTION public.P_ParticionarDadosNFe_I ( ) RETURNS trigger AS $body$ BEGIN IF (NEW.ideAnoMesReceb = '200609') THEN INSERT INTO public.stg1_nfe_200609 VALUES (NEW.*); ELSIF (NEW.ideAnoMesReceb = '200610') THEN INSERT INTO public.stg1_nfe_200610 VALUES (NEW.*); ELSIF (NEW.ideAnoMesReceb = '200611') THEN INSERT INTO public.stg1_nfe_200611 VALUES (NEW.*); ELSIF (NEW.ideAnoMesReceb = '200612') THEN INSERT INTO public.stg1_nfe_200612 VALUES (NEW.*); END IF; RETURN NULL; EXCEPTION WHEN OTHERS THEN INSERT INTO public.tb_excecoes ( tmsData, vchNomeFuncao, txtErro, vchAnoMes ) VALUES ( NOW(), 'P_NFe_PersitirParticao_I ', SQLERRM, NEW.ideAnoMesReceb ); RETURN NULL; END; $body$ LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER COST 100; 4. Trigger CREATE TRIGGER TRG_ParticionarDadosNFe BEFORE INSERT ON public.stg1_nfe FOR EACH ROW EXECUTE PROCEDURE public.P_ParticionarDadosNFe_I(); 5. Insert Como eu acesso os dados das tabelas particionadas através da tabela pai, faço o insert com select da tabela pai para outra tabela que tem a mesma estrutura da tabela pai, para faciliar o processo de agregação. INSERT INTO public.stg1_nfe_proc ( sq_nfe, ide_Id, ide_indPag, ide_mod) SELECT sq_nfe, ide_Id, ide_indPag, ide_mod) FROM public.stg1_nfe WHERE ideAnoMesReceb = '200609'; E isso é que não funciona, ou seja não insere nada. Apesar de que, se eu executar somente o select funciona. É o que eu não estou entendendo. Estou fazendo alguma coisa errada ? Deu para entender o problema ? Letícia JotaComm wrote: Olá, Em 20 de abril de 2010 16:37, letgaude letga...@gmail.com escreveu: Gente, Fiz todo o processo de particionamento, conforme orientação da documentação do postgres (http://www.postgresql.org/docs/8.4/interactive/ddl-partitioning.html), utilizando trigger, pois trabalhamos aqui com insert linha a linha. Gerei 12 tabelas a partir da tabela principal, uma para cada mês. A partir da tabela principal fazemos insert em outra tabela intermediaria para tratamento de sumarizações. O que eu não estou conseguindo fazer agora é este processo de inserção. O postgres retorna Query returned successfully: 0 rows affected, 188 ms execution time., e nao insere nada. Existe algum segredo para fazer insert com select em tabelas particionadas, como existe pra ver somente os dados da tabela principal (select * from only tabela_pai) ? Pq eu simplesmente faço algo como por ex. : INSERT INTO public.tabela2 (campo1, campo2) select campo1, campo2 from tabela_pai where mes = 12 Não existe segredo nenhum. Se você seguir o descrito no manual você irá conseguir o resultado desejado. Para acessar os dados da tabela pai você precisa utilizar a cláusula ONLY na tabela pai, conforme mesmo você citou no seu texto. Agora para que possamos ajudar é necessário algumas informações: - Função que você desenvolveu - Trigger - INSERT que você está executando e não está funcionando. Obrigada. -- View this message in context: http://old.nabble.com/Insert-a-partir-de-tabela-particionada-tp28287912p28287912.html Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral Atenciosamente -- JotaComm http://jotacomm.wordpress.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- View this message in context: http://old.nabble.com/Insert-a-partir-de-tabela-particionada-tp28287912p28364417.html Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br
Re: [pgbr-geral] Insert a partir de tabela particionada
Em 26 de abril de 2010 10:04, letgaude letga...@gmail.com escreveu: Olá, Para o problema citado tenho : 1. Tabela principal (não coloquei todos os campos, porque ficaria muito grande) CREATE TABLE public.stg1_nfe ( sq_nfe SERIAL, ide_Id VARCHAR(44) NOT NULL, ide_indPag VARCHAR(2) NOT NULL, ide_mod VARCHAR(2) NOT NULL CONSTRAINT S1NF_PK PRIMARY KEY(sq_nfe) USING INDEX TABLESPACE tbspIndices ) WITHOUT OIDS; 2. Tabelas Particionadas até o mes 12 (200612) CREATE TABLE stg1_nfe_200609 ( CHECK (ideAnoMesReceb = '200609')) INHERITS (public.stg1_nfe); Foram criadas também indices sobre o campo ideAnoMesReceb das tabelas particionadas. 3. Função CREATE OR REPLACE FUNCTION public.P_ParticionarDadosNFe_I ( ) RETURNS trigger AS $body$ BEGIN IF (NEW.ideAnoMesReceb = '200609') THEN INSERT INTO public.stg1_nfe_200609 VALUES (NEW.*); ELSIF (NEW.ideAnoMesReceb = '200610') THEN INSERT INTO public.stg1_nfe_200610 VALUES (NEW.*); ELSIF (NEW.ideAnoMesReceb = '200611') THEN INSERT INTO public.stg1_nfe_200611 VALUES (NEW.*); ELSIF (NEW.ideAnoMesReceb = '200612') THEN INSERT INTO public.stg1_nfe_200612 VALUES (NEW.*); END IF; RETURN NULL; EXCEPTION WHEN OTHERS THEN INSERT INTO public.tb_excecoes ( tmsData, vchNomeFuncao, txtErro, vchAnoMes ) VALUES ( NOW(), 'P_NFe_PersitirParticao_I ', SQLERRM, NEW.ideAnoMesReceb ); RETURN NULL; END; $body$ LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER COST 100; 4. Trigger CREATE TRIGGER TRG_ParticionarDadosNFe BEFORE INSERT ON public.stg1_nfe FOR EACH ROW EXECUTE PROCEDURE public.P_ParticionarDadosNFe_I(); 5. Insert Como eu acesso os dados das tabelas particionadas através da tabela pai, faço o insert com select da tabela pai para outra tabela que tem a mesma estrutura da tabela pai, para faciliar o processo de agregação. INSERT INTO public.stg1_nfe_proc ( sq_nfe, ide_Id, ide_indPag, ide_mod) SELECT sq_nfe, ide_Id, ide_indPag, ide_mod) FROM public.stg1_nfe WHERE ideAnoMesReceb = '200609'; E isso é que não funciona, ou seja não insere nada. Apesar de que, se eu executar somente o select funciona. É o que eu não estou entendendo. Estou fazendo alguma coisa errada ? Deu para entender o problema ? Você se certificou se o usuário que está tentando inserir tem os privilégios necessários para executar tal operação? Repare que sua função está definida com SECURITY INVOKER e não com SECURITY DEFINER. Osvaldo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Coluna na tabela tipo imagem ou pdf
Senhores, Qual a melhor forma de armazenar uma informação tipo imagem no formato pdf numa tabela Postgres? Grato, George -- George Machado Tabatinga, Analista de Sistemas - SETUR ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Coluna na tabela tipo imagem ou pdf
Olá George, Eu utilizo na minha loja virtual muitas imagens, e guardo o nome de cada uma numa tabela. Em outra tabela de parametros indico o caminho da localização desta imagens, desta forma nao importa onde as imagens estejam armazenadas, basta indicar o caminho. Se o teu caminho é fixo e nao vai mudar, basta indicar o local e o nome da cada imagem numa tabela. Espero ter ajudado. Att, Paulo. VisualP Sistemas. - Original Message - From: George M Tabatinga To: Comunidade PostgreSQL Brasileira Sent: Monday, April 26, 2010 12:56 PM Subject: [pgbr-geral] Coluna na tabela tipo imagem ou pdf Senhores, Qual a melhor forma de armazenar uma informação tipo imagem no formato pdf numa tabela Postgres? Grato, George -- George Machado Tabatinga, Analista de Sistemas - SETUR -- ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral __ NOD32 5062 (20100426) Information __ This message was checked by NOD32 antivirus system. http://www.eset.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Coluna na tabela tipo imagem ou pdf
Em 26 de abril de 2010 12:56, George M Tabatinga george.tabati...@gmail.com escreveu: Senhores, Qual a melhor forma de armazenar uma informação tipo imagem no formato pdf numa tabela Postgres? Grato, George Veja a palestra Preciso armazenar arquivos no banco. O que fazer? do Diogo Biazus na PGCon Brasil 2007: http://www.postgresql.org.br/eventos/pgconbr Osvaldo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Insert a partir de tabela particionada
Pessoal, DesculpemFoi vacilo mesmo ! Na mudança de um servidor pra outro, a tabela foi criada com outro usuário. Osvaldo Kussama wrote: Em 26 de abril de 2010 10:04, letgaude letga...@gmail.com escreveu: Olá, Para o problema citado tenho : 1. Tabela principal (não coloquei todos os campos, porque ficaria muito grande) CREATE TABLE public.stg1_nfe ( sq_nfe SERIAL, ide_Id VARCHAR(44) NOT NULL, ide_indPag VARCHAR(2) NOT NULL, ide_mod VARCHAR(2) NOT NULL CONSTRAINT S1NF_PK PRIMARY KEY(sq_nfe) USING INDEX TABLESPACE tbspIndices ) WITHOUT OIDS; 2. Tabelas Particionadas até o mes 12 (200612) CREATE TABLE stg1_nfe_200609 ( CHECK (ideAnoMesReceb = '200609')) INHERITS (public.stg1_nfe); Foram criadas também indices sobre o campo ideAnoMesReceb das tabelas particionadas. 3. Função CREATE OR REPLACE FUNCTION public.P_ParticionarDadosNFe_I ( ) RETURNS trigger AS $body$ BEGIN IF (NEW.ideAnoMesReceb = '200609') THEN INSERT INTO public.stg1_nfe_200609 VALUES (NEW.*); ELSIF (NEW.ideAnoMesReceb = '200610') THEN INSERT INTO public.stg1_nfe_200610 VALUES (NEW.*); ELSIF (NEW.ideAnoMesReceb = '200611') THEN INSERT INTO public.stg1_nfe_200611 VALUES (NEW.*); ELSIF (NEW.ideAnoMesReceb = '200612') THEN INSERT INTO public.stg1_nfe_200612 VALUES (NEW.*); END IF; RETURN NULL; EXCEPTION WHEN OTHERS THEN INSERT INTO public.tb_excecoes ( tmsData, vchNomeFuncao, txtErro, vchAnoMes ) VALUES ( NOW(), 'P_NFe_PersitirParticao_I ', SQLERRM, NEW.ideAnoMesReceb ); RETURN NULL; END; $body$ LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER COST 100; 4. Trigger CREATE TRIGGER TRG_ParticionarDadosNFe BEFORE INSERT ON public.stg1_nfe FOR EACH ROW EXECUTE PROCEDURE public.P_ParticionarDadosNFe_I(); 5. Insert Como eu acesso os dados das tabelas particionadas através da tabela pai, faço o insert com select da tabela pai para outra tabela que tem a mesma estrutura da tabela pai, para faciliar o processo de agregação. INSERT INTO public.stg1_nfe_proc ( sq_nfe, ide_Id, ide_indPag, ide_mod) SELECT sq_nfe, ide_Id, ide_indPag, ide_mod) FROM public.stg1_nfe WHERE ideAnoMesReceb = '200609'; E isso é que não funciona, ou seja não insere nada. Apesar de que, se eu executar somente o select funciona. É o que eu não estou entendendo. Estou fazendo alguma coisa errada ? Deu para entender o problema ? Você se certificou se o usuário que está tentando inserir tem os privilégios necessários para executar tal operação? Repare que sua função está definida com SECURITY INVOKER e não com SECURITY DEFINER. Osvaldo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- View this message in context: http://old.nabble.com/Insert-a-partir-de-tabela-particionada-tp28287912p28367810.html Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Executar pg_dump a partir de um programa em VB.NET
Olá comunidade, preciso fazer uma rotina de backup de uma base em Postgresql 8.2.4 através de um programa VB.NET. Todas as tabelas estão no formato bhXXX_h__MM_DD, onde XXX é o rótulo de um tipo de tabela e _MM_DD refere-se à data de criação da tabela. Eis exemplos: bheqp_h_2009_01_09, bhmul_h_2009_01_09 , bhpas_h_2009_01_09, bhpds_h_2009_01_09, etc. Fiz uma cópia de dados de uma tabela do servidor através do pgAdmin e obtive o seguinte comando: C:\Arquivos de programas\pgAdmin III\1.10\pg_dump.exe --host 10.98.0.83 --port 5432 --username sage --format plain --data-only --verbose --file C:\teste.sql --table \public\.\bheqp_h_2009_01_09\ bhcolsl_ems_sage Preciso fazer um programa, que o usuario entre com a data inicial e final e selecione o tipos de tabelas que serão copiadas; exemplo - mul, eqp, pas, pds, lia, etc e execute o comando acima de acordo com os parâmetros das datas e dos nomes das tabelas. O que preciso é executar o pg_dump.exe através de um programa que vou criar em VB.NET Para fazer o COPY, em um loop que vai da data inicial exemplo: bhpas_h_2009_01_01 a bhpas_h_2009_01_31. Alguém sabe, já fez dessa forma e/ou tem alguma outra alternativa? Esse programa tem que ser executado a partir de minha máquina cliente e o arquivo de gerado tem que ser armazenado na mesma máquina. Estou no aguardo online. Att. NEWTON TEIXEIRA DO N. JR. Aviso: O emitente desta mensagem é responsável por seu conteúdo e endereçamento. Cabe ao destinatário cuidar quanto ao tratamento adequado. Sem a devida autorização, a divulgação, a reprodução, a distribuição ou qualquer outra ação em desconformidade com as normas internas da ELETRONORTE S/A são proibidas e passíveis de sanção disciplinar, cível e criminal. Esta mensagem pode ser monitorada. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: erro: 42501
Obrigado pela contribuição, ajudo sim ! Abs Pedro De: pgbr-geral-boun...@listas.postgresql.org.br [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de JotaComm Enviada em: sábado, 24 de abril de 2010 16:22 Para: Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] erro: 42501 Olá, Pedro Em 20 de abril de 2010 11:09, Pedro Espíndola pespindo...@gmail.com escreveu: Marcelo feito e ainda to com o problema. Me diz uma coisa, se eu criar um usuário no linux (por exemplo: bdadm, senha: 123) e quiser criar a instância pelo pgadmin para me conectar com esse usuário eu necessito criar um role no postgre com o mesmo nome (bdadm) e mesma senha (123) ? funciona assim ? Marcelo, se me permite tomei a liberdade de responder. Um usuário no Linux nada tem a ver com o usuário do PostgreSQL, são coisas distintas. Pedro, quando você cria uma instância do PostgreSQL toda a estrutura de dados do PostgreSQL será de propriedade deste usuário que você executou o initdb. Ao fazer isso automaticamente é criado um usuário com o mesmo dentro do banco de dados PostgreSQL, porém este usuário não terá senha, visto que os usuários são criados sem senha. Se for de interesse colocar uma senha para o usuário você precisa se logar com este usuário e executar o seguinte comando: ALTER ROLE nome_do_usuario PASSWORD 'senha'; Porém, além de colocar a senha no usuário é necessário que você modifique o arquivo pg_hba.conf e tire a autenticação do modo trust, senão nunca será exigido senha para você se logar no banco. Sugiro que você troque de trust para md5. Espero ter ajudado. abs 2010/4/20 Marcelo Costa marcelojsco...@gmail.com: Bom dia 2010/4/20 Pedro Espíndola pespindo...@gmail.com Bom dia, estou tentanto criar uma tablespace e retorna este erro, sei que é permissão, estou executando com o superusuário postgres. Alguém poderia me explicar como solucionar e o que ocorre por trás ? ERRO: não pôde definir permissões do diretório /sgbd: Operação não permitida SQL state: 42501 Provavelmente o diretorio /sgdb não pertence ao user postgres ou não tem direitos sobre ele. Tenta dar direitos para o usuario postgres ler/escrever nesse diretorio # chown postgres.postgres sgdb Veja se isso lhe ajuda -- Marcelo Costa www.marcelocosta.net - You can't always get what you want, Doctor House in apology to Mike Jagger ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral []s -- JotaComm http://jotacomm.wordpress.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] erro: 42501
2010/4/24 JotaComm jota.c...@gmail.com Olá, Pedro Em 20 de abril de 2010 11:09, Pedro Espíndola pespindo...@gmail.comescreveu: Marcelo feito e ainda to com o problema. Me diz uma coisa, se eu criar um usuário no linux (por exemplo: bdadm, senha: 123) e quiser criar a instância pelo pgadmin para me conectar com esse usuário eu necessito criar um role no postgre com o mesmo nome (bdadm) e mesma senha (123) ? funciona assim ? Marcelo, se me permite tomei a liberdade de responder. Claro estamos em uma lista pública e o google gosta de nos indexar ;-) Um usuário no Linux nada tem a ver com o usuário do PostgreSQL, são coisas distintas. É ? e se eu criar um diretório e disser que o dono dele é o root ou o jota o PostgreSQL vai conseguir escrever/ler nele onde o usuario do banco de dados é postgres ? Tem certeza ? Em meu uso eu sempre crio diretórios para tablespaces ou qualquer coisa que o banco utilize e digo que o dono desse diretório é o mesmo usuario do banco. Sempre funciona. -- Marcelo Costa www.marcelocosta.net - “You can't always get what you want”, Doctor House in apology to Mike Jagger ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Coluna na tabela tipo imagem ou pdf
De: pgbr-geral-boun...@listas.postgresql.org.br [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de George M Tabatinga Enviada em: segunda-feira, 26 de abril de 2010 12:57 Para: Comunidade PostgreSQL Brasileira Assunto: [pgbr-geral] Coluna na tabela tipo imagem ou pdf Senhores, ,Qual a melhor forma de armazenar uma informação tipo imagem no formato pdf numa tabela Postgres? ,Grato, George -- George Machado Tabatinga, Analista de Sistemas - SETUR Olá George, No nosso caso armazenamos a imagem(bytea) numa tabela e referenciamos o código(integer) na tabela que utiliza a imagem(produtos,materiais,referencias, etc...). Criamos uma pasta cache nas estações, o aplicativo vai buscar do cache; se não encontrar a imagem ou ela tiver sido adulterada entao copia imagem do banco para o cache. Assim evitamos ao maximo o trafego na rede, que pra nós era o grande problema de manter imagens numa pasta e armazenar no banco apenas o caminho. Tomara q tenha ajudado em alguma coisa. Irineu Raymundo. Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Executar pg_dump a partir de um programa em VB.NET
Newton, sua duvida é sobre VB.Net, e não sobre postgresql, pelo que entendi. Voce terá que listar as tabelas que te interessam (procure por sql que consulta metadados), e via codigo, fazer o resto. Jean Domingues. From: Newton Teixeira do Nascimento Júnior Sent: Monday, April 26, 2010 3:04 PM To: pgbr-geral@listas.postgresql.org.br Subject: [pgbr-geral] Executar pg_dump a partir de um programa em VB.NET Olá comunidade, preciso fazer uma rotina de backup de uma base em Postgresql 8.2.4 através de um programa VB.NET. Todas as tabelas estão no formato bhXXX_h__MM_DD, onde XXX é o rótulo de um tipo de tabela e _MM_DD refere-se à data de criação da tabela. Eis exemplos: bheqp_h_2009_01_09, bhmul_h_2009_01_09 , bhpas_h_2009_01_09, bhpds_h_2009_01_09, etc. Fiz uma cópia de dados de uma tabela do servidor através do pgAdmin e obtive o seguinte comando: C:\Arquivos de programas\pgAdmin III\1.10\pg_dump.exe --host 10.98.0.83 --port 5432 --username sage --format plain --data-only --verbose --file C:\teste.sql --table \public\.\bheqp_h_2009_01_09\ bhcolsl_ems_sage Preciso fazer um programa, que o usuario entre com a data inicial e final e selecione o tipos de tabelas que serão copiadas; exemplo – mul, eqp, pas, pds, lia, etc e execute o comando acima de acordo com os parâmetros das datas e dos nomes das tabelas. O que preciso é executar o pg_dump.exe através de um programa que vou criar em VB.NET Para fazer o COPY, em um loop que vai da data inicial exemplo: bhpas_h_2009_01_01 a bhpas_h_2009_01_31. Alguém sabe, já fez dessa forma e/ou tem alguma outra alternativa? Esse programa tem que ser executado a partir de minha máquina cliente e o arquivo de gerado tem que ser armazenado na mesma máquina. Estou no aguardo online. Att. NEWTON TEIXEIRA DO N. JR. Aviso: O emitente desta mensagem é responsável por seu conteúdo e endereçamento. Cabe ao destinatário cuidar quanto ao tratamento adequado. Sem a devida autorização, a divulgação, a reprodução, a distribuição ou qualquer outra ação em desconformidade com as normas internas da ELETRONORTE S/A são proibidas e passíveis de sanção disciplinar, cível e criminal. Esta mensagem pode ser monitorada. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral