To nieporozumienie. W tabeli relacyjnej bazy danych nie ma „naturalnej” kolejności. Podczas gdy wiersze są zwykle wstawiane po kolei do fizycznego pliku zawierającego tabelę, szereg czynności może zmienić porządek fizyczny. A zapytania wykonujące coś więcej niż podstawowe (nierównoległe) skanowanie sekwencyjne mogą zwracać wiersze w dowolnej dogodnej kolejności. To jest zgodne ze standardowym SQL.
Kolejność, którą widzisz, jest dowolna, chyba że dodasz ORDER BY
do zapytania.
pgAdmin3 domyślnie porządkuje wiersze według klucza podstawowego (o ile nie określono inaczej). Twoja kolumna jest typu varchar
a wiersze są uporządkowane alfabetycznie (zgodnie z aktualnymi ustawieniami regionalnymi). Wszystko zgodnie z projektem, wszystko tak, jak powinno.
Aby posortować wiersze, tak jak się tego spodziewasz, możesz wstawić w tekście jakieś „0”:
...
typename_0009
typename_0010
...
Właściwe rozwiązanie byłoby mieć kolumnę liczbową z samą liczbą.
Możesz być zainteresowany sortowaniem naturalnym. Możesz być również zainteresowany serial
kolumna.