sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Las tuplas no se insertan secuencialmente en la tabla de la base de datos?

Esto es un malentendido. No existe un orden "natural" en una tabla de base de datos relacional. Si bien las filas normalmente se insertan en secuencia en el archivo físico que contiene una tabla, una amplia gama de actividades puede reorganizar el orden físico. Y las consultas que hacen algo más que un escaneo secuencial básico (no paralelo) pueden devolver filas en cualquier orden oportuno. Eso es de acuerdo con SQL estándar.

El orden que ves es arbitrario a menos que agregues ORDER BY a la consulta.

pgAdmin3 por defecto ordena las filas por la clave principal (a menos que se especifique lo contrario). Su columna es de tipo varchar y las filas están ordenadas alfabéticamente (según su configuración regional actual). Todo por diseño, todo como debería ser.

Para ordenar las filas como parece estar esperando, puede agregar un '0' en su texto:

...
typename_0009
typename_0010
...

La solución adecuada Sin embargo, sería tener una columna numérica con solo el número.

Te puede interesar el tipo natural. También puede estar interesado en una serial columna.