Обсуждение: how to alter sequence.

Поиск
Список
Период
Сортировка

how to alter sequence.

От
raja kumar thatte
Дата:
Hai friends,
I have a sequence called raj_seq with max value 3000.
I have a table, with one field haveing
nextvalu('raj_seq') as default value.;
now i wanted to increase the max value of the raj_seq
to 9999999.
How to do this change?
If i drop and recreate the raj_seq, then i have to
recreate the table and all triggers working on that
table.But it is not an acceptable solution.
So with out droping raj_seq , how do I solve this
problem.
Thanks in advance.
have a nice time.
raja



__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com

Re: how to alter sequence.

От
"Dan Langille"
Дата:
On 4 Dec 2002 at 4:29, raja kumar thatte wrote:

> Hai friends,
> I have a sequence called raj_seq with max value 3000.
> I have a table, with one field haveing
> nextvalu('raj_seq') as default value.;
> now i wanted to increase the max value of the raj_seq
> to 9999999.
> How to do this change?

http://www.postgresql.org/idocs/index.php?functions-sequence.html
Look for setval
--
Dan Langille : http://www.langille.org/


Re: how to alter sequence.

От
raja kumar thatte
Дата:
Hai friend,
Thanks. But I wanted to change the maximum value but
not current value. How to change the maximum value of
a sequence

raja


--- Dan Langille <dan@langille.org> wrote:
> On 4 Dec 2002 at 4:29, raja kumar thatte wrote:
>
> > Hai friends,
> > I have a sequence called raj_seq with max value
> 3000.
> > I have a table, with one field haveing
> > nextvalu('raj_seq') as default value.;
> > now i wanted to increase the max value of the
> raj_seq
> > to 9999999.
> > How to do this change?
>
>
http://www.postgresql.org/idocs/index.php?functions-sequence.html
> Look for setval
> --
> Dan Langille : http://www.langille.org/
>
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster


__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com

Re: how to alter sequence.

От
"Dan Langille"
Дата:
On 4 Dec 2002 at 5:20, raja kumar thatte wrote:

> Hai friend,
> Thanks. But I wanted to change the maximum value but
> not current value. How to change the maximum value of
> a sequence

I'm sorry.  I shouldn't reply to questions first thing in the
morning.

That I don't know, but I'm sure it can be done.... someone else will
know.
--
Dan Langille : http://www.langille.org/


Re: how to alter sequence.

От
Egon Reetz
Дата:
Drop the sequence and recreate with a min. value greater your last value and
the new max. value.

Egon


raja kumar thatte wrote:

> Hai friends,
> I have a sequence called raj_seq with max value 3000.
> I have a table, with one field haveing
> nextvalu('raj_seq') as default value.;
> now i wanted to increase the max value of the raj_seq
> to 9999999.
> How to do this change?
> If i drop and recreate the raj_seq, then i have to
> recreate the table and all triggers working on that
> table.But it is not an acceptable solution.
> So with out droping raj_seq , how do I solve this
> problem.
> Thanks in advance.
> have a nice time.
> raja
>
> __________________________________________________
> Do you Yahoo!?
> Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
> http://mailplus.yahoo.com
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org


Re: how to alter sequence.

От
Egon Reetz
Дата:
I meant start value (inst. min.).

Egon Reetz wrote:

> Drop the sequence and recreate with a min. value greater your last value and
> the new max. value.
>
> Egon
>
> raja kumar thatte wrote:
>
> > Hai friends,
> > I have a sequence called raj_seq with max value 3000.
> > I have a table, with one field haveing
> > nextvalu('raj_seq') as default value.;
> > now i wanted to increase the max value of the raj_seq
> > to 9999999.
> > How to do this change?
> > If i drop and recreate the raj_seq, then i have to
> > recreate the table and all triggers working on that
> > table.But it is not an acceptable solution.
> > So with out droping raj_seq , how do I solve this
> > problem.
> > Thanks in advance.
> > have a nice time.
> > raja
> >
> > __________________________________________________
> > Do you Yahoo!?
> > Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
> > http://mailplus.yahoo.com
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 6: Have you searched our list archives?
> >
> > http://archives.postgresql.org
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/users-lounge/docs/faq.html


