Fwd: Como mover pg_largeobject a un nuevo tablespace

From: Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>
To: ecpug(at)postgresql(dot)org
Subject: Fwd: Como mover pg_largeobject a un nuevo tablespace
Date: 2009-12-19 17:23:54
Message-ID: 3073cc9b0912190923y6c0dc086r29dd4d0b41b9fd93@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: ecpug

Saludos,

Que bruto que soy! hace algunos meses pedí permiso para enviar este
correo a la lista del Grupo de Usuarios de PostgreSQL de Ecuador a la
persona que me pregunto originalmente, y aunque el estuvo de acuerdo
parece que lo envíe al correo equivocado y acabo de darme cuenta
porque lo busque en los archivos de la lista y no lo encontraba...

asi que aqui esta:

---------- Forwarded message ----------
From: Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>
Date: 2009/10/6
Subject: [ecpug] Como mover pg_largeobject a un nuevo tablespace
To: ec(at)postgresql(dot)org

Saludos,

Aunque mover catalogos del sistema puede ser peligroso pg_largeobject
es un caso aparte por que ahi se almacenan los objetos grandes (fotos,
documentos, etc...) que almacenamos en la base y puede crecer
bastante. Ademas no hay peligro en mover este catalogo.

---------- Forwarded message ----------
From: Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>
Date: 2009/10/6
Subject: Re: Postgres
To: Amstrong Huang <amstrong(dot)huang(at)ndeveloper(dot)com>

2009/10/5 Amstrong Huang <amstrong(dot)huang(at)ndeveloper(dot)com>:
> Buenas,
> quisiera preguntarle si hay alguna forma de mover de tablespace la tabla
> pg_largeobject?
>

Saludos,

Como comprenderas siendo pg_largeobject un catalogo del sistema el
hacer cambios en su estructura (tienes que ejecutar un ALTER TABLE) no
esta permitido tan a la ligera, en el caso de algunos catalogos como
pg_class puede incluso resultar peligroso...

sin embargo, pg_largeobject es obviamente un caso aparte en esto y si
se puede si inicias en modo standalone y habilitas el cambio de
estructura de los catalogos del sistema...

esto lo haces:
1) Crea el nuevo tablespace
   $PGDIR/bin/psql
   CREATE TABLESPACE nuevo_tablespace LOCATION '$NUEVO_TABLESPACE';
2) baja el servicio de postgres
   $PGDIR/bin/pg_ctl -D $PGDATA stop
3) inicias en modo standalone habiliando cambios de estructura en los
catalogos del sistema
   $PGDIR/bin/postmaster --single -O -D $PGDATA $BASE
4) ejecutas el alter table
   ALTER TABLE pg_largeobject SET TABLESPACE nuevo_tablespace;
5) control+d para salir del modo standalone
6) vuelves a subir el servicio
   $PGDIR/bin/pg_ctl -D $PGDATA start

donde:
$PGDIR = es la ruta donde esta instalado postgres (la ruta justo antes
de la carpeta bin)
$PGDATA = es la ruta donde esta tu carpeta data
$NUEVO_TABLESPACE = es la ruta al directorio en el que estara tu nuevo
tablespace
$BASE = es el nombre de la base de datos a la que vas afectar el pg_largeobject

--
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Asesoría y desarrollo de sistemas
Guayaquil - Ecuador
Cel. +59387171157

--
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Asesoría y desarrollo de sistemas
Guayaquil - Ecuador
Cel. +59387171157

Browse ecpug by date

  From Date Subject
Next Message Jaime Casanova 2009-12-21 06:52:16 Nuevas actualizaciones de seguridad de PostgreSQL
Previous Message Jaime Casanova 2009-11-07 04:47:26 Funciones window