0. Dependencies These are required for loading the catalog data. postgresql-13 libdbd-csv-perl libdbd-pg-perl For the perl modules, libdbix-class-perl libtest2-suite-perl libdatetime-format-pg-perl If you want to alter the tables, this will let your run bin/make-schema.sh to modify the DBIx-based modules to match. libdbix-class-schema-loader-perl 1. Preliminary configuration for postgresql These are one-time things to do, in that you can recreate and reload the catalog database any number of times without having to do these steps again. Create roles to own and manage the tables. (The connection limits are merely suggestions.) ## The table owner, must be 'pgc_owner' $ createuser --connection-limit=1 --createdb --echo pgc_owner ## The table user role, must be 'pgc_user' $ createuser --connection-limit=5 --no-login pgc_user ## A user who will connect as pgc_owner, named as you like, ## e.g. your own username. $ createuser --connection-limit=1 irulan Configure postgres to allow "irulan" to connect to the catalog database as pgc_owner, so that irulan can manage the database. This is for the case that the postgres server runs on the same host. Consult postgres's excellent documentation for other cases. In pg_ident.conf, add map lines so that the end of the file resembles this: # MAPNAME SYSTEM-USERNAME PG-USERNAME irulanmap irulan irulan irulanmap irulan pgc_owner In pg_hba.conf, modify the second "local" line, the one following the "postgres" line, so that it has a map option on the end. local all all peer map=irulanmap Tell postgres about these edits. # systemctl reload postgresql At this point "irulan" has privilege to create and drop the catalog database. Routine use of the database is more safely done by a username with lesser privilege, i.e. only pgc_user. See pgc-www's INSTALL for an example (). 2. As the operating system user "irulan", you should now be able to create and load the catalog database. $ make PGC_DANGEROUS=1 rebuild-db $ make load-catalog At this point, "irulan" should be able to run the tests successfully with e.g. $ prove -l 3. To install the perl modules, run sudo make install-modules which installs them under /usr/local/lib/site_perl. Alternatively do e.g. make PGC_PERL5LIB=~/.local/lib/perl5 install-modules though you'll probably need to set PER5LIB in this case before using the modules in your perl code. Comments and questions welcome at .