Không, không có cách nào trực tiếp để làm điều đó. Và có lý do cho điều đó - mọi truy vấn nên liệt kê tất cả các trường mà nó cần theo bất kỳ thứ tự nào (và định dạng, v.v.) mà nó cần, do đó làm cho thứ tự của các cột trong một bảng trở nên không đáng kể.
Nếu bạn thực sự cần làm điều đó, tôi có thể nghĩ ra một cách giải quyết:
- kết xuất và lưu mô tả của bảng được đề cập (sử dụng
pg_dump --schema-only --table=<schema.table> ...
) - thêm cột bạn muốn vào nơi bạn muốn trong định nghĩa đã lưu
- đổi tên bảng theo định nghĩa đã lưu để không trùng với tên của bảng cũ khi bạn cố gắng tạo nó
- tạo bảng mới bằng cách sử dụng định nghĩa này
- điền vào bảng mới với dữ liệu từ bảng cũ bằng cách sử dụng 'INSERT INTO
<new_table>
CHỌN field1, field2,<default_for_new_field>
, field3, ... FROM<old_table>
'; - đổi tên bảng cũ
- đổi tên bảng mới thành tên ban đầu
- cuối cùng bỏ bảng cũ, đã đổi tên sau khi bạn đảm bảo rằng mọi thứ đều ổn