{"id":29905522,"url":"https://github.com/project-tsurugi/metadata-manager","last_synced_at":"2026-05-08T04:07:27.901Z","repository":{"id":198136196,"uuid":"520444532","full_name":"project-tsurugi/metadata-manager","owner":"project-tsurugi","description":"Manage metadata for tsurugi_fdw.","archived":false,"fork":false,"pushed_at":"2025-04-04T05:22:24.000Z","size":17286,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-04T06:24:46.863Z","etag":null,"topics":["database","postgresql","tsurugidb"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/project-tsurugi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-02T10:05:07.000Z","updated_at":"2025-04-04T05:22:29.000Z","dependencies_parsed_at":"2024-03-08T00:28:47.279Z","dependency_job_id":"e0c0ac92-9df4-41ae-acfd-b4d26c079fbb","html_url":"https://github.com/project-tsurugi/metadata-manager","commit_stats":null,"previous_names":["project-tsurugi/metadata-manager"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/project-tsurugi/metadata-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/project-tsurugi%2Fmetadata-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/project-tsurugi%2Fmetadata-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/project-tsurugi%2Fmetadata-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/project-tsurugi%2Fmetadata-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/project-tsurugi","download_url":"https://codeload.github.com/project-tsurugi/metadata-manager/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/project-tsurugi%2Fmetadata-manager/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268282397,"owners_count":24225164,"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","status":"online","status_checked_at":"2025-08-01T02:00:08.611Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["database","postgresql","tsurugidb"],"created_at":"2025-08-01T19:14:11.851Z","updated_at":"2026-05-08T04:07:27.893Z","avatar_url":"https://github.com/project-tsurugi.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# metadata manager\n\n## Requirements\n\n- CMake `\u003e= 3.10`\n- C++ Compiler `\u003e= C++17`\n- and see *Dockerfile* section\n\n### Dockerfile\n\n```dockerfile\nFROM ubuntu:22.04\n\nRUN apt update -y \u0026\u0026 apt install -y git build-essential cmake ninja-build doxygen libboost-system-dev libboost-filesystem-dev libpq-dev libssl-dev\n```\n\n## How to initially set up the metadata manager\n\n### for PostgreSQL\n\nWhen PostgreSQL is specified as the data storage for metadata.\nSee [How to build](#how-to-build) for how to specify.\n\n1. Start PostgreSQL server.\n\n2. Define metadata tables and load initial metadata.  \n\n   ```sh\n   psql postgres \u003c sql/ddl.sql\n   ```  \n\n   The default database name is `tsurugi`.  \n   How to change the database name.  \n\n   1. Change the database name in the `sql/ddl.sql` file.  \n      `CREATE DATABASE your-database-name LC_COLLATE 'C' LC_CTYPE 'C' ENCODING 'UTF8' template=template0;`  \n      `\\c your-database-name`  \n\n   2. Set the database name to the environment variable (`TSURUGI_CONNECTION_STRING`).  \n      `export TSURUGI_CONNECTION_STRING=\"dbname=your-database-name\"`\n\n### for JSON\n\nWhen file (JSON) is specified as the data storage for metadata.\nSee [How to build](#how-to-build) for how to specify.\n\n1. Create a directory to store metadata.\n\n   ```sh\n   mkdir -p $HOME/.local/tsurugi/metadata\n   ```\n\n   You can change the above path by set the environment variable (`TSURUGI_METADATA_DIR`).\n   The directory must exist.\n\n   ```sh\n   export TSURUGI_METADATA_DIR=\"your-directory-name\"\n   ```\n\n## How to build\n\n1. (for PostgreSQL) Make sure that `pg_config` is in the PATH (test with `pg_config --pgxs`).\n\n2. Retrieve third party modules.\n\n   ```sh\n   git submodule update --init --recursive\n   ```\n\n3. Build manager.\n\n   ```sh\n   mkdir build\n   cd build\n   cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug ..\n   ninja\n   ```\n\n   available options:\n     - `-DCMAKE_INSTALL_PREFIX=\u003cinstallation directory\u003e` - change install location\n     - `-DBUILD_DOCUMENTS=OFF` - never build documents by doxygen\n     - `-DDATA_STORAGE=postgresql` - specifies the data storage where the metadata is stored: `postgresql`, `json`\n     - `-DLOG_LEVEL=error` - specifies the default log output level (minimum) for metadata-manager: `none`, `err[or]`, `warn[ing]`, `info`, `debug`\n     - for debugging only\n       - `-DENABLE_SANITIZER=OFF` - disable sanitizers (requires `-DCMAKE_BUILD_TYPE=Debug`)\n       - `-DENABLE_UB_SANITIZER=ON` - enable undefined behavior sanitizer (requires `-DENABLE_SANITIZER=ON`)\n       - `-DENABLE_COVERAGE=ON` - enable code coverage analysis (requires `-DCMAKE_BUILD_TYPE=Debug`)\n\n### install\n\n```sh\nninja install\n```\n\n### run tests\n\n1. (for PostgreSQL) Update the shared library search path for libpq.  \n   The method to set the shared library search path varies between platforms,  \n   but the most widely-used method is to set the environment variable LD_LIBRARY_PATH like so:  \n   In Bourne shells (sh, ksh, bash, zsh):  \n\n   ```sh\n   export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:\u003cPostgreSQL install directory\u003e/lib\n   ```\n\n2. run tests\n\n   ```sh\n   cd build\n   ctest -V\n   ```\n\n## License\n\n[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fproject-tsurugi%2Fmetadata-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fproject-tsurugi%2Fmetadata-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fproject-tsurugi%2Fmetadata-manager/lists"}