changing start value of sequence after it was created...
От | Alan T. Miller |
---|---|
Тема | changing start value of sequence after it was created... |
Дата | |
Msg-id | 07a701c3dc93$9149c520$640a0a0a@webdev обсуждение исходный текст |
Ответы |
Re: changing start value of sequence after it was created...
|
Список | pgsql-novice |
I am converting an application from another database to postgresql. I am creating my new table using the 'Serial' type for the primary key. When I use the copy command to import all the old records from the old database, the sequence never gets incremeneted, even though I am populating the id field that has a sequence tied to it. When I go to insert another record trying to take advantage of the sequence once all the records have been imported, postgresql still thinks the next value for the sequence is #1, where it would normally start, even though there may be 5000 records in the table already. The insert will fail because it is assigning the new record a number that already exists from the import. I cannot set the sequence using setval(), beforehand because the number of records I am importing is not always known at the time and I have this problem across my conversion application with dozens of tables. To solve my problem, is there a way to ask postgresql for the name of the sequence of a given table? I was thinking that after my initial import of data using the copy command, I could use the setval command on the sequence, to reset the sequence so it will work for inserts of future records. Thanks in advance, Alan
В списке pgsql-novice по дате отправления: