Robert Dean <robbington@hotmail.co.uk> writes:
> postgres@myvps:/root$ psql -d template1 -c "ALTER USER postgres WITH PASSWORD 'mypassword';"
> could not change directory to "/root"
Dunno anything about django, but what this looks like is you logged in
as root and then did "su postgres" rather than "su - postgres". So now
you're still in root's $HOME, but you can't read the current directory
for lack of permissions. A lot of stuff will act a bit squirrelly in
that context, not only psql. Use "su - postgres". Better yet, create
another superuser named after your regular user account, so that you can
do Postgres stuff without going through root in the first place.
> createdb: database creation failed: ERROR: source database "template1" is being accessed by other users
> DETAIL: There are 1 other session(s) using the database.
"select * from pg_stat_activity" might tell you something about that.
regards, tom lane