Re: [pgsql-es-ayuda] Imagenes en una BD con npgsql

2011-05-03 Por tema Eduardo

At 12:06 02/05/2011, you wrote:


Vengo de msql server, y allì por diferentes 
razones habia optado por no guardar las imagenes 
directamente en la base de datos, si no guardar 
el path de donde se encontraba cada una de 
estas. Esta decision la tomé por problemas para 
recuperar la imagen, y ademàs, no se si culparla 
por esto, las consultas demoraban mucho mas que 
cuando la BD no tenia estos campos de imagenes.


Bien ahora, ya que he migrado de motor.. me 
gustarìa re-intentar guardar las imagenes en la bd


las imagenes a guardar son 5 de aprox 70Kb c/u

busco una opinion, de alguien que tenga experiencia en este tipo de campos...

conviene guardarla en la BD o guardarla como archivo fuera de la BD?


Yo estoy con este tipo de temas aunque trabajo 
con imagenes mas pequeñas. Para imagenes como 
estas, puedes incrustarlas en la bd. Para ello te 
recomiendo crear una tabla aparte con dos campos, 
un id y la imagen propiamente dicha. No metas la 
imagen en la tabla de trabajo con mas campos, eso 
hara que cada fila de dicha tabla sea mas grande 
que si creas la tabla aparte y tendras un 
rendimiento menor. Creo recordar que se podia 
desconectar la compresion del toast para una 
tabla dada, si es asi, hazlo, la compresion de 
imagenes ya comprimidas solo consume cpu y recursos.


tambien, si alguien tiene un ejemplo de como 
guardar/recuperar la imagen con npgsql y vb.


buff.. yo no uso .net ni vb, no te puedo orientar.


Muchas Gracias.


L 


-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


[pgsql-es-ayuda] PASS DE BASE DE DATOS LOCAL

2011-05-03 Por tema Marcelo Robin
Trabajo con Windows XP, tengo instalado el Postgresql 9.0 y he visto en el
PGAdmin que tengo una base en LocalHost... hete aqui que para acceder me
solicita una password, que no conozco. Como podría resetearla o eliminarla
?... Tendre que instalar Postgresql nuevamente para poder tomar el control
?

Probe con postgresql, con pgsql, con admin... con la pass de las bases que
tenemos en linux... y nada...
Gracias por la ayuda


[pgsql-es-ayuda] CAMPO SERIAL...

2011-05-03 Por tema Marcelo Robin
Tengo una aplicación en VB6 y resulta que tengo una tabla en postgresql
donde la clave primaria es un campo de tipo serial. En otras bases se
traduciría en un "autonumerico"... cuando hago el insert no se serializa
automaticamente...
por ejemplo tengo:

INSERT INTO com.bultos(id, bulto, bulto_corto) VALUES (?, ?, ?);

pero el id que es el campo serial, previamente tengo que calcular el máximo
valor y le sumaría una unidad (no encontré otra forma para poder
hacerlo)...
Como podría hacer esto medianamente automatizado ?

Saludos y muchas gracias desde ya


Re: [pgsql-es-ayuda] Imagenes en una BD con npgsql

2011-05-03 Por tema Eduardo

At 11:23 03/05/2011, you wrote:

At 12:06 02/05/2011, you wrote:


Vengo de msql server, y allì por diferentes 
razones habia optado por no guardar las 
imagenes directamente en la base de datos, si 
no guardar el path de donde se encontraba cada 
una de estas. Esta decision la tomé por 
problemas para recuperar la imagen, y ademàs, 
no se si culparla por esto, las consultas 
demoraban mucho mas que cuando la BD no tenia estos campos de imagenes.


Bien ahora, ya que he migrado de motor.. me 
gustarìa re-intentar guardar las imagenes en la bd


las imagenes a guardar son 5 de aprox 70Kb c/u

busco una opinion, de alguien que tenga experiencia en este tipo de campos...

conviene guardarla en la BD o guardarla como archivo fuera de la BD?


Yo estoy con este tipo de temas aunque trabajo 
con imagenes mas pequeñas. Para imagenes como 
estas, puedes incrustarlas en la bd. Para ello 
te recomiendo crear una tabla aparte con dos 
campos, un id y la imagen propiamente dicha. No 
metas la imagen en la tabla de trabajo con mas 
campos, eso hara que cada fila de dicha tabla 
sea mas grande que si creas la tabla aparte y 
tendras un rendimiento menor. Creo recordar que 
se podia desconectar la compresion del toast 
para una tabla dada, si es asi, hazlo, la 
compresion de imagenes ya comprimidas solo consume cpu y recursos.


Como apunte adicional, indexa la tabla de 
(id,imagen) con un indice hash si las busquedas 
de imagenes las vas a hacer asi:


SELECT image FROM Image_Store WHERE (id=7)

Ya que es un poco mas rapido (coste O(1)) que si 
usas un btree (coste log(n) como minimo)


Si necesitas recuperar las imagenes cuyos id 
cumplan otras condiciones distintas al igual 
(>,<,>=,<=, Not IN, etc...) usa el Btree


Eduardo Morras  


-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


Re: [pgsql-es-ayuda] CAMPO SERIAL...

2011-05-03 Por tema iescriva
El 03/05/11 13:36, Marcelo Robin escribió:
> Tengo una aplicación en VB6 y resulta que tengo una tabla en postgresql
> donde la clave primaria es un campo de tipo serial. En otras bases se
> traduciría en un "autonumerico"... cuando hago el insert no se serializa
> automaticamente... 
> por ejemplo tengo: 
> 
> INSERT INTO com.bultos(id, bulto, bulto_corto) VALUES (?, ?, ?);


