Hi,





I seem to be having problems configuring Postgres with Django and was wondering if someone could help me as I cant find any tutorials that fit my problem.



First, I seem to be having issues with my postgres permissions/or understand them.



Trying to connect to a database in root I get "psql: FATAL: role "root" does not exist"



Also after trying this I get:

postgres@myvps:/root$ psql -d template1 -c "ALTER USER postgres WITH PASSWORD 'mypassword';"
could not change directory to "/root"
ALTER ROLE
postgres@myvps:/root$ createdb mytestdb
could not change directory to "/root"
createdb: database creation failed: ERROR: source database "template1" is being accessed by other users
DETAIL: There are 1 other session(s) using the database.



Can someone help me figure this out? Why can it not change directory to root and why is template1 being accesed by another user?



Thanks in advance



Rob

Search Discussions

  • SUNDAY A. OLUTAYO at Aug 31, 2010 at 2:25 pm
    You do not need to be a root to login nor create sys account for postgres just switch user to postgres e.g
    sudo -u postgres psql template1

    The template1 could an exiting db you are login into, it a default template you use before create a user db.

    Sunday Olutayo



    I seem to be having problems configuring Postgres with Django and was wondering if someone could help me as I cant find any tutorials that fit my problem.

    First, I seem to be having issues with my postgres permissions/or understand them.

    Trying to connect to a database in root I get "psql: FATAL: role "root" does not exist"

    Also after trying this I get:
    postgres@myvps:/root$ psql -d template1 -c "ALTER USER postgres WITH PASSWORD 'mypassword';"
    could not change directory to "/root"
    ALTER ROLE
    postgres@myvps:/root$ createdb mytestdb
    could not change directory to "/root"
    createdb: database creation failed: ERROR: source database "template1" is being accessed by other users
    DETAIL: There are 1 other session(s) using the database.

    Can someone help me figure this out? Why can it not change directory to root and why is template1 being accesed by another user?

    Thanks in advance

    Rob
  • Tom Lane at Aug 31, 2010 at 2:26 pm

    Robert Dean 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

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouppgsql-novice @
categoriespostgresql
postedAug 31, '10 at 1:46p
activeAug 31, '10 at 2:26p
posts3
users3
websitepostgresql.org
irc#postgresql

People

Translate

site design / logo © 2022 Grokbase