Re: how to alter sequence.

От
raja kumar thatte
Дата:
Thsnkd
--- Egon Reetz <reetz@usco.de> wrote:
> I meant start value (inst. min.).
>
> Egon Reetz wrote:
>
> > Drop the sequence and recreate with a min. value
> greater your last value and
> > the new max. value.
> >
> > Egon
> >
> > raja kumar thatte wrote:
> >
> > > Hai friends,
> > > I have a sequence called raj_seq with max value
> 3000.
> > > I have a table, with one field haveing
> > > nextvalu('raj_seq') as default value.;
> > > now i wanted to increase the max value of the
> raj_seq
> > > to 9999999.
> > > How to do this change?
> > > If i drop and recreate the raj_seq, then i have
> to
> > > recreate the table and all triggers working on
> that
> > > table.But it is not an acceptable solution.
> > > So with out droping raj_seq , how do I solve
> this
> > > problem.
> > > Thanks in advance.
> > > have a nice time.
> > > raja
> > >
> > >
> __________________________________________________
> > > Do you Yahoo!?
> > > Yahoo! Mail Plus - Powerful. Affordable. Sign up
> now.
> > > http://mailplus.yahoo.com
> > >
> > > ---------------------------(end of
> broadcast)---------------------------
> > > TIP 6: Have you searched our list archives?
> > >
> > > http://archives.postgresql.org
> >
> > ---------------------------(end of
> broadcast)---------------------------
> > TIP 5: Have you checked our extensive FAQ?
> >
> >
> http://www.postgresql.org/users-lounge/docs/faq.html
>


__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com

Re: how to alter sequence.

От
raja kumar thatte
Дата:
Thanks
--- Egon Reetz <reetz@usco.de> wrote:
> I meant start value (inst. min.).
>
> Egon Reetz wrote:
>
> > Drop the sequence and recreate with a min. value
> greater your last value and
> > the new max. value.
> >
> > Egon
> >
> > raja kumar thatte wrote:
> >
> > > Hai friends,
> > > I have a sequence called raj_seq with max value
> 3000.
> > > I have a table, with one field haveing
> > > nextvalu('raj_seq') as default value.;
> > > now i wanted to increase the max value of the
> raj_seq
> > > to 9999999.
> > > How to do this change?
> > > If i drop and recreate the raj_seq, then i have
> to
> > > recreate the table and all triggers working on
> that
> > > table.But it is not an acceptable solution.
> > > So with out droping raj_seq , how do I solve
> this
> > > problem.
> > > Thanks in advance.
> > > have a nice time.
> > > raja
> > >
> > >
> __________________________________________________
> > > Do you Yahoo!?
> > > Yahoo! Mail Plus - Powerful. Affordable. Sign up
> now.
> > > http://mailplus.yahoo.com
> > >
> > > ---------------------------(end of
> broadcast)---------------------------
> > > TIP 6: Have you searched our list archives?
> > >
> > > http://archives.postgresql.org
> >
> > ---------------------------(end of
> broadcast)---------------------------
> > TIP 5: Have you checked our extensive FAQ?
> >
> >
> http://www.postgresql.org/users-lounge/docs/faq.html
>


__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com

Re: how to alter sequence.

От
Oliver Elphick
Дата:
On Wed, 2002-12-04 at 12:29, raja kumar thatte wrote:
> Hai friends,
> I have a sequence called raj_seq with max value 3000.
...
> now i wanted to increase the max value of the raj_seq
> to 9999999.
> How to do this change?
> If i drop and recreate the raj_seq, then i have to
> recreate the table and all triggers working on that
> table.But it is not an acceptable solution.
> So with out droping raj_seq , how do I solve this
> problem.

