Re: Consulta SQL para Listar objetos de Postgres
jvenegasperu . escribió: > Buen dia a todos > Estoy buscando consultas select para listar objetos de postgres estos son > los que necesito: Conéctate a psql con la opción -E, y luego ejecuta el \d que muestre los objetos que te interesan. Te mostrará una consulta SQL que usa para obtener esos objetos. Ejemplo para event triggers: $ psql -E El estilo de línea es unicode. El despliegue de duración está activado. psql (11devel) Digite «help» para obtener ayuda. alvherre=# \dy * QUERY ** SELECT evtname as "Name", evtevent as "Event", pg_catalog.pg_get_userbyid(e.evtowner) as "Owner", case evtenabled when 'O' then 'enabled' when 'R' then 'replica' when 'A' then 'always' when 'D' then 'disabled' end as "Enabled", e.evtfoid::pg_catalog.regproc as "Procedure", pg_catalog.array_to_string(array(select x from pg_catalog.unnest(evttags) as t(x)), ', ') as "Tags" FROM pg_catalog.pg_event_trigger e ORDER BY 1 ** Listado de disparadores por eventos -- Álvaro Herrerahttps://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Re: [MASSMAIL]Consulta SQL para Listar objetos de Postgres
Anthony hizo esa consulta, escribirle (Anthony Sotolongo) solo que no sé si para tu versión de postgresql tendrás que acomodarlas. On 2017-12-07 15:45, jvenegasperu . wrote: Buen dia a todos Estoy buscando consultas select para listar objetos de postgres estos son los que necesito: Catalogs Events Triggers Estensions Foreign Data Wrappers Gracias por la ayuda saludos -- José Mercedes Venegas Acevedo cel Mov RPC 964185205 Member of the PHP Documentation Group (Spanish)
Consulta SQL para Listar objetos de Postgres
Buen dia a todos Estoy buscando consultas select para listar objetos de postgres estos son los que necesito: Catalogs Events Triggers Estensions Foreign Data Wrappers Gracias por la ayuda saludos -- José Mercedes Venegas Acevedo cel Mov RPC 964185205 Member of the PHP Documentation Group (Spanish)
Re: Hola
El 7 de diciembre de 2017, 14:01, ElMalkriaoescribió: > buenas tardes, quisiera ver como me pueden ayudar con un error en una > funcion > tengo varias tablas que heredan de una con la misma estructura todas y > tengo una funcion que trigger que se dispara cuando se va a insertar en > la tabla madre 'user' donde pregunto que rol es el del user y en caso de > ser uno de los roles que participan en el proceso de publicacion > entonces se inserta en la tabla hija correspondiente al rol, de lo > contrario se inserta en la tabla madre. > este es el codigo de la function: > > CREATE OR REPLACE FUNCTION security.rol_insert() > RETURNS trigger AS > $BODY$ > DECLARE > arol varchar; > BEGIN > SELECT rol into arol FROM security.rol where id= NEW.rol_id; > > IF arol like 'periodista' THEN > INSERT INTO personal.periodista( > id, username, nombre, pass, ci, ultimav, rol_id, edad, > sexo_id,correo, is_active, imagen) > VALUES (default, NEW.username,NEW.nombre, NEW.pass, NEW.ci, > NEW.ultimav, NEW.rol_id, NEW.edad, NEW.sexo_id,NEW.correo, NEW.is_active, > NEW.imagen); > END IF; > IF arol like 'corrector' THEN > INSERT INTO personal.corrector( > id, username, nombre, pass, ci, ultimav, rol_id, edad, > sexo_id,correo, is_active, imagen) > VALUES (default, NEW.username,NEW.nombre, NEW.pass, NEW.ci, > NEW.ultimav, NEW.rol_id, NEW.edad, NEW.sexo_id,NEW.correo, NEW.is_active, > NEW.imagen); > END IF; > IF arol like 'director' THEN > INSERT INTO personal.director( > id, username, nombre, pass, ci, ultimav, rol_id, edad, > sexo_id,correo, is_active, imagen) > VALUES (default, NEW.username,NEW.nombre, NEW.pass, NEW.ci, > NEW.ultimav, NEW.rol_id, NEW.edad, NEW.sexo_id,NEW.correo, NEW.is_active, > NEW.imagen); > END IF; > IF arol like 'disennador' THEN > INSERT INTO personal.disennador( > id, username, nombre, pass, ci, ultimav, rol_id, edad, > sexo_id,correo, is_active, imagen) > VALUES (default, NEW.username,NEW.nombre, NEW.pass, NEW.ci, > NEW.ultimav, NEW.rol_id, NEW.edad, NEW.sexo_id,NEW.correo, NEW.is_active, > NEW.imagen); > END IF; > IF arol like 'fotografo' THEN > INSERT INTO personal.fotografo( > id, username, nombre, pass, ci, ultimav, rol_id, edad, > sexo_id,correo, is_active, imagen) > VALUES (default, NEW.username,NEW.nombre, NEW.pass, NEW.ci, > NEW.ultimav, NEW.rol_id, NEW.edad, NEW.sexo_id,NEW.correo, NEW.is_active, > NEW.imagen); > END IF; > IF arol like 'jefe_informacion' THEN > INSERT INTO personal.jefe_informacion( > id, username, nombre, pass, ci, ultimav, rol_id, edad, > sexo_id,correo, is_active, imagen) > VALUES (default, NEW.username,NEW.nombre, NEW.pass, NEW.ci, > NEW.ultimav, NEW.rol_id, NEW.edad, NEW.sexo_id,NEW.correo, NEW.is_active, > NEW.imagen); > END IF; > IF arol like 'jefe_redaccion' THEN > INSERT INTO personal.jefe_redaccion( > id, username, nombre, pass, ci, ultimav, rol_id, edad, > sexo_id,correo, is_active, imagen) > VALUES (default, NEW.username,NEW.nombre, NEW.pass, NEW.ci, > NEW.ultimav, NEW.rol_id, NEW.edad, NEW.sexo_id,NEW.correo, NEW.is_active, > NEW.imagen); > > ELSE > INSERT INTO security.users( > id, username, nombre, pass, ci, ultimav, rol_id, edad, > sexo_id,correo, is_active, imagen) > VALUES (default, NEW.username,NEW.nombre, NEW.pass, NEW.ci, > NEW.ultimav, NEW.rol_id, NEW.edad, NEW.sexo_id,NEW.correo, NEW.is_active, > NEW.imagen); > END IF; > RETURN NEW; > COMMIT; > > END; > $BODY$ > LANGUAGE plpgsql VOLATILE > COST 100; > ALTER FUNCTION security.rol_insert() > OWNER TO postgres; > > > y este es el error que me da: > > ERROR: límite de profundidad de stack alcanzado > HINT: Incremente el parámetro de configuración «max_stack_depth» > (actualmente 2048kB), después de asegurarse que el límite de profundidad de > stack de la plataforma es adecuado. > CONTEXT: sentencia SQL: «SELECT rol FROM security.rol where > id= NEW.rol_id» > función PL/pgSQL security.rol_insert() en la línea 5 en sentencia SQL > sentencia SQL: «INSERT INTO security.users( > id, username, nombre, pass, ci, ultimav, rol_id, edad, > sexo_id,correo, is_active, imagen) > VALUES (default, NEW.username,NEW.nombre, NEW.pass, NEW.ci, > NEW.ultimav, NEW.rol_id, NEW.edad, NEW.sexo_id,NEW.correo, NEW.is_active, > NEW.imagen)» > función PL/pgSQL security.rol_insert() en la línea 43 en sentencia SQL > sentencia SQL: «INSERT INTO security.users( > id, username, nombre, pass, ci, ultimav, rol_id, edad, > sexo_id,correo, is_active, imagen) > VALUES (default, NEW.username,NEW.nombre, NEW.pass, NEW.ci, > NEW.ultimav, NEW.rol_id, NEW.edad, NEW.sexo_id,NEW.correo, NEW.is_active, > NEW.imagen)» > función PL/pgSQL security.rol_insert() en la línea 43 en sentencia SQL > > > espero puedan ayudarme... > muchas gracias de antemano > > -- > ”La vida no es solo esperar a que pase la
Re: [MASSMAIL]Hola
Si lees el hit: el mismo error te aconseja que hacer, vas a archivo de configuración y modificas dicho parámetro. On 2017-12-07 12:01, ElMalkriao wrote: Evento Universidad 2018. Conozca todos los detalles en http://universidad2018.uij.edu.cu
Hola
buenas tardes, quisiera ver como me pueden ayudar con un error en una funcion tengo varias tablas que heredan de una con la misma estructura todas y tengo una funcion que trigger que se dispara cuando se va a insertar en la tabla madre 'user' donde pregunto que rol es el del user y en caso de ser uno de los roles que participan en el proceso de publicacion entonces se inserta en la tabla hija correspondiente al rol, de lo contrario se inserta en la tabla madre. este es el codigo de la function: CREATE OR REPLACE FUNCTION security.rol_insert() RETURNS trigger AS $BODY$ DECLARE arol varchar; BEGIN SELECT rol into arol FROM security.rol where id= NEW.rol_id; IF arol like 'periodista' THEN INSERT INTO personal.periodista( id, username, nombre, pass, ci, ultimav, rol_id, edad, sexo_id,correo, is_active, imagen) VALUES (default, NEW.username,NEW.nombre, NEW.pass, NEW.ci, NEW.ultimav, NEW.rol_id, NEW.edad, NEW.sexo_id,NEW.correo, NEW.is_active, NEW.imagen); END IF; IF arol like 'corrector' THEN INSERT INTO personal.corrector( id, username, nombre, pass, ci, ultimav, rol_id, edad, sexo_id,correo, is_active, imagen) VALUES (default, NEW.username,NEW.nombre, NEW.pass, NEW.ci, NEW.ultimav, NEW.rol_id, NEW.edad, NEW.sexo_id,NEW.correo, NEW.is_active, NEW.imagen); END IF; IF arol like 'director' THEN INSERT INTO personal.director( id, username, nombre, pass, ci, ultimav, rol_id, edad, sexo_id,correo, is_active, imagen) VALUES (default, NEW.username,NEW.nombre, NEW.pass, NEW.ci, NEW.ultimav, NEW.rol_id, NEW.edad, NEW.sexo_id,NEW.correo, NEW.is_active, NEW.imagen); END IF; IF arol like 'disennador' THEN INSERT INTO personal.disennador( id, username, nombre, pass, ci, ultimav, rol_id, edad, sexo_id,correo, is_active, imagen) VALUES (default, NEW.username,NEW.nombre, NEW.pass, NEW.ci, NEW.ultimav, NEW.rol_id, NEW.edad, NEW.sexo_id,NEW.correo, NEW.is_active, NEW.imagen); END IF; IF arol like 'fotografo' THEN INSERT INTO personal.fotografo( id, username, nombre, pass, ci, ultimav, rol_id, edad, sexo_id,correo, is_active, imagen) VALUES (default, NEW.username,NEW.nombre, NEW.pass, NEW.ci, NEW.ultimav, NEW.rol_id, NEW.edad, NEW.sexo_id,NEW.correo, NEW.is_active, NEW.imagen); END IF; IF arol like 'jefe_informacion' THEN INSERT INTO personal.jefe_informacion( id, username, nombre, pass, ci, ultimav, rol_id, edad, sexo_id,correo, is_active, imagen) VALUES (default, NEW.username,NEW.nombre, NEW.pass, NEW.ci, NEW.ultimav, NEW.rol_id, NEW.edad, NEW.sexo_id,NEW.correo, NEW.is_active, NEW.imagen); END IF; IF arol like 'jefe_redaccion' THEN INSERT INTO personal.jefe_redaccion( id, username, nombre, pass, ci, ultimav, rol_id, edad, sexo_id,correo, is_active, imagen) VALUES (default, NEW.username,NEW.nombre, NEW.pass, NEW.ci, NEW.ultimav, NEW.rol_id, NEW.edad, NEW.sexo_id,NEW.correo, NEW.is_active, NEW.imagen); ELSE INSERT INTO security.users( id, username, nombre, pass, ci, ultimav, rol_id, edad, sexo_id,correo, is_active, imagen) VALUES (default, NEW.username,NEW.nombre, NEW.pass, NEW.ci, NEW.ultimav, NEW.rol_id, NEW.edad, NEW.sexo_id,NEW.correo, NEW.is_active, NEW.imagen); END IF; RETURN NEW; COMMIT; END; $BODY$ LANGUAGE plpgsql VOLATILE COST 100; ALTER FUNCTION security.rol_insert() OWNER TO postgres; y este es el error que me da: ERROR: límite de profundidad de stack alcanzado HINT: Incremente el parámetro de configuración «max_stack_depth» (actualmente 2048kB), después de asegurarse que el límite de profundidad de stack de la plataforma es adecuado. CONTEXT: sentencia SQL: «SELECT rol FROM security.rol where id= NEW.rol_id» función PL/pgSQL security.rol_insert() en la línea 5 en sentencia SQL sentencia SQL: «INSERT INTO security.users( id, username, nombre, pass, ci, ultimav, rol_id, edad, sexo_id,correo, is_active, imagen) VALUES (default, NEW.username,NEW.nombre, NEW.pass, NEW.ci, NEW.ultimav, NEW.rol_id, NEW.edad, NEW.sexo_id,NEW.correo, NEW.is_active, NEW.imagen)» función PL/pgSQL security.rol_insert() en la línea 43 en sentencia SQL sentencia SQL: «INSERT INTO security.users( id, username, nombre, pass, ci, ultimav, rol_id, edad, sexo_id,correo, is_active, imagen) VALUES (default, NEW.username,NEW.nombre, NEW.pass, NEW.ci, NEW.ultimav, NEW.rol_id, NEW.edad, NEW.sexo_id,NEW.correo, NEW.is_active, NEW.imagen)» función PL/pgSQL security.rol_insert() en la línea 43 en sentencia SQL espero puedan ayudarme... muchas gracias de antemano -- ”La vida no es solo esperar a que pase la tormenta, sino aprender a bailar en la lluvia.” Evento Universidad 2018. Conozca todos los detalles en http://universidad2018.uij.edu.cu
Re: consulta.
Juan: 2017-12-07 3:02 GMT+01:00 Juan: > Like usa expresiones regulares dentro del srring, podrías usar 'abc%' y te > traería todo lo que comienza con abc ignorando como sigue , o sea abcPepe > abc123 abc Like no usa expresiones regulares, mas bien usa comodines o patrones ( patterns las llama la doc, cosas como el ? y * de los shell, solo que usa _ y % ) SIMILAR TO use expresiones regulares del standard SQL, y los operadores de la familia ~ usan expresiones regulares POSIX. Echadle un ojo a https://www.postgresql.org/docs/10/static/functions-matching.html si entendeis ingles. Francisco Olarte.
Re: consulta.
Gonzalo: 2017-12-07 2:15 GMT+01:00 Gonzalo V: ... > Tengo el siguiente problema y llevo días tratando de averiguar porqué no > funciona. ... > where v."DIRECCION" like 'AVDA. LA DEHESA #1445, LOCAL 1031, LO BARNECHEA' > y no entrega nada. > pero si saco LO BARNECHEA, es decir lo que va despues de la segunda coma, SI > FUNCIONA > cómo puedo hacer que funcione con las 2 comas? Puedes currartelo tu solo. O si lo prefieres poner algun ejemplo REAL de un query que saca y uno que no, asi podriamos intentar decirte algo y/o reproducir tus problemas. Es MUY DIFICIL que te podamos decir nada util SIN VER lo que hay en la tabla ( no toda, pero con un par de valores de la columna "DIRECCION" que exhiban el problema junto con las consultas que lo pongan de manifiesto casi seguro que alguien te lo uede diagnosticar ). ( Con un query tipo select v."DIRECCION" fromventasprueba v where v."DIRECCION" like 'AVDA. LA DEHESA #1445, LOCAL 1031, LO BARNECHEA' LIMIT 2, que no expone muchos datos de tu tabla, valdria ). Francisco Olarte.