Thread: Moving a table to another directory
Hi guys I have a big table (25 gb) and a need to move it to another directory cos i'm out of space.
making a symlik will be ok? or I have to do something else
thanks in advance!
pelle.-
making a symlik will be ok? or I have to do something else
thanks in advance!
pelle.-
Ezequiel Luis Pellettieri написа: > Hi guys I have a big table (25 gb) and a need to move it to another > directory cos i'm out of space. > making a symlik will be ok? or I have to do something else > 1. CREATE TABLESPACE xxx LOCATION 'another_dir' (http://www.postgresql.org/docs/current/static/sql-createtablespace.html); 2. ALTER TABLE big_table SET TABLESPACE xxx; (http://www.postgresql.org/docs/current/static/sql-altertable.html) -- Milen A. Radev
Thanks Milen, does it work on 7.4??
pelle.-
2007/2/5, Milen A. Radev <milen@radev.net>:
Ezequiel Luis Pellettieri написа:
> Hi guys I have a big table (25 gb) and a need to move it to another
> directory cos i'm out of space.
> making a symlik will be ok? or I have to do something else
>
1. CREATE TABLESPACE xxx LOCATION 'another_dir'
( http://www.postgresql.org/docs/current/static/sql-createtablespace.html);
2. ALTER TABLE big_table SET TABLESPACE xxx;
(http://www.postgresql.org/docs/current/static/sql-altertable.html )
--
Milen A. Radev
> 2007/2/5, Milen A. Radev <milen@radev.net>: > > Ezequiel Luis Pellettieri написа: > > > Hi guys I have a big table (25 gb) and a need to move it to another > > > directory cos i'm out of space. > > > making a symlik will be ok? or I have to do something else > > > > > > > > > 1. CREATE TABLESPACE xxx LOCATION 'another_dir' > > ( > http://www.postgresql.org/docs/current/static/sql-createtablespace.html); > > > > 2. ALTER TABLE big_table SET TABLESPACE xxx; > > > (http://www.postgresql.org/docs/current/static/sql-altertable.html > ) > > On 2/5/07, Ezequiel Luis Pellettieri <ezequiel.pellettieri@gmail.com> wrote: > Thanks Milen, does it work on 7.4?? > oops... your symlink will be ok... use the contrib oid2name to identify the files corresponding to that table... and maybe the indexes as well... what i remember from the ancient era pre-tablespace (2 or 3 years ago) is that a pg_dump and/or reindex will return all to it's original state... -- regards, Jaime Casanova "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs and the universe trying to produce bigger and better idiots. So far, the universe is winning." Richard Cook
Jaime you mean that moving all table files and pointing the symlink to the first one will work?
and doing the same with its index too...?
thanks for your help!
pelle.-
--
Saludos cordiales. Ezequiel L. Pellettieri
and doing the same with its index too...?
thanks for your help!
pelle.-
2007/2/6, Jaime Casanova <systemguards@gmail.com>:
> 2007/2/5, Milen A. Radev <milen@radev.net>:
> > Ezequiel Luis Pellettieri написа:
> > > Hi guys I have a big table (25 gb) and a need to move it to another
> > > directory cos i'm out of space.
> > > making a symlik will be ok? or I have to do something else
> > >
> >
> >
> > 1. CREATE TABLESPACE xxx LOCATION 'another_dir'
> > (
> http://www.postgresql.org/docs/current/static/sql-createtablespace.html);
> >
> > 2. ALTER TABLE big_table SET TABLESPACE xxx;
> >
> (http://www.postgresql.org/docs/current/static/sql-altertable.html
> )
> >
On 2/5/07, Ezequiel Luis Pellettieri < ezequiel.pellettieri@gmail.com> wrote:
> Thanks Milen, does it work on 7.4??
>
oops... your symlink will be ok... use the contrib oid2name to
identify the files corresponding to that table... and maybe the
indexes as well...
what i remember from the ancient era pre-tablespace (2 or 3 years ago)
is that a pg_dump and/or reindex will return all to it's original
state...
--
regards,
Jaime Casanova
"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs and the universe trying
to produce bigger and better idiots.
So far, the universe is winning."
Richard Cook
--
Saludos cordiales. Ezequiel L. Pellettieri
On 2/5/07, Ezequiel Luis Pellettieri <ezequiel.pellettieri@gmail.com> wrote: > Jaime you mean that moving all table files and pointing the symlink to the > first one will work? > and doing the same with its index too...? > no, IIRC, you need a symlink per table's file, the same for index's files... you shoukd think in upgrading... ;) -- regards, Jaime Casanova "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs and the universe trying to produce bigger and better idiots. So far, the universe is winning." Richard Cook
On Mon, 2007-02-05 at 21:03, Jaime Casanova wrote: > > 2007/2/5, Milen A. Radev <milen@radev.net>: > > > Ezequiel Luis Pellettieri написа: > > > > Hi guys I have a big table (25 gb) and a need to move it to another > > > > directory cos i'm out of space. > > > > making a symlik will be ok? or I have to do something else > > > > > > > > > > > > > 1. CREATE TABLESPACE xxx LOCATION 'another_dir' > > > ( > > http://www.postgresql.org/docs/current/static/sql-createtablespace.html); > > > > > > 2. ALTER TABLE big_table SET TABLESPACE xxx; > > > > > (http://www.postgresql.org/docs/current/static/sql-altertable.html > > ) > > > > On 2/5/07, Ezequiel Luis Pellettieri <ezequiel.pellettieri@gmail.com> wrote: > > Thanks Milen, does it work on 7.4?? > > > > oops... your symlink will be ok... use the contrib oid2name to > identify the files corresponding to that table... and maybe the > indexes as well... > > what i remember from the ancient era pre-tablespace (2 or 3 years ago) > is that a pg_dump and/or reindex will return all to it's original > state... Note that you've also got the option of using initlocation. This only allows you to create entire databases on alternate storage location, not individual tables. If you DO go with symlinks, certain operations may result in losing the link and recreating the table in the local directory (i.e. anything that would change the OID assigned to that table, as I believe cluster and reindex would do) See http://www.postgresql.org/docs/7.4/static/app-initlocation.html and http://www.postgresql.org/docs/7.4/static/sql-createdatabase.html But my primary recommendation is to upgrade to AT LEAST 8.1 version of PostgreSQL. Now that 8.2.2 is out, I'd consider going to it. 7.4 is getting pretty long in the tooth by comparison.
On 2/7/07, Ezequiel Luis Pellettieri <ezequiel.pellettieri@gmail.com> wrote: > thanks guys, is it possible to go with it, without stopping the postmaster? > maybe just rejecting conns to the DB... > this is cos I had another DB's running... > > thanks again. > AFAIR, no -- regards, Jaime Casanova "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs and the universe trying to produce bigger and better idiots. So far, the universe is winning." Richard Cook
thanks guys, is it possible to go with it, without stopping the postmaster? maybe just rejecting conns to the DB...
this is cos I had another DB's running...
thanks again.
pelle.-
--
Saludos cordiales. Ezequiel L. Pellettieri
this is cos I had another DB's running...
thanks again.
pelle.-
2007/2/6, Scott Marlowe <smarlowe@g2switchworks.com>:
On Mon, 2007-02-05 at 21:03, Jaime Casanova wrote:
> > 2007/2/5, Milen A. Radev <milen@radev.net>:
> > > Ezequiel Luis Pellettieri написа:
> > > > Hi guys I have a big table (25 gb) and a need to move it to another
> > > > directory cos i'm out of space.
> > > > making a symlik will be ok? or I have to do something else
> > > >
> > >
> > >
> > > 1. CREATE TABLESPACE xxx LOCATION 'another_dir'
> > > (
> > http://www.postgresql.org/docs/current/static/sql-createtablespace.html);
> > >
> > > 2. ALTER TABLE big_table SET TABLESPACE xxx;
> > >
> > (http://www.postgresql.org/docs/current/static/sql-altertable.html
> > )
> > >
> On 2/5/07, Ezequiel Luis Pellettieri < ezequiel.pellettieri@gmail.com> wrote:
> > Thanks Milen, does it work on 7.4??
> >
>
> oops... your symlink will be ok... use the contrib oid2name to
> identify the files corresponding to that table... and maybe the
> indexes as well...
>
> what i remember from the ancient era pre-tablespace (2 or 3 years ago)
> is that a pg_dump and/or reindex will return all to it's original
> state...
Note that you've also got the option of using initlocation. This only
allows you to create entire databases on alternate storage location, not
individual tables.
If you DO go with symlinks, certain operations may result in losing the
link and recreating the table in the local directory (i.e. anything that
would change the OID assigned to that table, as I believe cluster and
reindex would do)
See
http://www.postgresql.org/docs/7.4/static/app-initlocation.html
and
http://www.postgresql.org/docs/7.4/static/sql-createdatabase.html
But my primary recommendation is to upgrade to AT LEAST 8.1 version of
PostgreSQL. Now that 8.2.2 is out, I'd consider going to it. 7.4 is
getting pretty long in the tooth by comparison.
--
Saludos cordiales. Ezequiel L. Pellettieri