Обсуждение: BUG #18054: Permission denied.
The following bug has been logged on the website: Bug reference: 18054 Logged by: Brigido Arana Email address: arasopero.1@gmail.com PostgreSQL version: 15.4 Operating system: UbuntuStudio 22.04 Description: I can not make backup and restoration of my db by this issues: baap@baap-notebookpc:~$ sudo su postgres [sudo] password for baap: postgres@baap-notebookpc:/home/baap$ psql could not change directory to "/home/baap": Permission denied psql (15.4 (Ubuntu 15.4-1.pgdg22.04+1)) Can you help me to solve this situation? Thank you very much.
Hi, On Sun, Aug 13, 2023 at 04:26:48AM +0000, PG Bug reporting form wrote: > The following bug has been logged on the website: > > I can not make backup and restoration of my db by this issues: > baap@baap-notebookpc:~$ sudo su postgres > [sudo] password for baap: > postgres@baap-notebookpc:/home/baap$ psql > could not change directory to "/home/baap": Permission denied > psql (15.4 (Ubuntu 15.4-1.pgdg22.04+1)) > > Can you help me to solve this situation? Are you talking about the "Permission denied" line? This is not a bug, just an indication that the current OS user doesn't have permission to use the given directory, and doesn't prevent you from using psql. Of course it means that the postgres OS user can't write data in /home/baap, and won't be able to e.g. save the psql history, but that's something enforced at the OS level not something postgres can change. You could either use "sudo su - postgres" to simulate a full login and therefore change the directory to postgres' home directory, then any if you try to write things using a relative path it should work, provided that the postgres OS user is correctly configured. Otherwise you need to specify absolute paths, pointing to directories where the postgres OS user have enough permissions for what you want to do.
PG Bug reporting form <noreply@postgresql.org> writes:
> I can not make backup and restoration of my db by this issues:
> baap@baap-notebookpc:~$ sudo su postgres
> [sudo] password for baap:
> postgres@baap-notebookpc:/home/baap$ psql
> could not change directory to "/home/baap": Permission denied
> psql (15.4 (Ubuntu 15.4-1.pgdg22.04+1))
You have not shown an actual failure here. The "could not change
directory" warning might be alarming, but you have not explained
how it causes you any problem.
What is actually happening, I think, is that psql is chdir'ing
to someplace else in pursuit of figuring out its own absolute
path, and then it tries to chdir back to where it was started
from, and fails because that directory is not readable by the
postgres user. It produces a warning about that but continues
anyway. So this doesn't affect your ability to use SQL
commands, but it might affect your ability to run meta-commands
that expect the current working directory to be "/home/baap".
However, given that psql could not read any files within that
directory, it's not clear to me what practical problem ensues
that wouldn't manifest in some other form anyway.
regards, tom lane