[pgsql-es-ayuda] Ejecutar una función que crea una vista con dblink
Buenas a todos: Comencé a ver cómo funciona dblink y para ello, a modo de prueba, cree una función que genera una vista de la base de datos a la cual me conecté con dblink. Desde la consola la función se genera correctamente! CREATE OR REPLACE FUNCTION dblink_db1_db2() RETURNS int4 AS $$ BEGIN SELECT dblink_connect('dbname=academicos user=postgres password=turnos'); CREATE OR REPLACE VIEW public.prueba AS SELECT alumnos.dni FROM dblink('SELECT dni FROM alumnos'::text) alumnos(dni numeric(10,0)); SELECT dblink_disconnect(); RETURN 1; END; $$ LANGUAGE plpgsql; pero cuando la quiero ejecutar SELECT dblink_db1_db2(); me da el siguiente error: Eror: select query has no destination for result data Hint: if you want to discard the results, use PERFORM instead. Context:Pl/pgSQl function "dblink_db1_db2" line 2 at SQL statement si pruebo con PERFORM dblink_db1_db2(); me dice: Error: syntax error at or near "perform" en el caracter 1 Espero que puedan ayudarme Desde ya les agradezco mucho Saludos, Laura [EMAIL PROTECTED] -- TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podrá leerlo
Re: [pgsql-es-ayuda] Ejecutar una funció n que crea una vista con dblink
Laura Martinelli escribió: > pero cuando la quiero ejecutar > > SELECT dblink_db1_db2(); > > me da el siguiente error: > > Eror: select query has no destination for result data > Hint: if you want to discard the results, use PERFORM instead. > Context:Pl/pgSQl function "dblink_db1_db2" line 2 at SQL statement > > si pruebo con PERFORM dblink_db1_db2(); Tienes que cambiar a PERFORM el dblink_connect(). -- Alvaro Herrerahttp://www.CommandPrompt.com/ The PostgreSQL Company - Command Prompt, Inc. -- TIP 1: para suscribirte y desuscribirte, visita http://archives.postgresql.org/pgsql-es-ayuda
[pgsql-es-ayuda] Re[2]: Ejecutar una función que crea una vista c on dblink
Con fecha Viernes, 11 de Julio de 2008, 11:34:12 a.m., escribió: AH> Laura Martinelli escribió: >> pero cuando la quiero ejecutar >> >> SELECT dblink_db1_db2(); >> >> me da el siguiente error: >> >> Eror: select query has no destination for result data >> Hint: if you want to discard the results, use PERFORM instead. >> Context:Pl/pgSQl function "dblink_db1_db2" line 2 at SQL statement >> >> si pruebo con PERFORM dblink_db1_db2(); AH> Tienes que cambiar a PERFORM el dblink_connect(). Alvaro vos decís que dentro de la función escriba: PERFORM dblink_connect('dbname=academicos user=postgres password=turnos'); lo hice y despues llamo a la función con select y con perform y me sigue dando los mismos errores que antes para ambos casos. Saludos, Laura Martinelli mailto:[EMAIL PROTECTED] -- TIP 6: ¿Has buscado en los archivos de nuestra lista de correo? http://archives.postgresql.org/pgsql-es-ayuda
Re: [pgsql-es-ayuda] Re[2 ]: Ejecutar una funció n que crea una vista con dblink
Laura Martinelli escribió: > > > Con fecha Viernes, 11 de Julio de 2008, 11:34:12 a.m., escribió: > > AH> Laura Martinelli escribió: > > >> pero cuando la quiero ejecutar > >> > >> SELECT dblink_db1_db2(); > >> > >> me da el siguiente error: > >> > >> Eror: select query has no destination for result data > >> Hint: if you want to discard the results, use PERFORM instead. > >> Context:Pl/pgSQl function "dblink_db1_db2" line 2 at SQL statement > >> > >> si pruebo con PERFORM dblink_db1_db2(); > > AH> Tienes que cambiar a PERFORM el dblink_connect(). > > Alvaro vos decís que dentro de la función escriba: > > PERFORM dblink_connect('dbname=academicos user=postgres password=turnos'); Si. > lo hice y despues llamo a la función con select y con perform y me > sigue dando los mismos errores que antes para ambos casos. PERFORM es una orden PL/pgSQL, no SQL. La diferencia es que el primero se usa dentro de las funciones en ese lenguaje, mientras que el segundo se usa externamente (por ejemplo cuando invocas una funcion en psql). Es importante estar consciente de la diferencia. Por ejemplo no tiene sentido intentar usar PERFORM para invocar tu nueva funcion. Te sugiero que hagas el cambio dentro de la funcion, luego invoques la funcion con SELECT, y muestres el nuevo mensaje de error (necesariamente debe ser distinto del error original). -- Alvaro Herrerahttp://www.CommandPrompt.com/ PostgreSQL Replication, Consulting, Custom Development, 24x7 support -- TIP 4: No hagas 'kill -9' a postmaster
[pgsql-es-ayuda] Re[2]: [pgsql-es-ayuda] Re[2]: Ejecutar una función que crea una vista con dblink
Con fecha Viernes, 11 de Julio de 2008, 11:54:51 a.m., escribió: AH> Laura Martinelli escribió: >> >> >> Con fecha Viernes, 11 de Julio de 2008, 11:34:12 a.m., escribió: >> >> AH> Laura Martinelli escribió: >> >> >> pero cuando la quiero ejecutar >> >> >> >> SELECT dblink_db1_db2(); >> >> >> >> me da el siguiente error: >> >> >> >> Eror: select query has no destination for result data >> >> Hint: if you want to discard the results, use PERFORM instead. >> >> Context:Pl/pgSQl function "dblink_db1_db2" line 2 at SQL statement >> >> >> >> si pruebo con PERFORM dblink_db1_db2(); >> >> AH> Tienes que cambiar a PERFORM el dblink_connect(). >> >> Alvaro vos decís que dentro de la función escriba: >> >> PERFORM dblink_connect('dbname=academicos user=postgres password=turnos'); AH> Si. >> lo hice y despues llamo a la función con select y con perform y me >> sigue dando los mismos errores que antes para ambos casos. AH> PERFORM es una orden PL/pgSQL, no SQL. La diferencia es que el primero AH> se usa dentro de las funciones en ese lenguaje, mientras que el segundo AH> se usa externamente (por ejemplo cuando invocas una funcion en psql). AH> Es importante estar consciente de la diferencia. Por ejemplo no tiene AH> sentido intentar usar PERFORM para invocar tu nueva funcion. AH> Te sugiero que hagas el cambio dentro de la funcion, luego invoques la AH> funcion con SELECT, y muestres el nuevo mensaje de error (necesariamente AH> debe ser distinto del error original). Modifiqué la función cambiando el SELECT dblink_connect() por PERFORM Y me dio el siguiente mensaje similar al anterior pero en la línea 6 y no en la 2 como antes: Eror: select query has no destination for result data Hint: if you want to discard the results, use PERFORM instead. Context: Pl/pgSQl function "dblink_db1_db2" line 6 at SQL statement (Todo esto lo estoy haciendo desde el psql) Saludos, Laura [EMAIL PROTECTED] -- TIP 9: visita nuestro canal de IRC #postgresql-es en irc.freenode.net
Re: [pgsql-es-ayuda] Re[2 ]: Ejecutar una funció n que crea una vista con dblink
Laura Martinelli escribió: > Modifiqué la función cambiando el SELECT dblink_connect() por PERFORM > > Y me dio el siguiente mensaje similar al anterior pero en la línea 6 y > no en la 2 como antes: > > Eror: select query has no destination for result data > Hint: if you want to discard the results, use PERFORM instead. > Context: Pl/pgSQl function "dblink_db1_db2" line 6 at SQL statement Ahora evidentemente debes cambiar el dblink_disconnect() a PERFORM tambien :-) Siempre que quieres invocar una funcion dentro de otra, y no te interesa el resultado, debes usar PERFORM en vez de SELECT. -- Alvaro Herrerahttp://www.CommandPrompt.com/ PostgreSQL Replication, Consulting, Custom Development, 24x7 support -- TIP 3: Si encontraste la respuesta a tu problema, publícala, otros te lo agradecerán
[pgsql-es-ayuda] QuarkXPress
Buenas: Quisiera saber una cosa. Hay una empresa que hace sus catálogos con Publisher (queda un poco pobre en cuanto a diseño) pero para poner todos los datos de los libros que hay que poner en ese catálogo, utilizan una base de datos que va introduciendo el nombre, ISBN, etc... en cada campo con una integración que por lo visto tiene el Publisher. Yo de bases de datos no tengo ni idea, la verdad, y me han comentado que las bases de datos que utilizan aquí son PostgreSQL, así que os pregunto a vosotros directamente. Yo utilizo QuarkXPress 7, y me gustaría saber si existe algún plug-in para Quark que introduzca automáticamente datos en las maquetaciones como lo hace el Publisher. Muchas gracias, cualqueir ayuda será bien recibida. Entiendo que posiblemente no sepáis algo, pero cualquier ayuda o pista que me ayude a encontrarlo se agradece. Muchas gracias de nuevo _ Tecnología, moda, motor, viajes,…suscríbete a nuestros boletines para estar siempre a la última Guapos y guapas, clips musicales y estrenos de cine.
Re: [pgsql-es-ayuda] Re[2]: Ejecutar una función que crea una vista con dblink
Fijate que hay dos SELECTS, el de la coneccion y el de la desconeccion. CREATE OR REPLACE FUNCTION dblink_db1_db2() RETURNS int4 AS $$ BEGIN PERFORM dblink_connect('dbname=academicos user=postgres password=turnos'); CREATE OR REPLACE VIEW public.prueba AS SELECT alumnos.dni FROM dblink('SELECT dni FROM alumnos'::text) alumnos(dni numeric(10,0)); PERFORM dblink_disconnect(); RETURN 1; END; $$ LANGUAGE plpgsql; El día 11 de julio de 2008 11:54, Alvaro Herrera <[EMAIL PROTECTED]> escribió: > Laura Martinelli escribió: >> >> >> Con fecha Viernes, 11 de Julio de 2008, 11:34:12 a.m., escribió: >> >> AH> Laura Martinelli escribió: >> >> >> pero cuando la quiero ejecutar >> >> >> >> SELECT dblink_db1_db2(); >> >> >> >> me da el siguiente error: >> >> >> >> Eror: select query has no destination for result data >> >> Hint: if you want to discard the results, use PERFORM instead. >> >> Context:Pl/pgSQl function "dblink_db1_db2" line 2 at SQL statement >> >> >> >> si pruebo con PERFORM dblink_db1_db2(); >> >> AH> Tienes que cambiar a PERFORM el dblink_connect(). >> >> Alvaro vos decís que dentro de la función escriba: >> >> PERFORM dblink_connect('dbname=academicos user=postgres password=turnos'); > > Si. > >> lo hice y despues llamo a la función con select y con perform y me >> sigue dando los mismos errores que antes para ambos casos. > > PERFORM es una orden PL/pgSQL, no SQL. La diferencia es que el primero > se usa dentro de las funciones en ese lenguaje, mientras que el segundo > se usa externamente (por ejemplo cuando invocas una funcion en psql). > Es importante estar consciente de la diferencia. Por ejemplo no tiene > sentido intentar usar PERFORM para invocar tu nueva funcion. > > Te sugiero que hagas el cambio dentro de la funcion, luego invoques la > funcion con SELECT, y muestres el nuevo mensaje de error (necesariamente > debe ser distinto del error original). > > -- > Alvaro Herrerahttp://www.CommandPrompt.com/ > PostgreSQL Replication, Consulting, Custom Development, 24x7 support > -- > TIP 4: No hagas 'kill -9' a postmaster > -- Informático: Persona falta de recursos que, partiendo de premisas falsas y de especificaciones inconsistentes e incompletas, dirigido por incompetentes y utilizando herramientas que no funcionan es capaz de iniciar un proyecto de dudoso éxito realizando una obra de arte que ,por supuesto, es cara y no tiene otro fin que dar prestigio a la empresa que ha contratado sus servicios. http://islamanzana.es/desarrollo-de-software/definicion-de-informatico -- TIP 8: explain analyze es tu amigo
[pgsql-es-ayuda] Re[2]: [pgsql-es-ayuda] Re[2]: Ejecutar una función que crea una vista con dblink
Con fecha Viernes, 11 de Julio de 2008, 12:48:31 p.m., escribió: AH> Laura Martinelli escribió: >> Modifiqué la función cambiando el SELECT dblink_connect() por PERFORM >> >> Y me dio el siguiente mensaje similar al anterior pero en la línea 6 y >> no en la 2 como antes: >> >> Eror: select query has no destination for result data >> Hint: if you want to discard the results, use PERFORM instead. >> Context: Pl/pgSQl function "dblink_db1_db2" line 6 at SQL statement AH> Ahora evidentemente debes cambiar el dblink_disconnect() a PERFORM AH> tambien :-) AH> Siempre que quieres invocar una funcion dentro de otra, y no te AH> interesa el resultado, debes usar PERFORM en vez de SELECT. Muchas gracias ahora sí me crea la vista! Saludos Saludos, Laura [EMAIL PROTECTED] -- TIP 8: explain analyze es tu amigo
[pgsql-es-ayuda] pg_dump y pg_restore
Tenga el Mejor de los dias Podria alguien explicarme por que cuando hago 'pg_dump' a una base que esta en produccion y luego la restauro (con 'pg_restore') en otro host que es para pruebas, los procedimientos corren mas rapido que en produccion. Saludos -- Oscar Argueta Transtel, S.A. 2386-1231/39
Re: [pgsql-es-ayuda] pg_dump y pg_restore
No se si me equivoco, pero siento que lo que dices es muy logico, tu servidor de pruebas no tiene la carga de proceso que tiene el de produccion, puede ser ese un detalle, o tienes las configuraciones del postgres.conf diferentes El día 11 de julio de 2008 9:16, Oscar Argueta < [EMAIL PROTECTED]> escribió: > Tenga el Mejor de los dias > > Podria alguien explicarme por que cuando hago 'pg_dump' a una base que esta > en produccion y luego la restauro (con 'pg_restore') en otro host que es > para pruebas, los procedimientos corren mas rapido que en produccion. > > Saludos > -- > > *Oscar Argueta**Transtel, S.A.**2386-1231/39* > > -- --- MVJR
[pgsql-es-ayuda] OT - QuarkXPress
No se si trae un ODBC o algo parecido. Si no, fijate si te va esto: http://www.xclusive.com.au/products/details.asp?item=22000829 Y si no, fijate si no hay un foro de Quark. El día 11 de julio de 2008 12:49, Lorenzo Villarreal <[EMAIL PROTECTED]> escribió: > Buenas: > > Quisiera saber una cosa. Hay una empresa que hace sus catálogos con > Publisher (queda un poco pobre en cuanto a diseño) pero para poner todos los > datos de los libros que hay que poner en ese catálogo, utilizan una base de > datos que va introduciendo el nombre, ISBN, etc... en cada campo con una > integración que por lo visto tiene el Publisher. Yo de bases de datos no > tengo ni idea, la verdad, y me han comentado que las bases de datos que > utilizan aquí son PostgreSQL, así que os pregunto a vosotros directamente. > Yo utilizo QuarkXPress 7, y me gustaría saber si existe algún plug-in para > Quark que introduzca automáticamente datos en las maquetaciones como lo hace > el Publisher. Muchas gracias, cualqueir ayuda será bien recibida. Entiendo > que posiblemente no sepáis algo, pero cualquier ayuda o pista que me ayude a > encontrarlo se agradece. Muchas gracias de nuevo > > > Sigue de cerca las últimas tendencias y lo que más rompe MSN Vídeo -- Informático: Persona falta de recursos que, partiendo de premisas falsas y de especificaciones inconsistentes e incompletas, dirigido por incompetentes y utilizando herramientas que no funcionan es capaz de iniciar un proyecto de dudoso éxito realizando una obra de arte que ,por supuesto, es cara y no tiene otro fin que dar prestigio a la empresa que ha contratado sus servicios. http://islamanzana.es/desarrollo-de-software/definicion-de-informatico -- TIP 7: no olvides aumentar la configuración del "free space map"
Re: [pgsql-es-ayuda] pg_dump y pg_restore
Marco Vinicio Jimenez Rojas escribió: > No se si me equivoco, pero siento que lo que dices es muy logico, tu > servidor de pruebas no tiene la carga de proceso que tiene el de produccion, > puede ser ese un detalle, o tienes las configuraciones del postgres.conf > diferentes Lo otro que puede ser es que no se haya hecho vacuum en el servidor de produccion. -- Alvaro Herrerahttp://www.CommandPrompt.com/ PostgreSQL Replication, Consulting, Custom Development, 24x7 support -- TIP 5: ¿Has leído nuestro extenso FAQ? http://www.postgresql.org/docs/faqs.FAQ.html
Re: [pgsql-es-ayuda] pg_dump y pg_restore
Solo vacuum Alvaro? Puede haber algo relacionado al orden en que ingresan los datos en la base? indices creados desde cero? Digo porque no tengo muy claro cómo trabaja el pg_dump. No hay un "saneamiento" al ingresar todos los datos en una base nueva? 2008/7/11 Alvaro Herrera <[EMAIL PROTECTED]>: > Marco Vinicio Jimenez Rojas escribió: >> No se si me equivoco, pero siento que lo que dices es muy logico, tu >> servidor de pruebas no tiene la carga de proceso que tiene el de produccion, >> puede ser ese un detalle, o tienes las configuraciones del postgres.conf >> diferentes > > Lo otro que puede ser es que no se haya hecho vacuum en el servidor de > produccion. > > -- > Alvaro Herrerahttp://www.CommandPrompt.com/ > PostgreSQL Replication, Consulting, Custom Development, 24x7 support > -- > TIP 5: ¿Has leído nuestro extenso FAQ? > http://www.postgresql.org/docs/faqs.FAQ.html > -- Informático: Persona falta de recursos que, partiendo de premisas falsas y de especificaciones inconsistentes e incompletas, dirigido por incompetentes y utilizando herramientas que no funcionan es capaz de iniciar un proyecto de dudoso éxito realizando una obra de arte que ,por supuesto, es cara y no tiene otro fin que dar prestigio a la empresa que ha contratado sus servicios. http://islamanzana.es/desarrollo-de-software/definicion-de-informatico -- TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podrá leerlo
Re: [pgsql-es-ayuda] pg_dump y pg_restore
Lo que sucede es que, la carga de procesos en produccion es la misma que en desarrollo ya que los procesos son de noche, por lo cual no tiene mas carga que la que se este corriendo por obligacion en la noche, es decir que el host de produccion solo atenderia a los procedimientos nocturnos. En cuanto a la configuracion unicamente modifique 'maintenance_work_mem' que segun lo que he leido aumenta el rendimiento cuando se realiza un restore, pero no es significativo, por ejemplo una base que demora 10min en restaurarce ahora es 8min Saludos Marco Vinicio Jimenez Rojas wrote: No se si me equivoco, pero siento que lo que dices es muy logico, tu servidor de pruebas no tiene la carga de proceso que tiene el de produccion, puede ser ese un detalle, o tienes las configuraciones del postgres.conf diferentes El día 11 de julio de 2008 9:16, Oscar Argueta <[EMAIL PROTECTED]> escribió: Tenga el Mejor de los dias Podria alguien explicarme por que cuando hago 'pg_dump' a una base que esta en produccion y luego la restauro (con 'pg_restore') en otro host que es para pruebas, los procedimientos corren mas rapido que en produccion. Saludos -- Oscar Argueta Transtel, S.A. 2386-1231/39 -- --- MVJR -- Oscar Argueta Transtel, S.A. 2386-1231/39
Re: [pgsql-es-ayuda] pg_dump y pg_restore
Jose Luis Balle escribió: > Solo vacuum Alvaro? > Puede haber algo relacionado al orden en que ingresan los datos en la > base? indices creados desde cero? > Digo porque no tengo muy claro cómo trabaja el pg_dump. No hay un > "saneamiento" al ingresar todos los datos en una base nueva? Podría haber problema en los índices también, claro, pero la falta de vacuum sería lo más severo. (Además que vacuum mantiene limpios a los índices también, dentro de lo razonable) -- Alvaro Herrerahttp://www.CommandPrompt.com/ The PostgreSQL Company - Command Prompt, Inc. -- TIP 8: explain analyze es tu amigo
Re: [pgsql-es-ayuda] pg_dump y pg_restore
Oscar Argueta wrote: > > > > > > > > Te comento, que por lo inexperto para realizar manteinimiento a bases > de datos, en una ocasion corrimos VACUUM a una DB en produccion y > provoco desintegracion en los datos, por eso ahora realizo > rudimentariamente en la noche cada 3 meses un DUMP -> DROP -> > CREATE -> RESTORE. Eso lo explica todo. Vacuum no es opcional. Lee esto http://www.postgresql.org/docs/8.3/static/maintenance.html Por favor no escribas en HTML, y asegurate de tener siempre a la lista en CC:. -- Alvaro Herrera http://www.amazon.com/gp/registry/5ZYLFMCVHXC "The important things in the world are problems with society that we don't understand at all. The machines will become more complicated but they won't be more complicated than the societies that run them."(Freeman Dyson) -- TIP 4: No hagas 'kill -9' a postmaster
[pgsql-es-ayuda] ERROR EN COMPILACION FUNCTION
Muy buenos dias muchachos, estoy empezando con la creacion de funciones y tengo este error y no se por que es? Si me pueden dar una mano para mejorarlo les agradecere mucho === psql 1 === psql:129: ERROR: syntax error at end of input LINEA 1: SELECT CREATE FUNCTION ANULAR_APUESTA(IDTRANSACCION INTEGER, COLILLA VARCHAR, ACEPTACION_AEL VARCHAR, IDUSUARIO_REG VARCHAR) RETURNS INTEGER AS $$ DECLARE USUARIO "TSO"."USUARIO"%ROWTYPE; CUENTAUSUARIO "TSO"."CUENTA"%ROWTYPE; DISTRIBUIDOR "TSO"."CLIENTE"%ROWTYPE; CUENTADISTRIBUIDOR "TSO"."CUENTA"%ROWTYPE; PUNTODEVENTA "TSO"."CLIENTE"%ROWTYPE; TRANSACCION "TSO"."TRANSACCION"%ROWTYPE; SALDOFINAL NUMERIC(10,2); SALDOCOMISION NUMERIC(10,2); COMISIONPRODUCTODIS "TSO"."COMISION"%ROWTYPE; COMISIONPRODUCTOPDV "TSO"."COMISION"%ROWTYPE; COMISION NUMERIC(10,2); VALORCOMISION NUMERIC(10,2); IDTRANSACCION_ANULACION INTEGER; IDNOVEDAD INTEGER; BEGIN -- CONSULTAR TRANSACCION SELECT * INTO TRANSACCION FROM "TSO"."TRANSACCION" WHERE "TRAN_ID"=IDTRANSACCION; IF NOT FOUND THEN RAISE EXCEPTION 'NO EXISTE TRANSACCION %',IDTRANSACCION; RETURN; END IF; -- BUSCAR USUARIO DE TRANSACCION SELECT * INTO USUARIO FROM "TSO"."USUARIO" WHERE "USUA_ID"=TRANSACCION."USUA_ID"; IF NOT FOUND THEN RAISE EXCEPTION 'NO EXISTE USUARIO DE TRANSACCION %',IDTRANSACCION; RETURN; END IF; SELECT * INTO CUENTAUSUARIO FROM "TSO"."CUENTA" WHERE USUARIO."CUEN_ID"; IF NOT FOUND THEN RAISE EXCEPTION 'NO EXISTE CUENTA PARA USUARIO %',USUARIO."USUA_ID"; RETURN; END IF; SELECT * INTO PUNTODEVENTA FROM "TSO"."CLIENTE" WHERE "CLIE_ID"=USUARIO."CLIE_ID"; IF NOT FOUND THEN RAISE EXCEPTION 'NO EXISTE PUNTO DE VENTA PARA USUARIO %',USUARIO."USUA_ID"; RETURN; END IF; SELECT * INTO DISTRIBUIDOR FROM "TSO"."CLIENTE" WHERE "CLIE_ID"=PUNTODEVENTA."CLIE_PADRE"; IF NOT FOUND THEN RAISE EXCEPTION 'NO EXISTE DISTRIBUIDOR PARA PUNTO DE VENTA %',PUNTODEVENTA."CLIE_ID"; RETURN; END IF; SELECT * INTO CUENTADISTRIBUIDOR FROM "TSO"."CUENTA" WHERE "CUEN_ID"=DISTRIBUIDOR."CUEN_ID"; IF NOT FOUND THEN RAISE EXCEPTION 'NO EXISTE CUENTA PARA DISTRIBUIDOR %',DISTRIBUIDOR."CLIE_ID"; RETURN; END IF; -- INSERTAR MOVIMIENTO DE REVERSO DE VENTA SALDOFINAL := CUENTAUSUARIO."CUEN_SALDO"+TRANSACCION."TRAN_VALOR"; INSERT INTO "TSO"."MOVIMIENTOSCUENTA" ( "CUEN_ID","TRAN_ID","TIMC_ID","MOCU_FECHAMOVIMIENTO", "MOCU_SOBREGIROACTUAL", "MOCU_SALDOACTUAL", "MOCU_SOBREGIRO","MOCU_SALDO", "MOCU_REGISTRADOPOR", "MOCU_VALOR") VALUES( CUENTAUSUARIO."CUEN_ID",IDTRANSACCION,13,now(), 0,SALDOFINAL, CUENTAUSUARIO."CUEN_SOBREGIRO",CUENTAUSUARIO."CUEN_SALDO",IDUSUARIO_REG,TRANSACCION."TRAN_VALOR"); -- ACTUALIZAR EL SALDO DEL USUARIO UPDATE "TSO"."CUENTA" SET "CUEN_SALDO"="CUEN_SALDO"+TRANSACCION."TRAN_VALOR" WHERE "CUEN_ID"=CUENTAUSUARIO."CUEN_ID"; -- BUSCAR COMISION LINEAL PDV SELECT * INTO COMISIONPRODUCTOPDV FROM "TSO"."COMISION" WHERE "USUA_ID"=USUARIO."USUA_ID" AND "PROD_ID"=TRANSACCION."PROD_ID" AND "TICO_ID"=2; IF NOT FOUND THEN COMISION := 0; ELSE COMISION := COMISIONPRODUCTOPDV."COMI_VALOR"; END IF; VALORCOMISION := TRANSACCION."TRAN_VALOR"*(COMISION/100); SALDOCOMISION := SALDOFINAL; SALDOFINAL := SALDOFINAL-VALORCOMISION; -- INSERTAR MOVIMIENTO DE REVERSO DE COMISION INSERT INTO "TSO"."MOVIMIENTOSCUENTA" ( "CUEN_ID","TRAN_ID","TIMC_ID","MOCU_FECHAMOVIMIENTO", "MOCU_SOBREGIROACTUAL", "MOCU_SALDOACTUAL", "MOCU_SOBREGIRO","MOCU_SALDO", "MOCU_REGISTRADOPOR", "MOCU_VALOR") VALUES( CUENTAUSUARIO."CUEN_ID",IDTRANSACCION,14,now(), 0,SALDOFINAL, CUENTAUSUARIO."CUEN_SOBREGIRO",SALDOCOMISION,IDUSUARIO_REG,VALORCOMISION); -- ACTUALIZAR EL SALDO DEL USUARIO UPDATE "TSO"."CUENTA" SET "CUEN_SALDO"="CUEN_SALDO"-VALORCOMISION WHERE "CUEN_ID"=CUENTAUSUARIO."CUEN_ID"; -- BUSCAR COMISION LINEAL DIS SELECT * INTO COMISIONPRODUCTODIS FROM "TSO"."COMISION" WHERE "CLIE_ID"=DISTRIBUIDOR."CLIE_ID" AND "PROD_ID"=TRANSACCION."PROD_ID" AND "TICO_ID"=3; IF NOT FOUND THEN COMISION := 0; ELSE COMISION := COMISIONPRODUCTODIS."COMI_VALOR"; END IF; VALORCOMISION := TRANSACCION."TRAN_VALOR"*(COMISION/100); SALDOFINAL := CUENTADISTRIBUIDOR."CUEN_SALDO"-VALORCOMISION; -- INSERTAR REVERSO COMISION DE DISTRIBUIDOR INSERT INTO "TSO"."MOVIMIENTOSCUENTA" ( "CUEN_ID","TRAN_ID","TIMC_ID","MOCU_FECHAMOVIMIENTO", "MOCU_SOBREGIROACTUAL", "MOCU_SALDOACTUAL", "MOCU_SOBREGIRO","MOCU_SALDO", "MOCU_REGISTRADOPOR", "MOCU_VALOR") VALUES( CUENTADISTRIBUIDOR."CUEN_ID",IDTRANSACCION,15,now(), 0,SALDOFINAL, CUENTADISTRIBUIDOR."CUEN_SOBREGIRO",CUENTADISTRIBUIDOR."CUEN_SALDO",IDUSUA
Re: [pgsql-es-ayuda] pg_dump y pg_restore
Te falto mandar el correo a la lista Un manual que encontre ahorita en español donde dan un poco de ejemplo 2001.encuentrolinux.cl/documentacion/PostgreSQL.pdf.gz para mas busca en el historial de la lista http://www.google.com.mx/search?q=explain+site%3Aarchives.postgresql.org%2Fpgsql-es-ayuda&ie=utf-8&oe=utf-8&aq=t&rls=com.frontmotion:es-AR:unofficial&client=firefox-a El día 11 de julio de 2008 12:07, Oscar Argueta <[EMAIL PROTECTED]> escribió: > Gracias Miguel, fijate que por la poca experiencia del mantenimiento a base > de datos,, lo que he estado realizando rudimentariamente, es que en la noche > cuando el servicio no estan exigible, hago dump a la base , luego drop y de > ultimo createdb, restore para que los procesos corran tal y como en el host > de pruebas. Con anterioridad habia realizado un VACUUM pero lo que provoco > fue que se me desintegraran los datos, la razon la desconozco, ahora mi > pregunta es el EXPLAIN/ANALYZE que servicio realiza o que tipo de > mantenimiento realiza. > > Att. > > Miguel Beltran R. wrote: > > usa un explain (o es explain analyze?) para ver como se ejecuta casa > consulta > > El día 11 de julio de 2008 10:16, Oscar Argueta > <[EMAIL PROTECTED]> escribió: > > > Tenga el Mejor de los dias > > Podria alguien explicarme por que cuando hago 'pg_dump' a una base que esta > en produccion y luego la restauro (con 'pg_restore') en otro host que es > para pruebas, los procedimientos corren mas rapido que en produccion. > > Saludos > -- > > Oscar Argueta > Transtel, S.A. > 2386-1231/39 > > > > > -- > > Oscar Argueta > Transtel, S.A. > 2386-1231/39 -- Lo bueno de vivir un dia mas es saber que nos queda un dia menos de vida -- TIP 3: Si encontraste la respuesta a tu problema, publícala, otros te lo agradecerán
Re: [pgsql-es-ayuda] pg_dump y pg_restore
Oscar Argueta wrote: > > > > > > > > Ahora para los tiempos de restauracion de las bases, el VACUUM tambien > ayuda a que sea mas optimo? No -- Alvaro Herrera http://www.flickr.com/photos/alvherre/ "[PostgreSQL] is a great group; in my opinion it is THE best open source development communities in existence anywhere."(Lamar Owen) -- TIP 2: puedes desuscribirte de todas las listas simultáneamente (envía "unregister TuDirecciónDeCorreo" a [EMAIL PROTECTED])
Re: [pgsql-es-ayuda] ERROR EN COMPILACION FUNCTION
Muy buenas tardes muchachos ya logre compilar la FUNCTIOn y crearla pero no se como la puede ejecutar, alguno de uds me puede ayudar??? 2008/7/11 Fabio Arias <[EMAIL PROTECTED]>: > Muy buenos dias muchachos, estoy empezando con la creacion de funciones y > tengo este error y no se por que es? > > Si me pueden dar una mano para mejorarlo les agradecere mucho > > === psql 1 === > psql:129: ERROR: syntax error at end of input > LINEA 1: SELECT > > > CREATE FUNCTION ANULAR_APUESTA(IDTRANSACCION INTEGER, COLILLA VARCHAR, > ACEPTACION_AEL VARCHAR, IDUSUARIO_REG VARCHAR) RETURNS INTEGER AS $$ > DECLARE > USUARIO "TSO"."USUARIO"%ROWTYPE; > CUENTAUSUARIO "TSO"."CUENTA"%ROWTYPE; > DISTRIBUIDOR "TSO"."CLIENTE"%ROWTYPE; > CUENTADISTRIBUIDOR "TSO"."CUENTA"%ROWTYPE; > PUNTODEVENTA "TSO"."CLIENTE"%ROWTYPE; > TRANSACCION "TSO"."TRANSACCION"%ROWTYPE; > SALDOFINAL NUMERIC(10,2); > SALDOCOMISION NUMERIC(10,2); > COMISIONPRODUCTODIS "TSO"."COMISION"%ROWTYPE; > COMISIONPRODUCTOPDV "TSO"."COMISION"%ROWTYPE; > COMISION NUMERIC(10,2); > VALORCOMISION NUMERIC(10,2); > IDTRANSACCION_ANULACION INTEGER; > IDNOVEDAD INTEGER; > BEGIN > -- CONSULTAR TRANSACCION > SELECT * INTO TRANSACCION FROM "TSO"."TRANSACCION" WHERE > "TRAN_ID"=IDTRANSACCION; > IF NOT FOUND THEN > RAISE EXCEPTION 'NO EXISTE TRANSACCION %',IDTRANSACCION; > RETURN; > END IF; > -- BUSCAR USUARIO DE TRANSACCION > SELECT * INTO USUARIO FROM "TSO"."USUARIO" WHERE > "USUA_ID"=TRANSACCION."USUA_ID"; > IF NOT FOUND THEN > RAISE EXCEPTION 'NO EXISTE USUARIO DE TRANSACCION %',IDTRANSACCION; > RETURN; > END IF; > SELECT * INTO CUENTAUSUARIO FROM "TSO"."CUENTA" WHERE > USUARIO."CUEN_ID"; > IF NOT FOUND THEN > RAISE EXCEPTION 'NO EXISTE CUENTA PARA USUARIO > %',USUARIO."USUA_ID"; > RETURN; > END IF; > SELECT * INTO PUNTODEVENTA FROM "TSO"."CLIENTE" WHERE > "CLIE_ID"=USUARIO."CLIE_ID"; > IF NOT FOUND THEN > RAISE EXCEPTION 'NO EXISTE PUNTO DE VENTA PARA USUARIO > %',USUARIO."USUA_ID"; > RETURN; > END IF; > SELECT * INTO DISTRIBUIDOR FROM "TSO"."CLIENTE" WHERE > "CLIE_ID"=PUNTODEVENTA."CLIE_PADRE"; > IF NOT FOUND THEN > RAISE EXCEPTION 'NO EXISTE DISTRIBUIDOR PARA PUNTO DE VENTA > %',PUNTODEVENTA."CLIE_ID"; > RETURN; > END IF; > SELECT * INTO CUENTADISTRIBUIDOR FROM "TSO"."CUENTA" WHERE > "CUEN_ID"=DISTRIBUIDOR."CUEN_ID"; > IF NOT FOUND THEN > RAISE EXCEPTION 'NO EXISTE CUENTA PARA DISTRIBUIDOR > %',DISTRIBUIDOR."CLIE_ID"; > RETURN; > END IF; > > -- INSERTAR MOVIMIENTO DE REVERSO DE VENTA > SALDOFINAL := CUENTAUSUARIO."CUEN_SALDO"+TRANSACCION."TRAN_VALOR"; > > INSERT INTO "TSO"."MOVIMIENTOSCUENTA" ( > "CUEN_ID","TRAN_ID","TIMC_ID","MOCU_FECHAMOVIMIENTO", > "MOCU_SOBREGIROACTUAL", "MOCU_SALDOACTUAL", > "MOCU_SOBREGIRO","MOCU_SALDO", "MOCU_REGISTRADOPOR", "MOCU_VALOR") > VALUES( > CUENTAUSUARIO."CUEN_ID",IDTRANSACCION,13,now(), > 0,SALDOFINAL, > > CUENTAUSUARIO."CUEN_SOBREGIRO",CUENTAUSUARIO."CUEN_SALDO",IDUSUARIO_REG,TRANSACCION."TRAN_VALOR"); > > -- ACTUALIZAR EL SALDO DEL USUARIO > UPDATE "TSO"."CUENTA" SET > "CUEN_SALDO"="CUEN_SALDO"+TRANSACCION."TRAN_VALOR" > WHERE "CUEN_ID"=CUENTAUSUARIO."CUEN_ID"; > > -- BUSCAR COMISION LINEAL PDV > SELECT * INTO COMISIONPRODUCTOPDV FROM "TSO"."COMISION" WHERE > "USUA_ID"=USUARIO."USUA_ID" AND "PROD_ID"=TRANSACCION."PROD_ID" > AND "TICO_ID"=2; > IF NOT FOUND THEN > COMISION := 0; > ELSE > COMISION := COMISIONPRODUCTOPDV."COMI_VALOR"; > END IF; > VALORCOMISION := TRANSACCION."TRAN_VALOR"*(COMISION/100); > SALDOCOMISION := SALDOFINAL; > SALDOFINAL := SALDOFINAL-VALORCOMISION; > -- INSERTAR MOVIMIENTO DE REVERSO DE COMISION > INSERT INTO "TSO"."MOVIMIENTOSCUENTA" ( > "CUEN_ID","TRAN_ID","TIMC_ID","MOCU_FECHAMOVIMIENTO", > "MOCU_SOBREGIROACTUAL", "MOCU_SALDOACTUAL", > "MOCU_SOBREGIRO","MOCU_SALDO", "MOCU_REGISTRADOPOR", "MOCU_VALOR") > VALUES( > CUENTAUSUARIO."CUEN_ID",IDTRANSACCION,14,now(), > 0,SALDOFINAL, > > CUENTAUSUARIO."CUEN_SOBREGIRO",SALDOCOMISION,IDUSUARIO_REG,VALORCOMISION); > -- ACTUALIZAR EL SALDO DEL USUARIO > UPDATE "TSO"."CUENTA" SET "CUEN_SALDO"="CUEN_SALDO"-VALORCOMISION > WHERE "CUEN_ID"=CUENTAUSUARIO."CUEN_ID"; > > -- BUSCAR COMISION LINEAL DIS > SELECT * INTO COMISIONPRODUCTODIS FROM "TSO"."COMISION" WHERE > "CLIE_ID"=DISTRIBUIDOR."CLIE_ID" AND "PROD_ID"=TRANSACCION."PROD_ID" > AND "TICO_ID"=3; > IF NOT FOUND THEN > COMISION := 0; > ELSE > COMISION := COMISIONPRODUCTODIS."COMI_VALOR"; > END IF; > VALORCOMISION := TRANSACCION."TRAN_VALOR"*(COMISION/100); > SALDOFINAL := CUENTADISTRIBUIDOR."CUEN_SALDO"-VALORCOMISION; > -- I
Re: [pgsql-es-ayuda] ERROR EN COMPILACION FUNCTION
Tambien como hago para ejecutarla desde PHP gracias! :D El día 11 de julio de 2008 15:49, Fabio Arias <[EMAIL PROTECTED]> escribió: > Muy buenas tardes muchachos ya logre compilar la FUNCTIOn y crearla pero no > se como la puede ejecutar, alguno de uds me puede ayudar??? > > 2008/7/11 Fabio Arias <[EMAIL PROTECTED]>: > > Muy buenos dias muchachos, estoy empezando con la creacion de funciones y >> tengo este error y no se por que es? >> >> Si me pueden dar una mano para mejorarlo les agradecere mucho >> >> === psql 1 === >> psql:129: ERROR: syntax error at end of input >> LINEA 1: SELECT >> >> >> CREATE FUNCTION ANULAR_APUESTA(IDTRANSACCION INTEGER, COLILLA VARCHAR, >> ACEPTACION_AEL VARCHAR, IDUSUARIO_REG VARCHAR) RETURNS INTEGER AS $$ >> DECLARE >> USUARIO "TSO"."USUARIO"%ROWTYPE; >> CUENTAUSUARIO "TSO"."CUENTA"%ROWTYPE; >> DISTRIBUIDOR "TSO"."CLIENTE"%ROWTYPE; >> CUENTADISTRIBUIDOR "TSO"."CUENTA"%ROWTYPE; >> PUNTODEVENTA "TSO"."CLIENTE"%ROWTYPE; >> TRANSACCION "TSO"."TRANSACCION"%ROWTYPE; >> SALDOFINAL NUMERIC(10,2); >> SALDOCOMISION NUMERIC(10,2); >> COMISIONPRODUCTODIS "TSO"."COMISION"%ROWTYPE; >> COMISIONPRODUCTOPDV "TSO"."COMISION"%ROWTYPE; >> COMISION NUMERIC(10,2); >> VALORCOMISION NUMERIC(10,2); >> IDTRANSACCION_ANULACION INTEGER; >> IDNOVEDAD INTEGER; >> BEGIN >> -- CONSULTAR TRANSACCION >> SELECT * INTO TRANSACCION FROM "TSO"."TRANSACCION" WHERE >> "TRAN_ID"=IDTRANSACCION; >> IF NOT FOUND THEN >> RAISE EXCEPTION 'NO EXISTE TRANSACCION %',IDTRANSACCION; >> RETURN; >> END IF; >> -- BUSCAR USUARIO DE TRANSACCION >> SELECT * INTO USUARIO FROM "TSO"."USUARIO" WHERE >> "USUA_ID"=TRANSACCION."USUA_ID"; >> IF NOT FOUND THEN >> RAISE EXCEPTION 'NO EXISTE USUARIO DE TRANSACCION >> %',IDTRANSACCION; >> RETURN; >> END IF; >> SELECT * INTO CUENTAUSUARIO FROM "TSO"."CUENTA" WHERE >> USUARIO."CUEN_ID"; >> IF NOT FOUND THEN >> RAISE EXCEPTION 'NO EXISTE CUENTA PARA USUARIO >> %',USUARIO."USUA_ID"; >> RETURN; >> END IF; >> SELECT * INTO PUNTODEVENTA FROM "TSO"."CLIENTE" WHERE >> "CLIE_ID"=USUARIO."CLIE_ID"; >> IF NOT FOUND THEN >> RAISE EXCEPTION 'NO EXISTE PUNTO DE VENTA PARA USUARIO >> %',USUARIO."USUA_ID"; >> RETURN; >> END IF; >> SELECT * INTO DISTRIBUIDOR FROM "TSO"."CLIENTE" WHERE >> "CLIE_ID"=PUNTODEVENTA."CLIE_PADRE"; >> IF NOT FOUND THEN >> RAISE EXCEPTION 'NO EXISTE DISTRIBUIDOR PARA PUNTO DE VENTA >> %',PUNTODEVENTA."CLIE_ID"; >> RETURN; >> END IF; >> SELECT * INTO CUENTADISTRIBUIDOR FROM "TSO"."CUENTA" WHERE >> "CUEN_ID"=DISTRIBUIDOR."CUEN_ID"; >> IF NOT FOUND THEN >> RAISE EXCEPTION 'NO EXISTE CUENTA PARA DISTRIBUIDOR >> %',DISTRIBUIDOR."CLIE_ID"; >> RETURN; >> END IF; >> >> -- INSERTAR MOVIMIENTO DE REVERSO DE VENTA >> SALDOFINAL := CUENTAUSUARIO."CUEN_SALDO"+TRANSACCION."TRAN_VALOR"; >> >> INSERT INTO "TSO"."MOVIMIENTOSCUENTA" ( >> "CUEN_ID","TRAN_ID","TIMC_ID","MOCU_FECHAMOVIMIENTO", >> "MOCU_SOBREGIROACTUAL", "MOCU_SALDOACTUAL", >> "MOCU_SOBREGIRO","MOCU_SALDO", "MOCU_REGISTRADOPOR", "MOCU_VALOR") >> VALUES( >> CUENTAUSUARIO."CUEN_ID",IDTRANSACCION,13,now(), >> 0,SALDOFINAL, >> >> CUENTAUSUARIO."CUEN_SOBREGIRO",CUENTAUSUARIO."CUEN_SALDO",IDUSUARIO_REG,TRANSACCION."TRAN_VALOR"); >> >> -- ACTUALIZAR EL SALDO DEL USUARIO >> UPDATE "TSO"."CUENTA" SET >> "CUEN_SALDO"="CUEN_SALDO"+TRANSACCION."TRAN_VALOR" >> WHERE "CUEN_ID"=CUENTAUSUARIO."CUEN_ID"; >> >> -- BUSCAR COMISION LINEAL PDV >> SELECT * INTO COMISIONPRODUCTOPDV FROM "TSO"."COMISION" WHERE >> "USUA_ID"=USUARIO."USUA_ID" AND "PROD_ID"=TRANSACCION."PROD_ID" >> AND "TICO_ID"=2; >> IF NOT FOUND THEN >> COMISION := 0; >> ELSE >> COMISION := COMISIONPRODUCTOPDV."COMI_VALOR"; >> END IF; >> VALORCOMISION := TRANSACCION."TRAN_VALOR"*(COMISION/100); >> SALDOCOMISION := SALDOFINAL; >> SALDOFINAL := SALDOFINAL-VALORCOMISION; >> -- INSERTAR MOVIMIENTO DE REVERSO DE COMISION >> INSERT INTO "TSO"."MOVIMIENTOSCUENTA" ( >> "CUEN_ID","TRAN_ID","TIMC_ID","MOCU_FECHAMOVIMIENTO", >> "MOCU_SOBREGIROACTUAL", "MOCU_SALDOACTUAL", >> "MOCU_SOBREGIRO","MOCU_SALDO", "MOCU_REGISTRADOPOR", "MOCU_VALOR") >> VALUES( >> CUENTAUSUARIO."CUEN_ID",IDTRANSACCION,14,now(), >> 0,SALDOFINAL, >> >> CUENTAUSUARIO."CUEN_SOBREGIRO",SALDOCOMISION,IDUSUARIO_REG,VALORCOMISION); >> -- ACTUALIZAR EL SALDO DEL USUARIO >> UPDATE "TSO"."CUENTA" SET "CUEN_SALDO"="CUEN_SALDO"-VALORCOMISION >> WHERE "CUEN_ID"=CUENTAUSUARIO."CUEN_ID"; >> >> -- BUSCAR COMISION LINEAL DIS >> SELECT * INTO COMISIONPRODUCTODIS FROM "TSO"."COMISION" WHERE >> "CLIE_ID"=DISTRIBUIDOR."CLIE_ID" AND "PROD_ID"=TRANSACCION."PROD_ID" >> AND "TICO_ID"=3; >>
Re: [pgsql-es-ayuda] ERROR EN COMPILACION FUNCTION
2008/7/11 Fabio Arias <[EMAIL PROTECTED]>: > Tambien como hago para ejecutarla desde PHP gracias! :D Para ejecutar la función, * SELECT FROM ANULAR_APUESTA(parametros...); Y desde PHP: * Usas pg_connect para conectarte a la DB; * Usas pg_query para realizar el query; * Usas pg_fetch_row, pg_fetch_assoc o equivalente para levantar los resultados... Espero te ayude, acá esta la info posta sobre php: www.php.net Saludos, Juan -- TIP 2: puedes desuscribirte de todas las listas simultáneamente (envía "unregister TuDirecciónDeCorreo" a [EMAIL PROTECTED])
Re: [pgsql-es-ayuda] Herencia?
Arturo Munive escribió en mayo de 2007: > osea en conclusión > hasta ahora la herencia en postgresql solo abarca el hecho > de 'heredar' los campos de una tabla en sus hijas > mas no el hecho de tratar un registro de la tabla hija como si fuese > un registro de la tabla padre, o hacer polimorfismo > > es decir si tengo una función > f1(p padre) > > no puedo > select f1(h); > > donde h sea un registro del tipo de la tabla hija. > > > estoy en lo cierto?? > > por curiosidad piensan dar soporte a eso en algún momento... Efectivamente, como ya has observado, no puedes hacer eso :-) Y además, no hay nadie trabajando en hacerlo funcionar que yo sepa. Es un problema que existe desde hace años pero es bastante difícil y no ha habido la motivación suficiente. -- Alvaro Herrerahttp://www.CommandPrompt.com/ The PostgreSQL Company - Command Prompt, Inc. -- TIP 1: para suscribirte y desuscribirte, visita http://archives.postgresql.org/pgsql-es-ayuda
Re: [pgsql-es-ayuda] pg_dump y pg_restore
el EXPLAIN lo que hace es decir como se ejecuta la consulta, si esta usando los indices por ejemplo en la consulta te puede salir INDEX SCAN o SEQUENCE SCAN. Para tu caso, las consultas que haces en tus dos equipos deben arrojar los mismos resultados; si son diferentes es que las configuraciones de postgres.conf estab diferentes El 11/07/08, Oscar Argueta <[EMAIL PROTECTED]> escribió: > El 'EXPLAIN' me ayuda tambien a los tiempos de restauracion de las bases de > datos? > > Saludos > > > > Miguel Beltran R. wrote: > Te falto mandar el correo a la lista Un manual que encontre ahorita en > español donde dan un poco de > ejemplo 2001.encuentrolinux.cl/documentacion/PostgreSQL.pdf.gz para > mas busca en el historial de la > lista http://www.google.com.mx/search?q=explain+site%3Aarchives.postgresql.org%2Fpgsql-es-ayuda&ie=utf-8&oe=utf-8&aq=t&rls=com.frontmotion:es-AR:unofficial&client=firefox-a El > día 11 de julio de 2008 12:07, Oscar > Argueta <[EMAIL PROTECTED]> escribió: > Gracias Miguel, fijate que por la poca experiencia del mantenimiento a > base de datos,, lo que he estado realizando rudimentariamente, es que en la > noche cuando el servicio no estan exigible, hago dump a la base , luego drop > y de ultimo createdb, restore para que los procesos corran tal y como en el > host de pruebas. Con anterioridad habia realizado un VACUUM pero lo que > provoco fue que se me desintegraran los datos, la razon la desconozco, ahora > mi pregunta es el EXPLAIN/ANALYZE que servicio realiza o que tipo > de mantenimiento realiza. Att. Miguel Beltran R. wrote: usa un explain (o > es explain analyze?) para ver como se ejecuta casa consulta El día 11 de > julio de 2008 10:16, Oscar > Argueta <[EMAIL PROTECTED]> escribió: Tenga > el Mejor de los dias Podria alguien explicarme por que cuando hago > 'pg_dump' a una base que esta en produccion y luego la restauro (con > 'pg_restore') en otro host que es para pruebas, los procedimientos corren > mas rapido que en produccion. Saludos -- Oscar Argueta Transtel, > S.A. 2386-1231/39 -- Oscar Argueta Transtel, S.A. 2386-1231/39 > > > -- > Oscar Argueta Transtel, S.A. 2386-1231/39 > -- Lo bueno de vivir un dia mas es saber que nos queda un dia menos de vida -- TIP 1: para suscribirte y desuscribirte, visita http://archives.postgresql.org/pgsql-es-ayuda
Re: [pgsql-es-ayuda] pg_dump y pg_restore
Mas que las consultas, el problema es mas con los DELETE, UPDATE e INSERTS, ya que el postgres.conf es un espejo de lo que esta en produccion Miguel Beltran R. wrote: el EXPLAIN lo que hace es decir como se ejecuta la consulta, si esta usando los indices por ejemplo en la consulta te puede salir INDEX SCAN o SEQUENCE SCAN. Para tu caso, las consultas que haces en tus dos equipos deben arrojar los mismos resultados; si son diferentes es que las configuraciones de postgres.conf estab diferentes El 11/07/08, Oscar Argueta <[EMAIL PROTECTED]> escribió: El 'EXPLAIN' me ayuda tambien a los tiempos de restauracion de las bases de datos? Saludos Miguel Beltran R. wrote: Te falto mandar el correo a la lista Un manual que encontre ahorita en español donde dan un poco de ejemplo 2001.encuentrolinux.cl/documentacion/PostgreSQL.pdf.gz para mas busca en el historial de la lista http://www.google.com.mx/search?q=explain+site%3Aarchives.postgresql.org%2Fpgsql-es-ayuda&ie=utf-8&oe=utf-8&aq=t&rls=com.frontmotion:es-AR:unofficial&client=firefox-a El día 11 de julio de 2008 12:07, Oscar Argueta <[EMAIL PROTECTED]> escribió: Gracias Miguel, fijate que por la poca experiencia del mantenimiento a base de datos,, lo que he estado realizando rudimentariamente, es que en la noche cuando el servicio no estan exigible, hago dump a la base , luego drop y de ultimo createdb, restore para que los procesos corran tal y como en el host de pruebas. Con anterioridad habia realizado un VACUUM pero lo que provoco fue que se me desintegraran los datos, la razon la desconozco, ahora mi pregunta es el EXPLAIN/ANALYZE que servicio realiza o que tipo de mantenimiento realiza. Att. Miguel Beltran R. wrote: usa un explain (o es explain analyze?) para ver como se ejecuta casa consulta El día 11 de julio de 2008 10:16, Oscar Argueta <[EMAIL PROTECTED]> escribió: Tenga el Mejor de los dias Podria alguien explicarme por que cuando hago 'pg_dump' a una base que esta en produccion y luego la restauro (con 'pg_restore') en otro host que es para pruebas, los procedimientos corren mas rapido que en produccion. Saludos -- Oscar Argueta Transtel, S.A. 2386-1231/39 -- Oscar Argueta Transtel, S.A. 2386-1231/39 -- Oscar Argueta Transtel, S.A. 2386-1231/39 -- Oscar Argueta Transtel, S.A. 2386-1231/39
Re: [pgsql-es-ayuda] Migrar una base de LATIN1 a UTF
> > > > Doh, sorry, usé la versión 8.0 para verificar :-) > > No me quedo claro si el tema se resolvio con el Switch -E, de pg_dump Por las dudas publico las opciones del mismo para el control de la salida. Opciones que controlan el contenido de la salida: -a, --data-only extrae sólo los datos, no el esquema -b, --blobs incluye objetos grandes en la extracción -c, --clean limpia (tira) el esquema antes de su creación -C, --create incluye comandos para crear la base de datos en la extracción -d, --insertsextrae los datos usando INSERT, en vez de COPY -D, --column-inserts extrae los datos usando INSERT con nombres de columnas -E, --encoding=CODIFIC extrae los datos con la codificación CODIFIC -n, --schema=ESQUEMA extrae sólo el esquema nombrado -N, --exclude-schema=ESQUEMA NO extrae el o los esquemas listados -o, --oids incluye OIDs en la extracción -O, --no-owner en formato de sólo texto, no reestablecer los dueños de los objetos -s, --schema-onlyextrae sólo el esquema, no los datos -S, --superuser=NAME especifica el nombre del superusuario a usar en el formato de sólo texto -t, --table=TABLEextrae sólo la tabla nombrada -T, --exclude-table=TABLA extrae sólo la tabla nombrada -x, --no-privileges no extrae los privilegios (grant/revoke) --disable-dollar-quoting deshabilita el uso de «delimitadores de dólar», usa delimitadores de cadena estándares --disable-triggers deshabilita los disparadores (triggers) durante el restablecimiento de la extracción de sólo-datos --use-set-session-authorization usa comandos SESSION AUTHORIZATION en lugar de comandos OWNER TO Atte Gabriel Colina __ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ¡gratis! Regístrate ya - http://correo.espanol.yahoo.com/ -- TIP 7: no olvides aumentar la configuración del "free space map"
Re: [pgsql-es-ayuda] pg_dump y pg_restore
2008/7/11 Alvaro Herrera <[EMAIL PROTECTED]>: > Oscar Argueta wrote: >> >> >> >> >> >> >> >> Te comento, que por lo inexperto para realizar manteinimiento a bases >> de datos, en una ocasion corrimos VACUUM a una DB en produccion y >> provoco desintegracion en los datos, por eso ahora realizo >> rudimentariamente en la noche cada 3 meses un DUMP -> DROP -> >> CREATE -> RESTORE. > y que version de postgres fue esa? -- Atentamente, Jaime Casanova Soporte y capacitación de PostgreSQL Guayaquil - Ecuador Cel. (593) 87171157 -- TIP 8: explain analyze es tu amigo
[pgsql-es-ayuda] Server doesn`t listen
Hola amigos del foro, Siempre yo leyendo sus post me ayudan mucho Hoy me paso algo extraño, Mi windows (XP) no arrancó por un error en el config de la carpeta 'system32, (un mal apagado seguramente ) luego de recuperarlo con la consola de recuperacion (valga la redundancia), me encuentro con que no puedo acceder via pgAdmin a mi base pgsql dandome el sigte error : " Server doesn`t lsten" por lo que no veo mas mi base, He probado algunas ideas que lei en los foros, pero no sucede nada agradeceria cualquier ayuda, y alguna manera via consola por ultimo para poder recuperar la base, agradecido, Danko
Re: [pgsql-es-ayuda] Server doesn`t listen
On Fri, Jul 11, 2008 at 11:46 PM, dAnkO Vera <[EMAIL PROTECTED]> wrote: > Hola amigos del foro, > Siempre yo leyendo sus post me ayudan mucho > > Hoy me paso algo extraño, > Mi windows (XP) no arrancó por un error en el config de la carpeta > 'system32, (un mal apagado seguramente ) > luego de recuperarlo con la consola de recuperacion (valga la redundancia), > me encuentro con que no puedo acceder via pgAdmin a mi base pgsql > dandome el sigte error : " Server doesn`t lsten" > por lo que no veo mas mi base, revisa si el servcio de postgres esta iniciado (en panel de control->herramientas administrativas->servicios) -- Atentamente, Jaime Casanova Soporte y capacitación de PostgreSQL Guayaquil - Ecuador Cel. (593) 87171157 -- TIP 3: Si encontraste la respuesta a tu problema, publícala, otros te lo agradecerán