Al crear la tabla asignas a id el tipo SERIAL, luego en el insert no le
pases el valor para el campo id.


CREATE TABLE com.bultos(
 id SERIAL PRIMARY KEY,
 bulto integer,
 bulto_corto integer

);

INSERT INTO com.bultos(bulto, bulto_corto) VALUES (1, 1);
INSERT INTO com.bultos(bulto, bulto_corto) VALUES (1, 2);
INSERT INTO com.bultos(bulto, bulto_corto) VALUES (2, 1);
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


Re: [pgsql-es-ayuda] Imagenes en una BD con npgsql

2011-05-03 Por tema Alvaro Herrera
Excerpts from Eduardo's message of mar may 03 09:14:56 -0300 2011:

> Como apunte adicional, indexa la tabla de 
> (id,imagen) con un indice hash si las busquedas 
> de imagenes las vas a hacer asi:
> 
> SELECT image FROM Image_Store WHERE (id=7)
> 
> Ya que es un poco mas rapido (coste O(1)) que si 
> usas un btree (coste log(n) como minimo)

Esto es buena idea en teoría pero en la práctica en Postgres los índices
hash no son muy buenos.  Los btree siempre son más rápidos por diversos
motivos.  Como es el tipo de índice más usado, se han optimizado mucho;
no así los índices hash.

-- 
Álvaro Herrera 
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


Re: [pgsql-es-ayuda] CAMPO SERIAL...

2011-05-03 Por tema Marcelo Robin
MUCHISIMAS GRACIAS !!!

El 3 de mayo de 2011 09:35, iescriva  escribió:

> El 03/05/11 13:36, Marcelo Robin escribió:
> > Tengo una aplicación en VB6 y resulta que tengo una tabla en postgresql
> > donde la clave primaria es un campo de tipo serial. En otras bases se
> > traduciría en un "autonumerico"... cuando hago el insert no se serializa
> > automaticamente...
> > por ejemplo tengo:
> >
> > INSERT INTO com.bultos(id, bulto, bulto_corto) VALUES (?, ?, ?);
>
>
> Al crear la tabla asignas a id el tipo SERIAL, luego en el insert no le
> pases el valor para el campo id.
>
>
> CREATE TABLE com.bultos(
>  id SERIAL PRIMARY KEY,
>  bulto integer,
>  bulto_corto integer
>
> );
>
> INSERT INTO com.bultos(bulto, bulto_corto) VALUES (1, 1);
> INSERT INTO com.bultos(bulto, bulto_corto) VALUES (1, 2);
> INSERT INTO com.bultos(bulto, bulto_corto) VALUES (2, 1);
> -
> Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org
> )
> Para cambiar tu suscripción:
> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>


Re: [pgsql-es-ayuda] Imagenes en una BD con npgsql

2011-05-03 Por tema Alvaro Herrera
Excerpts from Eduardo's message of mar may 03 06:23:40 -0300 2011:

> Yo estoy con este tipo de temas aunque trabajo 
> con imagenes mas pequeñas. Para imagenes como 
> estas, puedes incrustarlas en la bd. Para ello te 
> recomiendo crear una tabla aparte con dos campos, 
> un id y la imagen propiamente dicha. No metas la 
> imagen en la tabla de trabajo con mas campos, eso 
> hara que cada fila de dicha tabla sea mas grande 
> que si creas la tabla aparte y tendras un 
> rendimiento menor.

