Skip to content
/ neurdb Public
forked from neurdb/neurdb

AI-powered Autonomous Data System

License

Notifications You must be signed in to change notification settings

gzrp/neurdb

 
 

Repository files navigation

logo

NeurDB Website Github GitHub commit activity GitHub contributors Docker Code style: black

arXiv

NeurDB is an AI-powered autonomous data system.

Installation

Clone the latest code

git clone https://github.com/neurdb/neurdb.git
cd neurdb
# Give Docker container write permission
chmod -R 777 .

Build Dockerfile

bash build.sh

Wait until the following prompt shows:

Please use 'control + c' to exit the logging print
...
Press CTRL+C to quit

Usage

Create Shell

docker exec -it neurdb_dev bash

Run Connector (in Docker Container)

$NEURDBPATH/psql/bin/psql -h 0.0.0.0

Start/stop the server (in Docker container)

# (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

Development

Code Formatting

All tools are managed by pre-commit.

After installing pre-commit, run the following command:

pre-commit run -a

Increase logging level

Update $NEURDBPATH/psql/data/postgresql.conf by changing the corresponding settings:

log_min_messages = DEBUG1
log_min_error_statement = DEBUG1

Miscellaneous

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

Troubleshooting

Building

./configure: line ...: config.log: Permission denied

Check the permissions of (1) executing for dbengine/configure (2) writing for other directories.

pg_ctl: directory "/code/neurdb-dev/psql/data" is not a database cluster directory

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.

About

AI-powered Autonomous Data System

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 84.5%
  • PLpgSQL 6.3%
  • Perl 3.9%
  • Yacc 1.3%
  • Makefile 0.7%
  • Meson 0.6%
  • Other 2.7%