Does PostgreSQL and other databases have a feature to reset serial/identity values? I recently started a new personal project. The first thing I do after thinking about it is to construct an install.php script which consists of a series of database calls where it does things like CREATE TABLE to "build the basic foundation".

When I felt reasonably confident about the structure, I ran that PHP script. From that point on, I instead used a GUI software to edit/add/delete columns and constraints, as I "fine-tuned" the database while developing the application.

For a while, I would edit the install.php for each change I did through the GUI, as to have them perfectly "synced", but after a while, as there were more changes, I said: "Screw it! This is only ever going to run on my computer anyway!" and deleted the install.php.

Now, I'm reaching some kind of "finished" state for the application, and realize that, after deleting the dummy records, various serials/bigserials are now starting at high numbers (instead of 0 or 1, as they do from the beginning). Of course, this means no practical problem, but it is psychologically very annoying to know that you started the "production application" with "non-vanilla" internal counters.

Is there a feature in PostgreSQL which automatically sees to it that any data remaining in the tables of the given database is "pulled back down" so they get ids like 1, 2, 3 instead of 6732, 6733, 6734, etc.? That is, not nuking the database/tables, but intelligently "resetting" them in this logical manner? I also wonder if other databases have this feature.

Note: I have foreign keys and primary keys and uniques and such all set up, so this should technically be possible without messing up the "relations" when the ids change.

I bet there isn't any such thing. Would be really nice if such is the case, though. Like a "database serial defragmenter" of sorts. It would even be sensible to run on a product database if you have deleted huge amounts of records for some reason, so that you never reach the maximum for a "serial" (integer).
In Postgres you can use ALTER SEQUENCE RESTART ...  or setval() function to change that "internal counter" without truncating the table.

See also http://www.sqlines.com/postgresql/datatypes/serial for examples.

In SQL Server you can use DBCC CHECKIDENT to see and reset identity value of the table.