Postgresql on external HD
I'm the OP.  Thanks for the help from those above.  Here is what I ended up doing to solve this problem.  I think this is all of the steps but something could be missing.  (This is via Mac on Catalina.)  Happy to accept any corrections if I forgot a step.

Format the external drive AFPS or GUID via diskutility (using the &quot;view all&quot; command).  (This will delete everything on the drive, so you need a backup.)

After formatting, sudo chmod -R 0750 &quot;/Volumes/your_external_hd_name/  from the command line - this will set the correct permissions.

initdb -D '/Volumes/your_external_hd_name/database/'     # creates a &quot;database cluster&quot;

pg_ctl -D /Volumes/your_external_hd_name/database/ start   # seems to run the cluster

NB: at the above step, if you get an error including the line &quot;Is another postmaster already running on port 5432?&quot;, then run ps -ef | grep postmaster | awk '{print $2}' on the command line, followed by kill &lt;pid1&gt; ... &lt;pidN&gt; for any PIDs which show up.

psql postgres

CREATE DATABASE &lt;database_name&gt;;

\l                                                 # list databases

\c &lt;your_database&gt;                                 # connect to the database

\dt                                                # list tables

CREATE DATABASE &lt;name&gt;;                            # creates w/in the cluster

CREATE TABLE &lt;table&gt;;                              # include some columns

\dt                                                # to check that it was created,  should appear

If you need to undo/correct: DROP TABLE &lt;name&gt;;

\copy &lt;table_name&gt; FROM 'path/to/file';

\q # exit

 pg_ctl stop -D /Volumes/your_external_hd_name/  # seems to be important to prevent database from getting damaged, but I have never disconnected w/out it so I am not 100% sure.