Unfortunately there doesn't seem to be any easy way to do this.  There
is no ALTER SEQUENCE command and you can't use UPDATE on a sequence.

Hackers: Could this be a TODO item for 7.4?


The easiest way to do this at present is probably to dump the database,
edit the dump to change the sequence max_value and then recreate the
database from the edited dump.  I presume you used CREATE SEQUENCE in
order to get such a low max_value.  If it were created from a SERIAL
datatype, you would also have to edit the table definition to use a
pre-created sequence.  There is no means of specifying a max_value using
SERIAL.

--
Oliver Elphick <olly@lfix.co.uk>
LFIX Limited


Re: [HACKERS] how to alter sequence.

От
Joel Burton
Дата:
On Wed, Dec 04, 2002 at 09:33:52AM -0800, Dustin Sallings wrote:
> Around 20:41 on Dec 4, 2002, Hannu Krosing said:
>
>     What's wrong with this:
>
> dustin=# create sequence test_seq;
> CREATE SEQUENCE
> dustin=# select nextval('test_seq');
>  nextval
> ---------
>        1
> (1 row)
>
> dustin=# select setval('test_seq', 9999);
>  setval
> --------
>    9999
> (1 row)
>
> dustin=# select nextval('test_seq');
>  nextval
> ---------
>    10000
> (1 row)

Dustin --

The thread here is about how to raise the *max* value for the sequence,
not how to set the current value higher. The sequence in question was
created with a too-low maximum value (see help on CREATE SEQUENCE for
options); the user now wants to raise it.

- J.
--

Joel BURTON  |  joel@joelburton.com  |  joelburton.com  |  aim: wjoelburton
Independent Knowledge Management Consultant

Re: [HACKERS] how to alter sequence.

От
Oliver Elphick
Дата:
On Wed, 2002-12-04 at 17:33, Dustin Sallings wrote:
>     What's wrong with this:
>
> dustin=# create sequence test_seq;
> CREATE SEQUENCE
> dustin=# select nextval('test_seq');
>  nextval
> ---------
>        1
> (1 row)
>
> dustin=# select setval('test_seq', 9999);
>  setval
> --------
>    9999
> (1 row)
>
> dustin=# select nextval('test_seq');
>  nextval
> ---------
>    10000
> (1 row)

It's not the issue.  The original question was how to change the upper
limit of the sequence's range, not its current value.

        junk=# create sequence foo_seq maxvalue 3000;
        CREATE SEQUENCE
        junk=# select nextval('foo_seq');
         nextval
        ---------
               1
        (1 row)

        junk=# select setval('foo_seq', 999999);
        ERROR:  foo_seq.setval: value 999999 is out of bounds (1,3000)

--
Oliver Elphick <olly@lfix.co.uk>
LFIX Limited


Re: how to alter sequence.

От
Bruce Momjian
Дата:
Oliver Elphick wrote:
> On Wed, 2002-12-04 at 12:29, raja kumar thatte wrote:
> > Hai friends,
> > I have a sequence called raj_seq with max value 3000.
> ...
> > now i wanted to increase the max value of the raj_seq
> > to 9999999.
> > How to do this change?
> > If i drop and recreate the raj_seq, then i have to
> > recreate the table and all triggers working on that
> > table.But it is not an acceptable solution.
> > So with out droping raj_seq , how do I solve this
> > problem.
>
> Unfortunately there doesn't seem to be any easy way to do this.  There
> is no ALTER SEQUENCE command and you can't use UPDATE on a sequence.

Gee, I thought they could just update the sequence table, but I see:

    test=> update yy set max_value = 100;
    ERROR:  You can't change sequence relation yy

> Hackers: Could this be a TODO item for 7.4?

Added to TODO:

        * Add ALTER SEQUENCE to modify min/max/increment/cache/cycle values

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

