Thread: Re: FATAL: database "xxx" does not exist when it does
using Postgres 14.4, I created a database as the postgres user:create database xxx;postgres=> \c xxx
psql (13.9 (Debian 13.9-0+deb11u1), server 14.4)
WARNING: psql major version 13, server major version 14.
Some psql features might not work.
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
You are now connected to database "xxx" as user "postgres".i gave all privileges on xxx to user sysbench:postgres=> GRANT ALL PRIVILEGES ON DATABASE xxx TO sysbench;i can see:Name | Owner | Encoding | Collate | Ctype | Access privileges
--------------+------------------+----------+---------+---------+---------------------------------------
xxx | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =Tc/postgres +
| | | | | postgres=CTc/postgres +
| | | | | sysbench=CTc/postgresbut user sysbench is not able to connect to this database:sysbench=> \c xxx
FATAL: database "xxx" does not exist
Previous connection kepthow can i fix this?
Even on the create role you set login?
Rodrigo Dev
Visite: https://rodrigoluna.net.br
YouTube: GamesBR
Em 1 de fev. de 2023, à(s) 17:13, Siddharth Jain <siddhsql@gmail.com> escreveu:
using Postgres 14.4, I created a database as the postgres user:create database xxx;postgres=> \c xxx
psql (13.9 (Debian 13.9-0+deb11u1), server 14.4)
WARNING: psql major version 13, server major version 14.
Some psql features might not work.
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
You are now connected to database "xxx" as user "postgres".i gave all privileges on xxx to user sysbench:postgres=> GRANT ALL PRIVILEGES ON DATABASE xxx TO sysbench;i can see:Name | Owner | Encoding | Collate | Ctype | Access privileges
--------------+------------------+----------+---------+---------+---------------------------------------
xxx | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =Tc/postgres +
| | | | | postgres=CTc/postgres +
| | | | | sysbench=CTc/postgresbut user sysbench is not able to connect to this database:sysbench=> \c xxx
FATAL: database "xxx" does not exist
Previous connection kepthow can i fix this?
Change the owner to xxx too.
Rodrigo Dev
Visite: https://rodrigoluna.net.br
YouTube: GamesBR
Em 1 de fev. de 2023, à(s) 17:15, Rodrigo Luna <rodrigomrluna78@gmail.com> escreveu:
Even on the create role you set login?Rodrigo DevVisite: https://rodrigoluna.net.brYouTube: GamesBREm 1 de fev. de 2023, à(s) 17:13, Siddharth Jain <siddhsql@gmail.com> escreveu:using Postgres 14.4, I created a database as the postgres user:create database xxx;postgres=> \c xxx
psql (13.9 (Debian 13.9-0+deb11u1), server 14.4)
WARNING: psql major version 13, server major version 14.
Some psql features might not work.
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
You are now connected to database "xxx" as user "postgres".i gave all privileges on xxx to user sysbench:postgres=> GRANT ALL PRIVILEGES ON DATABASE xxx TO sysbench;i can see:Name | Owner | Encoding | Collate | Ctype | Access privileges
--------------+------------------+----------+---------+---------+---------------------------------------
xxx | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =Tc/postgres +
| | | | | postgres=CTc/postgres +
| | | | | sysbench=CTc/postgresbut user sysbench is not able to connect to this database:sysbench=> \c xxx
FATAL: database "xxx" does not exist
Previous connection kepthow can i fix this?
Siddharth Jain <siddhsql@gmail.com> writes: > postgres=> \c xxx > psql (13.9 (Debian 13.9-0+deb11u1), server 14.4) > WARNING: psql major version 13, server major version 14. > Some psql features might not work. I wonder whether your problem is related to this version mismatch. I'm not entirely sure how that would happen, but older psql with newer server is certainly not a heavily-tested case. > i gave all privileges on xxx to user sysbench: > postgres=> GRANT ALL PRIVILEGES ON DATABASE xxx TO sysbench; [ squint... ] Your prompt indicates you are not superuser here. Is this really an accurate transcript of what you did? > sysbench=> \c xxx > FATAL: database "xxx" does not exist > Previous connection kept If I had to guess on the basis of this much info, I'd guess that there's more than one Postgres cluster on this machine, one of which now has an "xxx" database while another does not, and psql is somehow trying to connect to the latter one at this point. Possibly this has to do with the version mismatch; I'm not very sure offhand whether \c will preserve prior values for options like port number in this context. Especially if you are using version-mismatched psql and libpq, which seems moderately likely. regards, tom lane