Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemsA successful-looking pg_restore run does not prove that every intended table reached the database. PostgreSQL’s default is to continue after SQL errors and report an error count at the end, so first check the complete output and exit status. Then determine whether the table is in the archive, filtered out during restore, restored elsewhere, or skipped after an error.
Start with the restore output and the destination
Save the exact pg_restore command, the archive name and format, the complete standard output and error output, and the command’s exit status. A brief completion message can hide errors: by default, pg_restore continues after SQL errors and displays a count at the end. The PostgreSQL 18 pg_restore documentation describes this default and the --exit-on-error option, which stops the restore when an error occurs while sending SQL commands.
As an Amazon Associate I earn from qualifying purchases.
Also verify that your database session is connected to the intended database and that you are looking in the intended schema. A table restored under a different schema—or into a different database—can look absent if you check only one location.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallCheck whether the archive contains the table
For a non-plain-text archive, list its contents and search for the exact schema-qualified table name:
#1 Best Overall
pg_restore --list archive-file
The pg_restore documentation explains that --list displays archive contents and can produce a table-of-contents file used with --use-list. If the table has no entry in the listing, the restore could not restore that table from this archive. Investigate how the archive was created.
If the table is absent from the list
Review the original pg_dump command for table or schema selection and exclusion options. A dump may have intentionally included only selected objects or omitted a schema. PostgreSQL also cautions that when -t selects tables, pg_dump does not attempt to include other database objects those tables may depend on. See the PostgreSQL 18 pg_dump documentation.
Rank #2
If the archive was produced with filters, changing the restore command will not add an entry that was never dumped. You will need an archive that includes the table, or another suitable source for it.
If the table is present in the list
Focus on what the restore selected and where it sent the objects. Check for --table, --schema, --exclude-schema, and --use-list, as well as --data-only or --schema-only. These options can limit which objects or parts of objects are restored. Compare the schema-qualified name in the archive listing with the database and schema you inspected.
Rank #3
Check whether a restore error skipped the table
Search the full output for errors involving the table or its dependencies, and note the final error count. A command that continued to the end may still have encountered a SQL error that prevented one object from being created. For a later diagnostic run, --exit-on-error can stop at the first SQL error instead of continuing, making the failing point easier to identify; use it only when you are prepared for a restore to stop before completing.
Restore selectively only after identifying the cause
Once you have confirmed the archive entry, intended destination, and relevant restore filters, you can plan a targeted restore. Be aware that pg_restore --table does not include subsidiary objects such as indexes just because it selected the table. Inspect the archive listing for the related entries you need and account for their restore order; the behavior is documented in pg_restore’s table-selection notes.
Do not add a destructive cleanup option such as --clean merely because a table is missing. First preserve the destination and a backup, and confirm exactly what would be dropped or replaced. The available facts do not establish why a particular restore omitted a table; the archive listing, commands, output, and destination checks are needed to distinguish the cases.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