Eh, esto no es así.  En Postgres, los campos que son "demasiado largos"
quedan guardados automáticamente en una tabla aparte (llamada "tabla
TOAST") y en la tabla principal se guarda solamente una referencia.

http://www.postgresql.org/docs/9.0/static/storage-toast.html

En la práctica esto significa que pasa lo mismo que tú describes, sólo
que en vez de tener que modificar tu aplicación para que funcione de
esta forma, Postgres se hace cargo automáticamente.

("Demasiado largos" ocurre cuando el registro mide 2kB o más, así que
una imagen de 70kB siempre irá a la tabla toast)

> Creo recordar que se podia 
> desconectar la compresion del toast para una 
> tabla dada, si es asi, hazlo, la compresion de 
> imagenes ya comprimidas solo consume cpu y recursos.

Esto sí es buena idea; ve "SET STORAGE" acá
http://www.postgresql.org/docs/9.0/static/sql-altertable.html

-- 
Álvaro Herrera 
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


Re: [pgsql-es-ayuda] CAMPO SERIAL...

2011-05-03 Por tema evelyn cuenca
para cuando necesites obtener el siguiente valor de la secuencia:
select nextval('com.bultos_id_seq')

INSERT INTO com.bultos VALUES ((select nextval('com.bultos_id_seq')),2, 2);


--
evelyn


El 3 de mayo de 2011 08:36, Marcelo Robin  escribió:

> MUCHISIMAS GRACIAS !!!
>
> El 3 de mayo de 2011 09:35, iescriva  escribió:
>
> El 03/05/11 13:36, Marcelo Robin escribió:
>> > Tengo una aplicación en VB6 y resulta que tengo una tabla en postgresql
>> > donde la clave primaria es un campo de tipo serial. En otras bases se
>> > traduciría en un "autonumerico"... cuando hago el insert no se serializa
>> > automaticamente...
>> > por ejemplo tengo:
>> >
>> > INSERT INTO com.bultos(id, bulto, bulto_corto) VALUES (?, ?, ?);
>>
>>
>> Al crear la tabla asignas a id el tipo SERIAL, luego en el insert no le
>> pases el valor para el campo id.
>>
>>
>> CREATE TABLE com.bultos(
>>  id SERIAL PRIMARY KEY,
>>  bulto integer,
>>  bulto_corto integer
>>
>> );
>>
>> INSERT INTO com.bultos(bulto, bulto_corto) VALUES (1, 1);
>> INSERT INTO com.bultos(bulto, bulto_corto) VALUES (1, 2);
>> INSERT INTO com.bultos(bulto, bulto_corto) VALUES (2, 1);
>> -
>> Enviado a la lista de correo pgsql-es-ayuda (
>> pgsql-es-ayuda@postgresql.org)
>> Para cambiar tu suscripción:
>> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>>
>
>


Re: [pgsql-es-ayuda] Imagenes en una BD con npgsql

2011-05-03 Por tema Eduardo

At 14:44 03/05/2011, Alvaro Herrera wrote:

Excerpts from Eduardo's message of mar may 03 06:23:40 -0300 2011:

> Yo estoy con este tipo de temas aunque trabajo
> con imagenes mas pequeñas. Para imagenes como
> estas, puedes incrustarlas en la bd. Para ello te
> recomiendo crear una tabla aparte con dos campos,
> un id y la imagen propiamente dicha. No metas la
> imagen en la tabla de trabajo con mas campos, eso
> hara que cada fila de dicha tabla sea mas grande
> que si creas la tabla aparte y tendras un
> rendimiento menor.

Eh, esto no es así.  En Postgres, los campos que son "demasiado largos"
quedan guardados automáticamente en una tabla aparte (llamada "tabla
TOAST") y en la tabla principal se guarda solamente una referencia.

http://www.postgresql.org/docs/9.0/static/storage-toast.html

En la práctica esto significa que pasa lo mismo que tú describes, sólo
que en vez de tener que modificar tu aplicación para que funcione de
esta forma, Postgres se hace cargo automáticamente.

("Demasiado largos" ocurre cuando el registro mide 2kB o más, así que
una imagen de 70kB siempre irá a la tabla toast)


Tienes toda la razon Alvaro se me habia pasado el 
limite. La forma que yo describo puede usarla si 
la misma imagen es referenciada en multiples 
filas, por lo que hara falta otro nivel mas de 
normalizacion de la tabla de forma explicita en 
la definicion de la bd en vez de implicita, en la 
implementacion que el rbdms hace de la tabla mediante el toast.



--
Álvaro Herrera 


Un saludo 


-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


Re: [pgsql-es-ayuda] PASS DE BASE DE DATOS LOCAL

2011-05-03 Por tema Julio Cesar Rodriguez Dominguez
El día 3 de mayo de 2011 06:29, Marcelo Robin  escribió:
> Trabajo con Windows XP, tengo instalado el Postgresql 9.0 y he visto en el
> PGAdmin que tengo una base en LocalHost... hete aqui que para acceder me
> solicita una password, que no conozco. Como podría resetearla o eliminarla
> ?... Tendre que instalar Postgresql nuevamente para poder tomar el control
> ?
> Probe con postgresql, con pgsql, con admin... con la pass de las bases que
> tenemos en linux... y nada...
> Gracias por la ayuda

Al instalar el servicio de postgres, te solicito un password. Bueno,
una opción es editar el archivo pg_hba.conf, esta dentro de la carpeta
de los archivos de configuración y cambiar el método de
autentificación, en lugar de md5, pones trust, luego recargas la
configuración o reinicias el servidor:

hostall all 127.0.0.1/32 trust
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


Re: [pgsql-es-ayuda] CAMPO SERIAL...

2011-05-03 Por tema Julio Cesar Rodriguez Dominguez
El día 3 de mayo de 2011 07:35, iescriva  escribió:
> El 03/05/11 13:36, Marcelo Robin escribió:
>> Tengo una aplicación en VB6 y resulta que tengo una tabla en postgresql
>> donde la clave primaria es un campo de tipo serial. En otras bases se
>> traduciría en un "autonumerico"... cuando hago el insert no se serializa
>> automaticamente...
>> por ejemplo tengo:
>>
>> INSERT INTO com.bultos(id, bulto, bulto_corto) VALUES (?, ?, ?);
>
>
> Al crear la tabla asignas a id el tipo SERIAL, luego en el insert no le
> pases el valor para el campo id.
>
>
> CREATE TABLE com.bultos(
>  id SERIAL PRIMARY KEY,
>  bulto integer,
>  bulto_corto integer
>
> );
>
> INSERT INTO com.bultos(bulto, bulto_corto) VALUES (1, 1);
> INSERT INTO com.bultos(bulto, bulto_corto) VALUES (1, 2);
> INSERT INTO com.bultos(bulto, bulto_corto) VALUES (2, 1);

Aveces es una tablas con una lista grande de campos a insertar, para
evitar listar todos, puede usar default en el campo serial:
INSERT INTO com.bultos VALUES (default,2, 1);
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


Re: [pgsql-es-ayuda] PASS DE BASE DE DATOS LOCAL

2011-05-03 Por tema Marcelo Robin
Julio, quiere decir que si deseo realizar una aplicación que utilice una
base de datos local hecha en postgresql podría levantarle el password
siguiendo estos pasos ?




El 3 de mayo de 2011 10:26, Julio Cesar Rodriguez Dominguez <
jura...@gmail.com> escribió:

> El día 3 de mayo de 2011 06:29, Marcelo Robin 
> escribió:
> > Trabajo con Windows XP, tengo instalado el Postgresql 9.0 y he visto en
> el
> > PGAdmin que tengo una base en LocalHost... hete aqui que para acceder me
> > solicita una password, que no conozco. Como podría resetearla o
> eliminarla
> > ?... Tendre que instalar Postgresql nuevamente para poder tomar el
> control
> > ?
> > Probe con postgresql, con pgsql, con admin... con la pass de las bases
> que
> > tenemos en linux... y nada...
> > Gracias por la ayuda
>
> Al instalar el servicio de postgres, te solicito un password. Bueno,
> una opción es editar el archivo pg_hba.conf, esta dentro de la carpeta
> de los archivos de configuración y cambiar el método de
> autentificación, en lugar de md5, pones trust, luego recargas la
> configuración o reinicias el servidor:
>
> hostall all 127.0.0.1/32 trust
>


Re: [pgsql-es-ayuda] PASS DE BASE DE DATOS LOCAL

2011-05-03 Por tema Julio Cesar Rodriguez Dominguez
> El 3 de mayo de 2011 10:26, Julio Cesar Rodriguez Dominguez
>  escribió:
>>
>> El día 3 de mayo de 2011 06:29, Marcelo Robin 
>> escribió:
>> > Trabajo con Windows XP, tengo instalado el Postgresql 9.0 y he visto en
>> > el
>> > PGAdmin que tengo una base en LocalHost... hete aqui que para acceder me
>> > solicita una password, que no conozco. Como podría resetearla o
>> > eliminarla
>> > ?... Tendre que instalar Postgresql nuevamente para poder tomar el
>> > control
>> > ?
>> > Probe con postgresql, con pgsql, con admin... con la pass de las bases
>> > que
>> > tenemos en linux... y nada...
>> > Gracias por la ayuda
>>
>> Al instalar el servicio de postgres, te solicito un password. Bueno,
>> una opción es editar el archivo pg_hba.conf, esta dentro de la carpeta
>> de los archivos de configuración y cambiar el método de
>> autentificación, en lugar de md5, pones trust, luego recargas la
>> configuración o reinicias el servidor:
>>
>> host    all             all             127.0.0.1/32         trust
>



El día 3 de mayo de 2011 08:42, Marcelo Robin  escribió:
> Julio, quiere decir que si deseo realizar una aplicación que utilice una
> base de datos local hecha en postgresql podría levantarle el password
> siguiendo estos pasos ?
>

La idea no es dejarlo con acceso trust, si no acceder como super
usuario, ya estando dentro puedes cambiar el password para que sepas
cual es y regresar el método de autentificación a md5 después.
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


Re: [pgsql-es-ayuda] Imagenes en una BD con npgsql

2011-05-03 Por tema Alvaro Herrera
Excerpts from Eduardo's message of mar may 03 10:03:05 -0300 2011:

> La forma que yo describo puede usarla si 
> la misma imagen es referenciada en multiples 
> filas, por lo que hara falta otro nivel mas de 
> normalizacion de la tabla de forma explicita en 
> la definicion de la bd en vez de implicita, en la 
> implementacion que el rbdms hace de la tabla mediante el toast.

Si necesitas referenciar una imagen en múltiples filas te puede convenir
usar "large objects" en vez de bytea; lo_open() etc.
http://www.postgresql.org/docs/9.0/static/largeobjects.html

-- 
Álvaro Herrera 
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


Re: [pgsql-es-ayuda] CAMPO SERIAL...

2011-05-03 Por tema Marcelo Robin
Tomando como default me lo toma como serial ?
Estaba viendo que tengo el id definido de otra forma...

CREATE TABLE com.bultos
(
  id bigint NOT NULL,
  bulto text,
  bulto_corto text,
  CONSTRAINT bultos_pkey PRIMARY KEY (id)
)
WITHOUT OIDS;
ALTER TABLE com.bultos OWNER TO ariel;
GRANT ALL ON TABLE com.bultos TO ariel WITH GRANT OPTION;
GRANT ALL ON TABLE com.bultos TO public;




El 3 de mayo de 2011 10:30, Julio Cesar Rodriguez Dominguez <
jura...@gmail.com> escribió:

> El día 3 de mayo de 2011 07:35, iescriva  escribió:
> > El 03/05/11 13:36, Marcelo Robin escribió:
> >> Tengo una aplicación en VB6 y resulta que tengo una tabla en postgresql
> >> donde la clave primaria es un campo de tipo serial. En otras bases se
> >> traduciría en un "autonumerico"... cuando hago el insert no se serializa
> >> automaticamente...
> >> por ejemplo tengo:
> >>
> >> INSERT INTO com.bultos(id, bulto, bulto_corto) VALUES (?, ?, ?);
> >
> >
> > Al crear la tabla asignas a id el tipo SERIAL, luego en el insert no le
> > pases el valor para el campo id.
> >
> >
> > CREATE TABLE com.bultos(
> >  id SERIAL PRIMARY KEY,
> >  bulto integer,
> >  bulto_corto integer
> >
> > );
> >
> > INSERT INTO com.bultos(bulto, bulto_corto) VALUES (1, 1);
> > INSERT INTO com.bultos(bulto, bulto_corto) VALUES (1, 2);
> > INSERT INTO com.bultos(bulto, bulto_corto) VALUES (2, 1);
>
> Aveces es una tablas con una lista grande de campos a insertar, para
> evitar listar todos, puede usar default en el campo serial:
> INSERT INTO com.bultos VALUES (default,2, 1);
> -
> Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org
> )
> Para cambiar tu suscripción:
> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>


Re: [pgsql-es-ayuda] CAMPO SERIAL...

2011-05-03 Por tema Julio Cesar Rodriguez Dominguez
> El 3 de mayo de 2011 10:30, Julio Cesar Rodriguez Dominguez
>  escribió:
>>
>> El día 3 de mayo de 2011 07:35, iescriva  escribió:
>> > El 03/05/11 13:36, Marcelo Robin escribió:
>> >> Tengo una aplicación en VB6 y resulta que tengo una tabla en postgresql
>> >> donde la clave primaria es un campo de tipo serial. En otras bases se
>> >> traduciría en un "autonumerico"... cuando hago el insert no se
>> >> serializa
>> >> automaticamente...
>> >> por ejemplo tengo:
>> >>
>> >> INSERT INTO com.bultos(id, bulto, bulto_corto) VALUES (?, ?, ?);
>> >
>> >
>> > Al crear la tabla asignas a id el tipo SERIAL, luego en el insert no le
>> > pases el valor para el campo id.
>> >
>> >
>> > CREATE TABLE com.bultos(
>> >  id SERIAL PRIMARY KEY,
>> >  bulto integer,
>> >  bulto_corto integer
>> >
>> > );
>> >
>> > INSERT INTO com.bultos(bulto, bulto_corto) VALUES (1, 1);
>> > INSERT INTO com.bultos(bulto, bulto_corto) VALUES (1, 2);
>> > INSERT INTO com.bultos(bulto, bulto_corto) VALUES (2, 1);
>>
>> Aveces es una tablas con una lista grande de campos a insertar, para
>> evitar listar todos, puede usar default en el campo serial:
>> INSERT INTO com.bultos VALUES (default,2, 1);
>> -
>> Enviado a la lista de correo pgsql-es-ayuda
>> (pgsql-es-ayuda@postgresql.org)
>> Para cambiar tu suscripción:
>> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>
>

El día 3 de mayo de 2011 08:51, Marcelo Robin  escribió:
> Tomando como default me lo toma como serial ?
> Estaba viendo que tengo el id definido de otra forma...
> CREATE TABLE com.bultos
> (
>   id bigint NOT NULL,
>   bulto text,
>   bulto_corto text,
>   CONSTRAINT bultos_pkey PRIMARY KEY (id)
> )
> WITHOUT OIDS;
> ALTER TABLE com.bultos OWNER TO ariel;
> GRANT ALL ON TABLE com.bultos TO ariel WITH GRANT OPTION;
> GRANT ALL ON TABLE com.bultos TO public;
>
>

No, la columna debió de ser definido como serial, pero en su defecto
puedes crearlo.

CREATE  SEQUENCE tabla_id_seq;
ALTER TABLE tabla ALTER COLUMN id SET DEFAULT nextval('tabla_id_seq');
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


Re: [pgsql-es-ayuda] CAMPO SERIAL...

2011-05-03 Por tema Alvaro Herrera
Excerpts from Marcelo Robin's message of mar may 03 10:51:18 -0300 2011:
> Tomando como default me lo toma como serial ?

Sí (si es que el default es el nextval de la secuencia).

> Estaba viendo que tengo el id definido de otra forma...
> 
> CREATE TABLE com.bultos
> (
>   id bigint NOT NULL,
>   bulto text,
>   bulto_corto text,
>   CONSTRAINT bultos_pkey PRIMARY KEY (id)
> )
> WITHOUT OIDS;
> ALTER TABLE com.bultos OWNER TO ariel;
> GRANT ALL ON TABLE com.bultos TO ariel WITH GRANT OPTION;
> GRANT ALL ON TABLE com.bultos TO public;

Más abajo debería haber un CREATE SEQUENCE y un ALTER SEQUENCE .. OWNED
BY además de un ALTER COLUMN / SET DEFAULT que ligan la secuencia con la
columna.  Eso hace que el campo sea SERIAL.

-- 
Álvaro Herrera 
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


[pgsql-es-ayuda] data_directory

2011-05-03 Por tema Harold Alexander Onore Harold
Saludo Comunidad,

Tengo la carpeta data instalada en otro directorio que no es el que viene
por defecto, debo configurar alguna variable?


Atentamente,


Harold Onore


[pgsql-es-ayuda] Tablas case-sensitive

2011-05-03 Por tema Juan Manuel Acuña Barrera
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Buenos días.

Como les comenté en correos anteriores, estoy empezando apenas con PostgreSQL y 
como parte de ese comienzo estoy migrando una aplicación mysql/php a 
postgresql/php. Hasta ahora los problemas con los que me encontré los pude 
solucionar fácilmente, pero en este momento estoy atorado con lo siguiente: la 
mayoría de las tablas en mysql de mi aplicación tienen una o más mayúsculas, ya 
sea iniciales (por ejemplo IDmesa) o intermedias (por ejemplo 
autorizacionDescuento). Ahora que he migrado la base de datos a PostgreSQL me 
doy cuenta que me ha movido todo a minúsculas, y esto me está dando algunos 
problemas en mi aplicación. 

En fin, todo este rollo era para preguntar, hay manera de hacer que PostgreSQL 
sea case-sensitive, o sea, que me deje que la tabla la ponga 
autorizacionDescuento y no me la ponga autorizaciondescuento, o, directamente 
será mejor modificar mi tabla por algo como autorizacion_descuento.

Como siempre, les agradezco por adelantado su tiempo en leer este correo y sus 
comentarios.

Saludos!

Juan Manuel Acuña.



-BEGIN PGP SIGNATURE-
Version: GnuPG/MacGPG2 v2.0.14 (Darwin)

iEYEARECAAYFAk3AKhQACgkQTc4QiYN6hDcy9gCfVObQCaj55w6i9Uv7PA6yBgDG
8+sAn1NsDe8s2Od4CNKqS1aGfrIvxcGb
=+3zo
-END PGP SIGNATURE-
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


Re: [pgsql-es-ayuda] Tablas case-sensitive

2011-05-03 Por tema Harold Alexander Onore Harold
Saludos amigo... me gustaria sabes si estas haciendo uso de algun ETL para
realizar la conversion de mysql a postgresql

El 3 de mayo de 2011 11:45, Juan Manuel Acuña Barrera
escribió:

> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
>
> Buenos días.
>
> Como les comenté en correos anteriores, estoy empezando apenas con
> PostgreSQL y como parte de ese comienzo estoy migrando una aplicación
> mysql/php a postgresql/php. Hasta ahora los problemas con los que me
> encontré los pude solucionar fácilmente, pero en este momento estoy atorado
> con lo siguiente: la mayoría de las tablas en mysql de mi aplicación tienen
> una o más mayúsculas, ya sea iniciales (por ejemplo IDmesa) o intermedias
> (por ejemplo autorizacionDescuento). Ahora que he migrado la base de datos a
> PostgreSQL me doy cuenta que me ha movido todo a minúsculas, y esto me está
> dando algunos problemas en mi aplicación.
>
> En fin, todo este rollo era para preguntar, hay manera de hacer que
> PostgreSQL sea case-sensitive, o sea, que me deje que la tabla la ponga
> autorizacionDescuento y no me la ponga autorizaciondescuento, o,
> directamente será mejor modificar mi tabla por algo como
> autorizacion_descuento.
>
> Como siempre, les agradezco por adelantado su tiempo en leer este correo y
> sus comentarios.
>
> Saludos!
>
> Juan Manuel Acuña.
>
>
>
> -BEGIN PGP SIGNATURE-
> Version: GnuPG/MacGPG2 v2.0.14 (Darwin)
>
> iEYEARECAAYFAk3AKhQACgkQTc4QiYN6hDcy9gCfVObQCaj55w6i9Uv7PA6yBgDG
> 8+sAn1NsDe8s2Od4CNKqS1aGfrIvxcGb
> =+3zo
> -END PGP SIGNATURE-
> -
> Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org
> )
> Para cambiar tu suscripción:
> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>