Re: how to alter sequence.

От
raja kumar thatte
Дата:
Thanks everybody.


--- Bruce Momjian <pgman@candle.pha.pa.us> wrote:
> Oliver Elphick wrote:
> > On Wed, 2002-12-04 at 12:29, raja kumar thatte
> wrote:
> > > Hai friends,
> > > I have a sequence called raj_seq with max value
> 3000.
> > ...
> > > now i wanted to increase the max value of the
> raj_seq
> > > to 9999999.
> > > How to do this change?
> > > If i drop and recreate the raj_seq, then i have
> to
> > > recreate the table and all triggers working on
> that
> > > table.But it is not an acceptable solution.
> > > So with out droping raj_seq , how do I solve
> this
> > > problem.
> >
> > Unfortunately there doesn't seem to be any easy
> way to do this.  There
> > is no ALTER SEQUENCE command and you can't use
> UPDATE on a sequence.
>
> Gee, I thought they could just update the sequence
> table, but I see:
>
>     test=> update yy set max_value = 100;
>     ERROR:  You can't change sequence relation yy
>
> > Hackers: Could this be a TODO item for 7.4?
>
> Added to TODO:
>
>         * Add ALTER SEQUENCE to modify
> min/max/increment/cache/cycle values
>
> --
>   Bruce Momjian                        |
> http://candle.pha.pa.us
>   pgman@candle.pha.pa.us               |  (610)
> 359-1001
>   +  If your life is a hard drive,     |  13 Roberts
> Road
>   +  Christ can be your backup.        |  Newtown
> Square, Pennsylvania 19073
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org


__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com

Re: how to alter sequence.

От
"Rajesh Kumar Mallah."
Дата:
Doesn't dropping and recreating the sequence suit the bill ?

whats' the major advantage to implement em as a command?

At least one thing from which all of us can benifit in PgSQL
is replication. I just hope 7.4 give us some sort of master/slave replication.


Regds
Mallah.


On Wednesday 04 December 2002 11:53 pm, Bruce Momjian wrote:
> Oliver Elphick wrote:
> > On Wed, 2002-12-04 at 12:29, raja kumar thatte wrote:
> > > Hai friends,
> > > I have a sequence called raj_seq with max value 3000.
> >
> > ...
> >
> > > now i wanted to increase the max value of the raj_seq
> > > to 9999999.
> > > How to do this change?
> > > If i drop and recreate the raj_seq, then i have to
> > > recreate the table and all triggers working on that
> > > table.But it is not an acceptable solution.
> > > So with out droping raj_seq , how do I solve this
> > > problem.
> >
> > Unfortunately there doesn't seem to be any easy way to do this.  There
> > is no ALTER SEQUENCE command and you can't use UPDATE on a sequence.
>
> Gee, I thought they could just update the sequence table, but I see:
>
>     test=> update yy set max_value = 100;
>     ERROR:  You can't change sequence relation yy
>
> > Hackers: Could this be a TODO item for 7.4?
>
> Added to TODO:
>
>         * Add ALTER SEQUENCE to modify min/max/increment/cache/cycle values

--
Rajesh Kumar Mallah,
Project Manager (Development)
Infocom Network Limited, New Delhi
phone: +91(11)6152172 (221) (L) ,9811255597 (M)

Visit http://www.trade-india.com ,
India's Leading B2B eMarketplace.



Re: how to alter sequence.

От
Bruce Momjian
Дата:
I don't think you can drop/recreate the sequence because the dependency
code knows other tables depend on it.

---------------------------------------------------------------------------

