PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Problemy z szeregowym typem danych pg_dump

Z dokumentacji :

Typy danych smallserial , serial i bigserial nie są prawdziwymi typami, a jedynie wygodą notacyjną do tworzenia unikatowych kolumn identyfikatorów (podobnie jak właściwość AUTO_INCREMENT obsługiwana przez niektóre inne bazy danych). W obecnej implementacji należy określić:

CREATE TABLE tablename (
    colname SERIAL
);

jest równoważne określeniu:

CREATE SEQUENCE tablename_colname_seq;
CREATE TABLE tablename (
    colname integer NOT NULL DEFAULT nextval('tablename_colname_seq')
);
ALTER SEQUENCE tablename_colname_seq OWNED BY tablename.colname;

W ten sposób utworzyliśmy kolumnę liczb całkowitych i zaaranżowaliśmy jej wartości domyślne, które mają być przypisane z generatora sekwencji. Stosowane jest ograniczenie NOT NULL, aby zapewnić, że nie można wstawić wartości null. (W większości przypadków chciałbyś również dołączyć ograniczenie UNIQUE lub PRIMARY KEY, aby zapobiec przypadkowemu wstawieniu zduplikowanych wartości, ale nie jest to automatyczne). zostanie usunięty, jeśli kolumna lub tabela zostanie usunięta.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ST_DWithin czasami nie używa indeksu

  2. postgresql 9.5:próba podzielenia ciągu na dwa pola na podstawie spacji

  3. Uzyskaj zagregowaną sumę tablicy json w danych json Postgres NOSQL

  4. Zapytanie SQL „od wielu do wielu” umożliwiające wybranie wszystkich obrazów oznaczonych określonymi słowami

  5. Wstawianie zbiorcze SQLAlchemy Core wolno