Re: Primary key definition?

Поиск
Список
Период
Сортировка
От Ron
Тема Re: Primary key definition?
Дата
Msg-id a48140dc-ff42-e43b-0cc2-dd8125065d9d@gmail.com
обсуждение исходный текст
Ответ на Primary key definition?  (stan <stanb@panix.com>)
Ответы Re: Primary key definition?  (Michael Lewis <mlewis@entrata.com>)
Список pgsql-general
On 10/22/19 2:47 PM, stan wrote:
> I  started doing the following to define my primary keys long ago and in a
> universe far away:
>
> CREATE TABLE employee (
> employee_key           integer DEFAULT nextval('employee_key_serial')
> PRIMARY KEY ,
>
> WEE ran into a scenario, after a total db restore on a project where we got
> errors inserting new data because the keys were duplicated. Looking at a
> pg_dump, it appears to me that I now understand why. Although the values f
> the keys, and the data structures that reference them look like they will
> get restored correctly, it appears to me that the sequences get recreated with
> an initial value of 1, which means that on the next insert we will get 1 for
> a key, which likely is already used. Looks like this is a different way of
> defining this:
>
>
> CREATE TABLE books (
> id              SERIAL PRIMARY KEY,
>
> Which has the advantage of not having to manually create the sequences. Will
> this also enforce that the "internally created sequence" will be initialized
> to a value above the maximum key in use on a pg_restore?

When I restored an 8.4 database to 9.6 using pg_dump/pg_restore, all of the 
sequences were restored using the sequence values at the time the pg_dump ran.


-- 
Angular momentum makes the world go 'round.



В списке pgsql-general по дате отправления:

Предыдущее
От: Adrian Klaver
Дата:
Сообщение: Re: Primary key definition?
Следующее
От: stan
Дата:
Сообщение: Re: A question about sequences and backup/restore cycles