Rajesh Kumar Mallah. wrote:
>
> Doesn't dropping and recreating the sequence suit the bill ?
>
> whats' the major advantage to implement em as a command?
>
> At least one thing from which all of us can benifit in PgSQL
> is replication. I just hope 7.4 give us some sort of master/slave replication.
>
>
> Regds
> Mallah.
>
>
> On Wednesday 04 December 2002 11:53 pm, Bruce Momjian wrote:
> > Oliver Elphick wrote:
> > > On Wed, 2002-12-04 at 12:29, raja kumar thatte wrote:
> > > > Hai friends,
> > > > I have a sequence called raj_seq with max value 3000.
> > >
> > > ...
> > >
> > > > now i wanted to increase the max value of the raj_seq
> > > > to 9999999.
> > > > How to do this change?
> > > > If i drop and recreate the raj_seq, then i have to
> > > > recreate the table and all triggers working on that
> > > > table.But it is not an acceptable solution.
> > > > So with out droping raj_seq , how do I solve this
> > > > problem.
> > >
> > > Unfortunately there doesn't seem to be any easy way to do this.  There
> > > is no ALTER SEQUENCE command and you can't use UPDATE on a sequence.
> >
> > Gee, I thought they could just update the sequence table, but I see:
> >
> >     test=> update yy set max_value = 100;
> >     ERROR:  You can't change sequence relation yy
> >
> > > Hackers: Could this be a TODO item for 7.4?
> >
> > Added to TODO:
> >
> >         * Add ALTER SEQUENCE to modify min/max/increment/cache/cycle values
>
> --
> Rajesh Kumar Mallah,
> Project Manager (Development)
> Infocom Network Limited, New Delhi
> phone: +91(11)6152172 (221) (L) ,9811255597 (M)
>
> Visit http://www.trade-india.com ,
> India's Leading B2B eMarketplace.
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

Re: [HACKERS] how to alter sequence.

От
Hannu Krosing
Дата:
Oliver Elphick kirjutas K, 04.12.2002 kell 19:06:
> On Wed, 2002-12-04 at 12:29, raja kumar thatte wrote:
> > Hai friends,
> > I have a sequence called raj_seq with max value 3000.
> ...
> > now i wanted to increase the max value of the raj_seq
> > to 9999999.
> > How to do this change?
> > If i drop and recreate the raj_seq, then i have to
> > recreate the table and all triggers working on that
> > table.But it is not an acceptable solution.
> > So with out droping raj_seq , how do I solve this
> > problem.
>
> Unfortunately there doesn't seem to be any easy way to do this.  There
> is no ALTER SEQUENCE command and you can't use UPDATE on a sequence.
>
> Hackers: Could this be a TODO item for 7.4?

This seems to work - as an example why we need the TODO ;)

hannu=# update seq set max_value = 99;
ERROR:  You can't change sequence relation seq
hannu=# update pg_class set relkind = 'r' where relname = 'seq';
UPDATE 1
hannu=# update seq set max_value = 99;
UPDATE 1
hannu=# update pg_class set relkind = 'S' where relname = 'seq';
UPDATE 1
hannu=# select * from seq;
 sequence_name | last_value | increment_by | max_value | min_value |
cache_value | log_cnt | is_cycled | is_called
---------------+------------+--------------+-----------+-----------+-------------+---------+-----------+-----------
 seq           |          1 |            1 |        99 |         1
|           1 |       1 | f         | f
(1 row)

I can't really recommend it, because it may (or may not ;) have some
unwanted behaviours as well;


>
> The easiest way to do this at present is probably to dump the database,
> edit the dump to change the sequence max_value and then recreate the
> database from the edited dump.  I presume you used CREATE SEQUENCE in
> order to get such a low max_value.  If it were created from a SERIAL
> datatype, you would also have to edit the table definition to use a
> pre-created sequence.  There is no means of specifying a max_value using
> SERIAL.
--
Hannu Krosing <hannu@tm.ee>

Re: [HACKERS] how to alter sequence.

От
Dustin Sallings
Дата:
Around 20:41 on Dec 4, 2002, Hannu Krosing said:

    What's wrong with this:

