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

SQL, Postgres OID, czym są i dlaczego są przydatne?

OID zasadniczo dają wbudowany identyfikator dla każdego wiersza zawartego w kolumnie systemowej (w przeciwieństwie do kolumny przestrzeni użytkownika). Jest to przydatne w przypadku tabel, w których nie masz klucza podstawowego, masz zduplikowane wiersze itp. Na przykład, jeśli masz tabelę z dwoma identycznymi wierszami i chcesz usunąć najstarszy z nich, możesz to zrobić za pomocą kolumna oid.

Identyfikatory OID są implementowane przy użyciu 4-bajtowych liczb całkowitych bez znaku. Oni nie unikalny – licznik OID zawinie się na 2³²-1. OID są również używane do identyfikacji typów danych (zobacz /usr/include/postgresql/server/catalog/pg_type_d.h ).

Z mojego doświadczenia wynika, że ​​ta funkcja jest ogólnie nieużywana w większości aplikacji wspieranych przez postgres (prawdopodobnie częściowo dlatego, że są one niestandardowe), a ich użycie jest zasadniczo przestarzałe:

W PostgreSQL 8.1 default_with_oids jest domyślnie wyłączone; we wcześniejszych wersjach PostgreSQL był domyślnie włączony.

Używanie identyfikatorów OID w tabelach użytkowników jest uważane za przestarzałe, więc większość instalacji powinna pozostawić tę zmienną wyłączoną. Aplikacje, które wymagają identyfikatorów OID dla określonej tabeli, powinny podczas tworzenia tabeli określić opcję WITH OIDS. Tę zmienną można włączyć w celu zapewnienia zgodności ze starymi aplikacjami, które nie stosują tego zachowania.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bardzo powolne uruchamianie aplikacji Spring Boot

  2. Początkowa tablica w funkcji agregacji tablicy wielowymiarowej

  3. Jak ocenić wyrażenie w instrukcji select w Postgres

  4. Przełączanie projektu Django z backendu sqlite3 na postgresql kończy się niepowodzeniem podczas ładowania zrzutu danych

  5. SQL - Łączenie wielu podobnych zapytań