Re: [pgsql-es-ayuda] Tablas case-sensitive

2011-05-03 Por tema Alvaro Herrera
Excerpts from Juan Manuel Acuña Barrera's message of mar may 03 13:15:12 -0300 
2011:

> Como les comenté en correos anteriores, estoy empezando apenas con PostgreSQL 
> y como parte de ese comienzo estoy migrando una aplicación mysql/php a 
> postgresql/php. Hasta ahora los problemas con los que me encontré los pude 
> solucionar fácilmente, pero en este momento estoy atorado con lo siguiente: 
> la mayoría de las tablas en mysql de mi aplicación tienen una o más 
> mayúsculas, ya sea iniciales (por ejemplo IDmesa) o intermedias (por ejemplo 
> autorizacionDescuento). Ahora que he migrado la base de datos a PostgreSQL me 
> doy cuenta que me ha movido todo a minúsculas, y esto me está dando algunos 
> problemas en mi aplicación. 
> 
> En fin, todo este rollo era para preguntar, hay manera de hacer que 
> PostgreSQL sea case-sensitive, o sea, que me deje que la tabla la ponga 
> autorizacionDescuento y no me la ponga autorizaciondescuento, o, directamente 
> será mejor modificar mi tabla por algo como autorizacion_descuento.

Puedes hacer que conserve las mayúsculas encerrando los identificadores
en comillas: create table "autorizacionDescuento".

