PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Можете ли да създадете последователност в колона, която вече съществува в Postgres

Първо трябва да създадете последователността, която искате да използвате за стойността по подразбиране:

create sequence linelevelpmts_seq_seq;
ALTER TABLE public.linelevelpmts 
    ALTER COLUMN seq SET DEFAULT nextval('linelevelpmts_seq_seq'::regclass);

Ако искате същия ефект, както ако е създаден като serial трябва също да промените "собственика" на последователността:

alter sequence linelevelpmts_seq_seq owned by linelevelpmts.seq;

Редактиране

Коментарът на Игор е добър:ако вече имате стойности в колоната seq трябва да коригирате началната стойност на последователността:

select setval('linelevelpmts_seq_seq', (select max(seq) from linelevelpmts));



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да превключвам бази данни в postgres?

  2. Проблеми с командата postgresql COPY с Rails на различен сървър

  3. Препоръчителен подход за вмъкване на много редове с Castle ActiveRecord и игнориране на всякакви дупки

  4. Как да влезете в postgresql db - След унищожаване на сесия (за база данни за копиране)

  5. Инсталирайте PHP с Postgresql на MAC с помощта на homebrew