Articles of postgresql 9.1

Agregar columnas de dos relaciones en postgresql

Tengo dos relaciones, como relation1 y relation2. relation1 tiene columnas de A, B, C y relation2 tiene columnas de D, E, F. Quiero agregar A de relation1 con D de relation2 donde C = F. Para que los valores C que no existen en relation2 deben aparecer y los valores F que no aparecen en […]

¿Cómo include un conteo igual a 0 en esta consulta?

Mi consulta select state,count(*) from crm_lead group by state; que regresa state count done 794 open 560 pending 3 draft 8 cancel 1 pero en algún momento cuando no tengo una tarea 'cancelar' en mi table state count done 794 open 560 pending 4 draft 8 Me gustaría include count = 0 en el resultado, […]

Error PostGIS: no se pudo elegir la mejor function candidata

Al crear una Vista, function populate_geometry_columns(unknown) is not unique la function populate_geometry_columns(unknown) is not unique error function populate_geometry_columns(unknown) is not unique . Un libro que estoy leyendo usó esto, pero me está dando un error. ¿Qué podría haber ido mal para mí? Consulta: CREATE OR REPLACE VIEW ch03.vw_paris_points AS SELECT gid, osm_id, ar_num, geom, tags->'name' […]

¿Por qué el conteo (*) devuelve resultados múltiples en esta subconsulta (postgresql)?

Quiero agrupar los resultados de una consulta de recuento (*) en intervalos de valores. Estoy probando esto en la database de ejemplo dellstore2 postgresql. Mi consulta a continuación arroja las respuestas correctas, pero lo hace una vez para cada fila de la tabla (varios miles de resultados idénticos). Puedo solucionar esto agregando LIMIT 1 al […]

dividir una sola fila en múltiples filas en SQL

En mi tabla hay dos campos de inicio y finalización que almacena la hora de inicio y la hora de finalización, respectivamente. por ejemplo, la hora de inicio = 2014-01-01 23:43:00 y stop = 2014-01-03 03:33:00. Esta timestamp necesita separarse de. 1=> 2014-01-01 23:43:00 – 2014-01-02 00:00:00, as date 2014-01-01 2=> 2014-01-02 00:00:01 – 2014-01-03 […]

DONDE NO EXISTE en PostgreSQL da error de syntax

Al intentar utilizar la cláusula WHERE NOT EXISTS para evitar agregar una fila con un valor duplicado en la columna de age , obtengo el error de syntax error at or near "WHERE" . ¿Por qué arrojó un error de syntax? Estoy usando Postgresql 9.1. SQL INSERT INTO live.users ("website", "age") values ('abc', '123') WHERE […]

El valor de la matriz de integers de PostgreSQL se une al integer en otra tabla con una cadena desc

Tengo una columna de test tabla con matrices en int y valores como {1000,4000,6000} o {1000} o {1000,4000} llamados ekw . Estos valores coinciden con una cadena de descripción en otra tabla tab: test id | name | ekw —————– 1 | One | {1000} 2 | Two | {1000,4000} 3 | Three | {1000,4000,6000} […]

El disparador de inserción termina insertando filas duplicadas en una tabla dividida

Tengo una tabla particionada con (lo que creo) el disparador INSERT apropiado y algunas restricciones en él. De alguna manera, las INSERT insertan 2 filas para cada INSERT : una para el padre y otra para la partición apropiada. La configuration brevemente es la siguiente: CREATE TABLE foo ( id SERIAL NOT NULL, d_id INTEGER […]

Postgresql: orderar columnas para que coincidan con los criterios personalizados

Tengo problemas para orderar el resultado de una consulta. Después de ejecutar esta consulta: SELECT id_doc_header, id_clasificacion_doc FROM cabecera_documento INNER JOIN tipo_doc USING (id_tipo_doc) INNER JOIN clasificacion_documento USING (id_clasificacion_doc) WHERE finalizado = 'f' AND cod_exp = '10-APC-2013' AND id_clasificacion_doc in(2,3,4,5) ORDER BY case when Id_clasificacion_doc = 5 THEN 5 when Id_clasificacion_doc = 3 THEN 3 […]

Cambiar ORDER BY de id a otra columna indexada (con LIMIT bajo) tiene un costo enorme

Tengo una consulta en una tabla de 500 000 filas. Básicamente WHERE s3_.id = 287 ORDER BY m0_.id DESC LIMIT 25 => Tiempo de ejecución de consulta = 20 ms WHERE s3_.id = 287 ORDER BY m0_.created_at DESC LIMIT 25 => Tiempo de ejecución de consulta = 15000 ms o más Hay un índice en […]