Si tienes problemas, es porque la aplicación está usando identificadores
encerrados por comillas pero no las estás usando en la creación de
tablas.  Lo más simple es ser consistente: usas comillas para todo (con
lo cual se preservan las mayúsculas) o no las usas en ninguna parte (y
queda todo en minúscula, pero no hay problema porque en cada consulta se
convertirán a minúscula también y no habrá error).

-- 
Álvaro Herrera 
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


Re: [pgsql-es-ayuda] Tablas case-sensitive

2011-05-03 Por tema Juan Manuel Acuña Barrera
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

El 03/05/2011, a las 11:21, Harold Alexander Onore Harold escribió:

> Saludos amigo... me gustaria sabes si estas haciendo uso de algun ETL para 
> realizar la conversion de mysql a postgresql
> 
> El 3 de mayo de 2011 11:45, Juan Manuel Acuña Barrera  
> escribió:
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
> 
> Buenos días.
> 
> Como les comenté en correos anteriores, estoy empezando apenas con PostgreSQL 
> y como parte de ese comienzo estoy migrando una aplicación mysql/php a 
> postgresql/php. Hasta ahora los problemas con los que me encontré los pude 
> solucionar fácilmente, pero en este momento estoy atorado con lo siguiente: 
> la mayoría de las tablas en mysql de mi aplicación tienen una o más 
> mayúsculas, ya sea iniciales (por ejemplo IDmesa) o intermedias (por ejemplo 
> autorizacionDescuento). Ahora que he migrado la base de datos a PostgreSQL me 
> doy cuenta que me ha movido todo a minúsculas, y esto me está dando algunos 
> problemas en mi aplicación.
> 
> En fin, todo este rollo era para preguntar, hay manera de hacer que 
> PostgreSQL sea case-sensitive, o sea, que me deje que la tabla la ponga 
> autorizacionDescuento y no me la ponga autorizaciondescuento, o, directamente 
> será mejor modificar mi tabla por algo como autorizacion_descuento.
> 
> Como siempre, les agradezco por adelantado su tiempo en leer este correo y 
> sus comentarios.
> 
> Saludos!
> 
> Juan Manuel Acuña.
> 
> 
> 
> -BEGIN PGP SIGNATURE-
> Version: GnuPG/MacGPG2 v2.0.14 (Darwin)
> 
> iEYEARECAAYFAk3AKhQACgkQTc4QiYN6hDcy9gCfVObQCaj55w6i9Uv7PA6yBgDG
> 8+sAn1NsDe8s2Od4CNKqS1aGfrIvxcGb
> =+3zo
> -END PGP SIGNATURE-
> -
> Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
> Para cambiar tu suscripción:
> http://www.postgresql.org/mailpref/pgsql-es-ayuda
> 


