Re: Consulta SQL para Listar objetos de Postgres

2017-12-07 Thread Alvaro Herrera
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

2017-12-07 Thread gilberto . castillo



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

2017-12-07 Thread jvenegasperu .
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

2017-12-07 Thread Gerardo Herzig
El 7 de diciembre de 2017, 14:01, ElMalkriao 
escribió:

> 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

2017-12-07 Thread gilberto . castillo


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

2017-12-07 Thread ElMalkriao
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.

2017-12-07 Thread Francisco Olarte
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.

2017-12-07 Thread Francisco Olarte
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.