58P01
PostgreSQLERRORNotableSystem ErrorHIGH confidence

undefined file

What this means

SQLSTATE 58P01 is a Postgres-specific error raised when Postgres tries to access a file (e.g., a data file, library file, or configuration file) that does not exist on the filesystem.

Why it happens
  1. 1A shared library referenced in CREATE FUNCTION ... LANGUAGE C does not exist
  2. 2A data file expected by the system is missing from the data directory
  3. 3COPY FROM referencing a file path that does not exist on the server
How to reproduce

COPY FROM a non-existent file.

trigger — this will error
trigger — this will error
COPY orders FROM '/tmp/nonexistent_file.csv';

expected output

ERROR:  could not open file "/tmp/nonexistent_file.csv": No such file or directory

Fix 1

Verify the file path exists on the server

WHEN When using COPY FROM with a file path.

Why this works

COPY FROM (without STDIN) accesses the file on the Postgres server filesystem. Ensure the file exists at the specified path and the postgres user has read permission.

Fix 2

Use COPY FROM STDIN or psql metacommand for client-side files

WHEN When the file is on the client machine, not the server.

Use COPY FROM STDIN or psql metacommand for client-side files
-- In psql:
\copy orders FROM '/local/path/file.csv' CSV;

Why this works

The psql \copy metacommand streams the file from the client, avoiding the need for the file to exist on the server.

Sources
Official documentation ↗

Class 58 — System Error (Postgres-specific)

Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev

← All PostgreSQL errors