De hecho usé http://pgfoundry.org/projects/mysql2pgsql/ y seguí las 
instrucciones de 
http://wiki.postgresql.org/wiki/Conversi%C3%B3n_de_datos_a_PostgreSQL

Saludos!

-BEGIN PGP SIGNATURE-
Version: GnuPG/MacGPG2 v2.0.14 (Darwin)

iEYEARECAAYFAk3ALygACgkQTc4QiYN6hDf/JgCgiAW3aZYExdge7bhO9hCjYcUr
ysgAniHWEx8i7FwS4RfZxnxIiQKQTr27
=m4Uq
-END PGP SIGNATURE-
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


Re: [pgsql-es-ayuda] Tablas case-sensitive

2011-05-03 Por tema Juan Manuel Acuña Barrera
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


El 03/05/2011, a las 11:25, Alvaro Herrera escribió:

> Excerpts from Juan Manuel Acuña Barrera's message of mar may 03 13:15:12 
> -0300 2011:
> 
>> Como les comenté en correos anteriores, estoy empezando apenas con 
>> PostgreSQL y como parte de ese comienzo estoy migrando una aplicación 
>> mysql/php a postgresql/php. Hasta ahora los problemas con los que me 
>> encontré los pude solucionar fácilmente, pero en este momento estoy atorado 
>> con lo siguiente: la mayoría de las tablas en mysql de mi aplicación tienen 
>> una o más mayúsculas, ya sea iniciales (por ejemplo IDmesa) o intermedias 
>> (por ejemplo autorizacionDescuento). Ahora que he migrado la base de datos a 
>> PostgreSQL me doy cuenta que me ha movido todo a minúsculas, y esto me está 
>> dando algunos problemas en mi aplicación. 
>> 
>> En fin, todo este rollo era para preguntar, hay manera de hacer que 
>> PostgreSQL sea case-sensitive, o sea, que me deje que la tabla la ponga 
>> autorizacionDescuento y no me la ponga autorizaciondescuento, o, 
>> directamente será mejor modificar mi tabla por algo como 
>> autorizacion_descuento.
> 
> Puedes hacer que conserve las mayúsculas encerrando los identificadores
> en comillas: create table "autorizacionDescuento".
> 
> Si tienes problemas, es porque la aplicación está usando identificadores
> encerrados por comillas pero no las estás usando en la creación de
> tablas.  Lo más simple es ser consistente: usas comillas para todo (con
> lo cual se preservan las mayúsculas) o no las usas en ninguna parte (y
> queda todo en minúscula, pero no hay problema porque en cada consulta se
> convertirán a minúscula también y no habrá error).
> 
> -- 
> Álvaro Herrera 

