NeurDB is an AI-powered autonomous data system.
git clone https://github.com/neurdb/neurdb.git
cd neurdb
# Give Docker container write permission
chmod -R 777 .
bash build.sh
Wait until the following prompt shows:
Please use 'control + c' to exit the logging print
...
Press CTRL+C to quit
docker exec -it neurdb_dev bash
$NEURDBPATH/psql/bin/psql -h 0.0.0.0
# (Start/stop as a service)
$NEURDBPATH/psql/bin/pg_ctl -D $NEURDBPATH/psql/data start
$NEURDBPATH/psql/bin/pg_ctl -D $NEURDBPATH/psql/data stop
# (Start in frontend)
$NEURDBPATH/psql/bin/postgres -D $NEURDBPATH/psql/data -h 0.0.0.0
All tools are managed by pre-commit.
After installing pre-commit, run the following command:
pre-commit run -a
Update $NEURDBPATH/psql/data/postgresql.conf
by changing the corresponding settings:
log_min_messages = DEBUG1
log_min_error_statement = DEBUG1
If the server complains about the permission of the data directory, run the following command to fix it:
chmod 750 $NEURDBPATH/psql/data
Sometimes, the OS language settings could also affect the server starting. In such case, run the following commands:
export LANG="en_US.UTF-8"
export LC_COLLATE="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
export LC_MESSAGES="en_US.UTF-8"
export LC_MONETARY="en_US.UTF-8"
export LC_NUMERIC="en_US.UTF-8"
export LC_TIME="en_US.UTF-8"
export DYLD_LIBRARY_PATH=$NEURDBPATH/psql/lib:$DYLD_LIBRARY_PATH
Check the permissions of (1) executing for dbengine/configure
(2) writing for other directories.
This happens when you have directory psql/data
without initializing the database, e.g., if the init script exits abnormally before. By default, to avoid data loss, the init script will not touch psql/data
if it already exists. To solve this, remove psql/data
manually.
Our vision paper can be found in:
@article{neurdb-scis-24,
author = {Beng Chin Ooi and
Shaofeng Cai and
Gang Chen and
Yanyan Shen and
Kian-Lee Tan and
Yuncheng Wu and
Xiaokui Xiao and
Naili Xing and
Cong Yue and
Lingze Zeng and
Meihui Zhang and
Zhanhao Zhao},
title = {NeurDB: An AI-powered Autonomous Data System},
journal= {SCIENCE CHINA Information Sciences},
year = {2024},
pages = {-},
url = {https://www.sciengine.com/SCIS/doi/10.1007/s11432-024-4125-9},
doi = {https://doi.org/10.1007/s11432-024-4125-9}
}