Although I don’t have currently Postgres to confirm it. This was indeed tested for Postgres Database. Your issues doesn’t seem related to the database. More specifically:
The order of the columns may be that this is a caching issue. Just to make sure for development you can have the configuration: remember_state_upon_refresh to false so it will reset every time you refresh. Once your development is done, you can switch this back to true.
Grocery CRUD works entirely on the assumption that you have an auto increment primary key. The same assumption is for mySQL as well. For example using SERIAL as your id type
The password is getting hidden only on the crud forms and not in the datagrid. This is an expected behaviour of Grocery CRUD. In short, if you choose to show it in the datagrid it is more possible that you want to show it to the user. If not then either hide the column or use callbackColumn to add asterisks to the password:
$crud->callbackColumn('vparam', function () {
return "*****";
});
Please keep in mind that Grocery CRUD is just using a different driver for Postgres database and everything is happening in the background using lamina-db library. So nothing special really changes.