buenos dias, 

tengo un pequeño problema pero no se como resolverlo. 

la situación es que para una sistema de replicas, necesito crear particiones de 
las tablas que voy a replicar, pero necesito que esas particiones se creen 
dinámicas 
por ejemplo, 

necesito que la partición tenga el nombre concatenado con el identificador de 
la tupla que inserto, para ello creo la función que a continuación les muestro, 

CREATE OR REPLACE FUNCTION "public"."f_crear_tablas_replicas" () RETURNS 
trigger AS 
$body$ 
declare 


begin 


create table public.tb_estudiante_"||NEW.id||() INHERITS (tb_estudiante); 

return new; 
end; 

$body$ 
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER; 

y el problema esta en la concatenación, me da un error que dice: 

ERROR: error de sintaxis en o cerca de «||» at character 30 
QUERY: create table "tb_estudiante_"|| $1 ||() INHERITS (tb_estudiante) 
CONTEXT: SQL statement in PL/PgSQL function "f_crear_tablas_replicas" near line 
7 

me pueden ayudar en esto??? 

Responder a