Busco en algún creación de la tabla PostgreSQL y me encontré con este:SQL, OID de Postgres, ¿qué son y por qué son útiles?
CREATE TABLE (
...
) WITH (OIDS = FALSE);
leí la documentación proporcionada por postgres y sé que el concepto de identificador de objeto de programación orientada a objetos, pero aún no capto,
- ¿por qué tal identificador sería útil en una base de datos?
- para hacer consultas más cortas?
- ¿Cuándo se debe usar?
no se garantiza que los oids sean únicos. De los documentos: "En una base de datos grande o de larga duración, es posible que el contador se ajuste. Por lo tanto, es una mala práctica suponer que los OID son únicos, a menos que se tomen medidas para garantizar que este sea el caso". – radiospiel
El ajuste también implica que no se puede eliminar necesariamente la anterior de dos filas basándose únicamente en su OID, ya que la que tiene el OID inferior puede haber sido un resumen. –
Los OID no son globalmente únicos, por comentarios anteriores, ni tampoco en 2011 cuando se escribió esta respuesta. Además, los OID son necesarios para los objetos del sistema, por lo que agotar todos los OID en los contadores de filas no ayuda a la base de datos a asignar OID a nuevas tablas (para la tabla, no para sus filas). Además, considere si un contador entero de 4 bytes va a ser suficiente para cada tabla en su base de datos. – FuzzyChef