Обсуждение: COPY FROM appears broken in PostgreSQL 15
Did something happen to the COPY FROM command in PostgreSQL 15?
I used to run scripts to process and load data from files into various PostgreSQL tables. A series of:
copy {schema.table} from '/{path}/{file}' delimiter '|' null '' ;
in PostgreSQL 15 it fails with this message:
ERROR: could not open file "/{path}/{file}" for reading: Permission denied
HINT: COPY FROM instructs the PostgreSQL server process to read a file. You may want a client-side facility such as psql's \copy.
HINT: COPY FROM instructs the PostgreSQL server process to read a file. You may want a client-side facility such as psql's \copy.
I have checked and the postgres user can read/write to the file just fine.
In PostgreSQL < 15 it works just fine.
The official PostgreSQL docs, up to and including 16, don't mention a problem with this command.
Did something happen?
Thanks,
rik.
richard coleman <rcoleman.ascentgl@gmail.com> writes: > Did something happen to the COPY FROM command in PostgreSQL 15? It seems quite unlikely that you'd be the first to notice such a fundamental problem. > ERROR: could not open file "/{path}/{file}" for reading: Permission denied > HINT: COPY FROM instructs the PostgreSQL server process to read a file. > You may want a client-side facility such as psql's \copy. > I have checked and the postgres user can read/write to the file just fine. Check that again. Check lookup permission on all the directories in the path, too. regards, tom lane
I wrote: > richard coleman <rcoleman.ascentgl@gmail.com> writes: >> I have checked and the postgres user can read/write to the file just fine. > Check that again. Check lookup permission on all the directories in > the path, too. BTW, if you're on a selinux-enabled system (most Red-Hat-based distros), you need to check file contexts too. Under selinux, it's not uncommon for a daemon process to have fewer privileges than the "same" user running an interactive session. regards, tom lane