dustin=# create sequence test_seq;
CREATE SEQUENCE
dustin=# select nextval('test_seq');
 nextval
---------
       1
(1 row)

dustin=# select setval('test_seq', 9999);
 setval
--------
   9999
(1 row)

dustin=# select nextval('test_seq');
 nextval
---------
   10000
(1 row)


# Oliver Elphick kirjutas K, 04.12.2002 kell 19:06:
# > On Wed, 2002-12-04 at 12:29, raja kumar thatte wrote:
# > > Hai friends,
# > > I have a sequence called raj_seq with max value 3000.
# > ...
# > > now i wanted to increase the max value of the raj_seq
# > > to 9999999.
# > > How to do this change?
# > > If i drop and recreate the raj_seq, then i have to
# > > recreate the table and all triggers working on that
# > > table.But it is not an acceptable solution.
# > > So with out droping raj_seq , how do I solve this
# > > problem.
# >
# > Unfortunately there doesn't seem to be any easy way to do this.  There
# > is no ALTER SEQUENCE command and you can't use UPDATE on a sequence.
# >
# > Hackers: Could this be a TODO item for 7.4?
#
# This seems to work - as an example why we need the TODO ;)
#
# hannu=# update seq set max_value = 99;
# ERROR:  You can't change sequence relation seq
# hannu=# update pg_class set relkind = 'r' where relname = 'seq';
# UPDATE 1
# hannu=# update seq set max_value = 99;
# UPDATE 1
# hannu=# update pg_class set relkind = 'S' where relname = 'seq';
# UPDATE 1
# hannu=# select * from seq;
#  sequence_name | last_value | increment_by | max_value | min_value |
# cache_value | log_cnt | is_cycled | is_called
# ---------------+------------+--------------+-----------+-----------+-------------+---------+-----------+-----------
#  seq           |          1 |            1 |        99 |         1
# |           1 |       1 | f         | f
# (1 row)
#
# I can't really recommend it, because it may (or may not ;) have some
# unwanted behaviours as well;
#
#
# >
# > The easiest way to do this at present is probably to dump the database,
# > edit the dump to change the sequence max_value and then recreate the
# > database from the edited dump.  I presume you used CREATE SEQUENCE in
# > order to get such a low max_value.  If it were created from a SERIAL
# > datatype, you would also have to edit the table definition to use a
# > pre-created sequence.  There is no means of specifying a max_value using
# > SERIAL.
# --
# Hannu Krosing <hannu@tm.ee>
#
# ---------------------------(end of broadcast)---------------------------
# TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
#
#

--
SPY                      My girlfriend asked me which one I like better.
pub  1024/3CAE01D5 1994/11/03 Dustin Sallings <dustin@spy.net>
|    Key fingerprint =  87 02 57 08 02 D0 DA D6  C8 0F 3E 65 51 98 D8 BE
L_______________________ I hope the answer won't upset her. ____________

Re: [HACKERS] how to alter sequence.

От
"Ross J. Reedstrom"
Дата:
On Thu, Dec 05, 2002 at 02:18:15PM -0500, Bruce Momjian wrote:
>
> I don't think you can drop/recreate the sequence because the dependency
> code knows other tables depend on it.

Actually, I don't think the current dependency code notices if you use a
sequence in a default clause (other than via the special SERIAL type):
you'll just get a broken table, I think. Since Raj's sequence _has_ a
maxvalue set, I assume it was hand created. Hmm, seems you don't even get
a borken table, just a NOTICE, in 7.2, and you don't even get that in 7.3.

Regardless, I _have_ come up with a work around,  based on my read
of the sequence code, I don't think this will create any pits to fall
into. I don't see any real need for it though, since drop/create seems
to handle it.

As DB superuser, do:

test=# create SEQUENCE foo maxvalue 10000;
CREATE
test=# select setval('raj_seq',3000);
 setval
--------
   3000
(1 row)

