{"id":15877961,"url":"https://github.com/hubmartin/synology-photos-postgres-docs","last_synced_at":"2026-01-11T02:28:10.877Z","repository":{"id":69027696,"uuid":"586353700","full_name":"hubmartin/synology-photos-postgres-docs","owner":"hubmartin","description":"Trying to document Synology Photos Posgres database structure","archived":false,"fork":false,"pushed_at":"2023-01-09T09:09:50.000Z","size":7,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-07T15:25:16.488Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hubmartin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-07T20:42:14.000Z","updated_at":"2024-09-12T19:27:23.000Z","dependencies_parsed_at":null,"dependency_job_id":"c00e4c5c-422a-43fb-b104-b07687090873","html_url":"https://github.com/hubmartin/synology-photos-postgres-docs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hubmartin%2Fsynology-photos-postgres-docs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hubmartin%2Fsynology-photos-postgres-docs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hubmartin%2Fsynology-photos-postgres-docs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hubmartin%2Fsynology-photos-postgres-docs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hubmartin","download_url":"https://codeload.github.com/hubmartin/synology-photos-postgres-docs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246730290,"owners_count":20824396,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-06T02:05:06.975Z","updated_at":"2026-01-11T02:28:10.851Z","avatar_url":"https://github.com/hubmartin.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Trying to document Synology Photos Posgres database structure\n\nConnect cheatsheet\nhttps://gist.github.com/josefglatz/dd6ad5e6c146b6d389ab64df3b8c720d\n\nPostgres cheatsheet \nhttps://www.postgresqltutorial.com/postgresql-cheat-sheet/\n\nExample script how to create album, add photos, set coverphoto and also backup database\nhttps://community.synology.com/enu/forum/1/post/148949\n\n# Allow external connection\n\nhttps://community.synology.com/enu/forum/17/post/76349\n\nI use DBeaver as a GUI to manage postgre, because pgAdmin was taking 30 seconds for every request, even listing tables.., weird.\n\n```\n1) Install the latest pgAdmin (PostgreSQL GUI)\n2) Go to Synology Security settings-\u003eFirewall and open PostgreSQL default port: 5432 (Source) TCP\n3) Go to /etc/postgresql in your SSH terminal and modify these two files (always make a backup):\npga_hba.conf:\nAdd this line:\nhost all all \u003cYourComputerIP\u003e/32 trust\n\nIn postgresql.conf set the listen_address to:\nlisten_addresses = '*'\n4) Restart postgres server: From your SSH client run these commands\n\u003esu posgtgres\n\u003epg_ctl -m fast restart\n\nAfter restarting you can check your log file to see if there are any errors:\ntail -f /var/log/postgresql.log\n\n5) From your computer test if the PostgreSQL port is open: telnet \u003cSynology IP\u003e 5432\n6) Run pgAdmin and open a server connection with these parameters\nHost: your synology IP\nMaintenance DB: mediaserver\nUsername: postgres\n\nAnd you will have access to the indexing DB! Be careful not to modify anything that may interfere with the indexing mechanism.\n```\n\n\n\nDatabase is synofoto. This is not a typo, another databse synophoto is for older SynologyMoments.\n\nConnect to database by typing `\\c synofoto`.\n\nList tables by typing `\\dt`\n\nTables:\n```\n                           List of relations\n Schema |                 Name                 | Type  |     Owner\n--------+--------------------------------------+-------+----------------\n public | acl_permission                       | table | SynologyPhotos\n public | activity                             | table | SynologyPhotos\n public | address                              | table | SynologyPhotos\n public | administrative                       | table | SynologyPhotos\n public | album                                | table | SynologyPhotos\n public | aperture                             | table | SynologyPhotos\n public | background_task                      | table | SynologyPhotos\n public | burst_additional                     | table | SynologyPhotos\n public | camera                               | table | SynologyPhotos\n public | check_album_task                     | table | SynologyPhotos\n public | cluster                              | table | SynologyPhotos\n public | condition_album                      | table | SynologyPhotos\n public | config                               | table | SynologyPhotos\n public | delete_album                         | table | SynologyPhotos\n public | delete_condition_album               | table | SynologyPhotos\n public | delete_item                          | table | SynologyPhotos\n public | exposure_time                        | table | SynologyPhotos\n public | face                                 | table | SynologyPhotos\n public | file_operation_error                 | table | SynologyPhotos\n public | file_operation_task                  | table | SynologyPhotos\n public | filter                               | table | SynologyPhotos\n public | focal_length                         | table | SynologyPhotos\n public | folder                               | table | SynologyPhotos\n public | folder_operation_error               | table | SynologyPhotos\n public | folder_operation_task                | table | SynologyPhotos\n public | general_tag                          | table | SynologyPhotos\n public | geocoding                            | table | SynologyPhotos\n public | geocoding_info                       | table | SynologyPhotos\n public | group_info                           | table | SynologyPhotos\n public | index_queue                          | table | SynologyPhotos\n public | iso                                  | table | SynologyPhotos\n public | item                                 | table | SynologyPhotos\n public | lens                                 | table | SynologyPhotos\n public | live_additional                      | table | SynologyPhotos\n public | many_item_has_many_normal_album      | table | SynologyPhotos\n public | many_unit_has_many_administrative    | table | SynologyPhotos\n public | many_unit_has_many_general_tag       | table | SynologyPhotos\n public | many_unit_has_many_person            | table | SynologyPhotos\n public | metadata                             | table | SynologyPhotos\n public | mobile_config                        | table | SynologyPhotos\n public | normal_album                         | table | SynologyPhotos\n public | notification                         | table | SynologyPhotos\n public | one_filter_has_many_unit             | table | SynologyPhotos\n public | person                               | table | SynologyPhotos\n public | person_group                         | table | SynologyPhotos\n public | person_item_count                    | table | SynologyPhotos\n public | person_migration_mapping             | table | SynologyPhotos\n public | photo_request                        | table | SynologyPhotos\n public | search_timeline                      | table | SynologyPhotos\n public | share                                | table | SynologyPhotos\n public | share_permission                     | table | SynologyPhotos\n public | takentime                            | table | SynologyPhotos\n public | team_library_folder_has_many_sorting | table | SynologyPhotos\n public | team_library_group_permission        | table | SynologyPhotos\n public | team_library_user_permission         | table | SynologyPhotos\n public | thumb_preview                        | table | SynologyPhotos\n public | thumbnail                            | table | SynologyPhotos\n public | unit                                 | table | SynologyPhotos\n public | user_flag                            | table | SynologyPhotos\n public | user_info                            | table | SynologyPhotos\n public | version_time                         | table | SynologyPhotos\n public | video_additional                     | table | SynologyPhotos\n public | video_convert                        | table | SynologyPhotos\n(63 rows)\n```\n\n## unit \ncontains ID and filename\ncolumns:\n\n id   | id_user | type | item_type | filename |  filesize  |  createtime   |   mtime    | takentime  | duplicate_hash | cache_key  | resolution\n      | index_stage | version | id_geocoding | id_item | mobile_cache_mtime | reindex_flag | normalized_filename | is_major | id_folder | name_for_sort\n      \nMost important are id, filename, id_folder\n\n## album\n\nContain albums\n\n id | id_user |    name     | type | shared | create_time | cover  | sort_by | sort_direction | normalized_name | v\nersion | passphrase_share | item_count | start_time |  end_time\n\n## many_item_has_many_normal_album\n\nContains relation betwen `unit` and `album`.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhubmartin%2Fsynology-photos-postgres-docs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhubmartin%2Fsynology-photos-postgres-docs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhubmartin%2Fsynology-photos-postgres-docs/lists"}