Muchas gracias Álvaro, voy a revisar cual opción funcionará mejor en la 
aplicación.

Saludos!

Juan Manuel Acuña.

-BEGIN PGP SIGNATURE-
Version: GnuPG/MacGPG2 v2.0.14 (Darwin)

iEYEARECAAYFAk3AMSkACgkQTc4QiYN6hDd9TwCfQYIQaWHxFki9CVx88pQ2dVdf
7wIAn3uS29OKFvWRmqFMIowvCRnQikWu
=ESB1
-END PGP SIGNATURE-
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


RE: [pgsql-es-ayuda] completar un intervalo de fechas en select

2011-05-03 Por tema Conrado Blasetti
Puede ser un poco rebuscado según quien lo haga... seguramente hay otras formas 
pero:

 

CREATE TABLE foo

(

  id numeric,

  fecha date,

  cant numeric

);

 

INSERT INTO foo SELECT 1, TO_DATE('01022010','DDMM'), 10;

INSERT INTO foo SELECT 2, TO_DATE('03022010','DDMM'), 5;

INSERT INTO foo SELECT 3, TO_DATE('04022010','DDMM'), 4;

INSERT INTO foo SELECT 4, TO_DATE('05022010','DDMM'), 2;

 

SELECT id, 

fecha, 

  cant 

  FROM foo

UNION

SELECT id, 

fecha, 

cant 

  FROM ( SELECT NULL::NUMERIC id, 

 generate_series(1, (SELECT 
max(fecha)-min(fecha) 

   FROM 
foo) )+(SELECT min(fecha) 


FROM foo)::DATE fecha, 

 ::NUMERIC cant) x

 WHERE x.fecha < (SELECT max(fecha) 

   FROM foo)

   AND  x.fecha NOT IN ( SELECT fecha 

FROM foo)

 ORDER BY 2

 

Saludos,

 



De: pgsql-es-ayuda-ow...@postgresql.org 
[mailto:pgsql-es-ayuda-ow...@postgresql.org] En nombre de Virginia
Enviado el: Lunes, 02 de Mayo de 2011 12:38 p.m.
Para: Ayuda
Asunto: [pgsql-es-ayuda] completar un intervalo de fechas en select

 

Buen día Lista!!!
Tengo una tabla que me arroja el siguiente resultado al ejecutar el select:



id date count



1 2/1/2010 10

2 2/3/2010  5




3 2/4/2010  4

4 2/5/2010  2



Mi pregunta es: Hay alguna manera de que en el SELECT pueda completar el 
intervalo y colocar las fechas 

