Old : CREATE TABLE public.directory ( id public.sha1_git NOT NULL, dir_entries bigint[], file_entries bigint[], rev_entries bigint[], object_id bigint NOT NULL ); CREATE TABLE public.directory_entry_dir ( id bigint NOT NULL, target public.sha1_git, name public.unix_path, perms public.file_perms ); New : CREATE TABLE public.directory ( id public.sha1_git NOT NULL, object_id bigint NOT NULL ); CREATE TABLE public.directory_entry_dir ( dir_id bigint NOT NULL REFERENCES directory.object_id, target public.sha1_git, name public.unix_path, perms public.file_perms );