test=# select setval('raj_seq',20000);
ERROR:  raj_seq.setval: value 20000 is out of bounds (1,10000)
test=# update pg_class set relkind='r' where relname='raj_seq';
UPDATE 1
test=# update raj_seq set max_value=100000;
UPDATE 1
test=# vacuum full raj_seq;
VACUUM
test=# update pg_class set relkind='S' where relname='raj_seq';
UPDATE 1
test=# select setval('raj_seq',20000);
 setval
--------
  20000
(1 row)


Ross

>
> ---------------------------------------------------------------------------
>
> Rajesh Kumar Mallah. wrote:
> >
> > Doesn't dropping and recreating the sequence suit the bill ?
> >
> > whats' the major advantage to implement em as a command?
> >
> > At least one thing from which all of us can benifit in PgSQL
> > is replication. I just hope 7.4 give us some sort of master/slave replication.
> >
> >
> > Regds
> > Mallah.
> >
> >
> > On Wednesday 04 December 2002 11:53 pm, Bruce Momjian wrote:
> > > Oliver Elphick wrote:
> > > > On Wed, 2002-12-04 at 12:29, raja kumar thatte wrote:
> > > > > Hai friends,
> > > > > I have a sequence called raj_seq with max value 3000.
> > > >
> > > > ...
> > > >
> > > > > now i wanted to increase the max value of the raj_seq
> > > > > to 9999999.
> > > > > How to do this change?
> > > > > If i drop and recreate the raj_seq, then i have to
> > > > > recreate the table and all triggers working on that
> > > > > table.But it is not an acceptable solution.
> > > > > So with out droping raj_seq , how do I solve this
> > > > > problem.
> > > >
> > > > Unfortunately there doesn't seem to be any easy way to do this.  There
> > > > is no ALTER SEQUENCE command and you can't use UPDATE on a sequence.
> > >
> > > Gee, I thought they could just update the sequence table, but I see:
> > >
> > >     test=> update yy set max_value = 100;
> > >     ERROR:  You can't change sequence relation yy
> > >
> > > > Hackers: Could this be a TODO item for 7.4?
> > >
> > > Added to TODO:
> > >
> > >         * Add ALTER SEQUENCE to modify min/max/increment/cache/cycle values
> >
> > --
> > Rajesh Kumar Mallah,
> > Project Manager (Development)
> > Infocom Network Limited, New Delhi
> > phone: +91(11)6152172 (221) (L) ,9811255597 (M)
> >
> > Visit http://www.trade-india.com ,
> > India's Leading B2B eMarketplace.
> >
> >
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 6: Have you searched our list archives?
> >
> > http://archives.postgresql.org
> >
>
> --
>   Bruce Momjian                        |  http://candle.pha.pa.us
>   pgman@candle.pha.pa.us               |  (610) 359-1001
>   +  If your life is a hard drive,     |  13 Roberts Road
>   +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster

--
Ross Reedstrom, Ph.D.                                 reedstrm@rice.edu
Research Scientist                                  phone: 713-348-6166
The Connexions Project      http://cnx./rice.edu      fax: 713-348-6182
Rice University MS-39
Houston, TX 77005

Re: [HACKERS] how to alter sequence.

От
Dustin Sallings
Дата:
Around 12:44 on Dec 4, 2002, Joel Burton said:

# The thread here is about how to raise the *max* value for the sequence,
# not how to set the current value higher. The sequence in question was
# created with a too-low maximum value (see help on CREATE SEQUENCE for
# options); the user now wants to raise it.

    Ahh, OK.  Seemed too obvious.  :)

--
SPY                      My girlfriend asked me which one I like better.
pub  1024/3CAE01D5 1994/11/03 Dustin Sallings <dustin@spy.net>
|    Key fingerprint =  87 02 57 08 02 D0 DA D6  C8 0F 3E 65 51 98 D8 BE
L_______________________ I hope the answer won't upset her. ____________