2/2/2010 y 2/6/2010 de la siguiente manera:

  

id date count






1 2/1/2010 10

  2/2/2010  0

2 2/3/2010  5

3 2/4/2010  4

4 2/5/2010  2

   2/6/2010   0




  

Gracias de Antemano

---
Virginia
---



RE: [pgsql-es-ayuda] Imagenes en una BD con npgsql

2011-05-03 Por tema Ramón Alberto Bruening González

Buenos dias Lista:

De hecho yo guardo las imagenes una la base de datos postgres y hasta la fecha 
sin problemas, eso si, es otra base de datos, o sea tengo una base de datos 
para los datos y otra base de datos para las imagenes, y recupero la 
informacion y las imagenes por separado, el problema q usualmente suele haber 
pero no es atribuile a postgresql, es el transito en la red cuando es una 
imagen muy grande para guardar, alrededor de 5 mb.

> From: lgarc...@vnz.uci.cu
> To: gastonri...@hotmail.com; pgsql-es-ayuda@postgresql.org
> Date: Mon, 2 May 2011 10:10:23 -0430
> Subject: RE: [pgsql-es-ayuda] Imagenes en una BD con npgsql
> 
> Puedes almacenar las imágenes en un campo de tipo bytea o también puedes 
> utilizar objetos largos.
> 
> Saludos.
> 
> De: pgsql-es-ayuda-ow...@postgresql.org [pgsql-es-ayuda-ow...@postgresql.org] 
> En nombre de Gaston Rider [gastonri...@hotmail.com]
> Enviado el: lunes, 02 de mayo de 2011 5:36
> Para: Postgres Lista
> Asunto: [pgsql-es-ayuda] Imagenes en una BD con npgsql
> 
> Vengo de msql server, y allì por diferentes razones habia optado por no 
> guardar las imagenes directamente en la base de datos, si no guardar el path 
> de donde se encontraba cada una de estas. Esta decision la tomé por problemas 
> para recuperar la imagen, y ademàs, no se si culparla por esto, las consultas 
> demoraban mucho mas que cuando la BD no tenia estos campos de imagenes.
> 
> Bien ahora, ya que he migrado de motor.. me gustarìa re-intentar guardar las 
> imagenes en la bd
> 
> las imagenes a guardar son 5 de aprox 70Kb c/u
> 
> busco una opinion, de alguien que tenga experiencia en este tipo de campos...
> 
> conviene guardarla en la BD o guardarla como archivo fuera de la BD?
> 
> 
> tambien, si alguien tiene un ejemplo de como guardar/recuperar la imagen con 
> npgsql y vb.
> 
> Muchas Gracias.
> -
> Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
> Para cambiar tu suscripción:
> http://www.postgresql.org/mailpref/pgsql-es-ayuda
  

RE: [pgsql-es-ayuda] Imagenes en una BD con npgsql

2011-05-03 Por tema Alvaro Herrera
Excerpts from albertobruening's message of lun may 02 11:46:51 -0300 2011:
> 
> Buenos dias Lista:
> 
> De hecho yo guardo las imagenes una la base de datos postgres y hasta
> la fecha sin problemas, eso si, es otra base de datos, o sea tengo una
> base de datos para los datos y otra base de datos para las imagenes, y
> recupero la informacion y las imagenes por separado,

¿Por qué lo hiciste así?

-- 
Álvaro Herrera 
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


Re: [pgsql-es-ayuda] poblemas con pg9.0.3

2011-05-03 Por tema Miguel Angel Hernandez Moreno
gracias mi base de datos funciono perfectamente

hice la instalacion del 9.0.4 sin moverle nada a la bd que ya estaba
instalada

El 2 de mayo de 2011 17:42, Alvaro Herrera escribió:

> Excerpts from manuel antonio ochoa's message of lun may 02 19:31:07 -0300
> 2011:
> > Si realmente entiendo lo que nos comentas y tienes la razon , rectifico
> > 9.0.4
> >
> > Pero ando un poco un poco apurado por esto de la base ustedes como
> > administarados profesionales, deben de entender los siginifica tener una
> > base datos parada por un tiempo mayor a medio dia.
>
> Yo lo entiendo perfectamente, los clientes de Command Prompt me matarían.
>
> En todo caso la posición oficial del PGDG es que es más riesgoso correr
> una BD que no es la última de su rama correspondiente estable que
> actualizar.
>
> --
> Álvaro Herrera 
>



-- 
ISC Miguel Angel Hernandez Moreno


Re: [pgsql-es-ayuda] data_directory

2011-05-03 Por tema Jaime Casanova
El 03/05/2011 09:42, "Harold Alexander Onore Harold" 
escribió:
>
> Saludo Comunidad,
>
> Tengo la carpeta data instalada en otro directorio que no es el que viene
por defecto, debo configurar alguna variable?
>
>

Puedes setear la variable de ambiente PGDATA pero no es obligatorio.

Sin embargo, si tienes un script que arranque postgres por ti asegurate que
use el data_directory apropiado

--
Jaime Casanovawww.2ndQuadrant.com


Re: [pgsql-es-ayuda] poblemas con pg9.0.3

2011-05-03 Por tema Jaime Casanova
2011/5/3 Miguel Angel Hernandez Moreno :
> gracias mi base de datos funciono perfectamente
>
> hice la instalacion del 9.0.4 sin moverle nada a la bd que ya estaba
> instalada
>

Que bueno! Ahora solo falta ver si a Manuel se le soluciona el
problema tambien solo actualizando.

-- 
Jaime Casanova         www.2ndQuadrant.com
Professional PostgreSQL: Soporte y capacitación de PostgreSQL
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda