Repository: erikbern/ann-benchmarks
Issue: Postgres server start failed in Docker when run benchmark for pgvector
Root cause: Validation Gap

I run the benchmark on Ubuntu 23.04 with Docker for pgvector algorithm only. The docker image was built without any problem. However, when I try to execute `python run.py --algorithm pgvector`, the follow error comes out:

```
$ python run.py --algorithm pgvector
2024-05-13 04:06:46,817 - annb - INFO - running only pgvector
2024-05-13 04:06:46,967 - annb - INFO - Order: [Definition(algorithm='pgvector', constructor='PGVector', module='ann_benchmarks.algorithms.pgvector', docker_tag='ann-benchmarks-pgvector', arguments=['angular', {'M': 24, 'efConstruction': 200}], query_argument_groups=[[10], [20], [40], [80], [120], [200], [400], [800]], disabled=False), Definition(algorithm='pgvector', constructor='PGVector', module='ann_benchmarks.algorithms.pgvector', docker_tag='ann-benchmarks-pgvector', arguments=['angular', {'M': 16, 'efConstruction': 200}], query_argument_groups=[[10], [20], [40], [80], [120], [200], [400], [800]], disabled=False)]
2024-05-13 04:06:48,900 - annb.b7165426c133 - INFO - Created container b7165426c133: CPU limit 1, mem limit 47933000448, timeout 7200, command ['--dataset', 'glove-100-angular', '--algorithm', 'pgvector', '--module', 'ann_benchmarks.algorithms.pgvector', '--constructor', 'PGVector', '--runs', '5', '--count', '10', '["angular", {"M": 24, "efConstruction": 200}]', '[10]', '[20]', '[40]', '[80]', '[120]', '[200]', '[400]', '[800]']
2024-05-13 04:06:49,191 - annb.b7165426c133 - INFO - ['angular', {'M': 24, 'efConstruction': 200}]
2024-05-13 04:06:49,191 - annb.b7165426c133 - INFO - Trying to instantiate ann_benchmarks.algorithms.pgvector.PGVector(['angular', {'M': 24, 'efConstruction': 200}])
2024-05-13 04:06:49,870 - annb.b7165426c133 - INFO - Got a train set of size (1183514 * 100)
2024-05-13 04:06:49,870 - annb.b7165426c133 - INFO - Got 10000 queries
2024-05-13 04:06:50,494 - annb.b7165426c133 - INFO -  * Starting PostgreSQL 16 database server
2024-05-13 04:07:50,712 - annb.b7165426c133 - INFO -  * Removed stale pid file.
2024-05-13 04:07:50,712 - annb.b7165426c133 - INFO - Error: /usr/lib/postgresql/16/bin/pg_ctl /usr/lib/postgresql/16/bin/pg_ctl start -D /var/lib/postgresql/16/main -l /var/log/postgresql/postgresql-16-main.log -s -o  -c config_file="/etc/postgresql/16/main/postgresql.conf"  exited with status 1:
2024-05-13 04:07:50,712 - annb.b7165426c133 - INFO - 2024-05-13 11:06:50.904 UTC [23] LOG:  starting PostgreSQL 16.3 (Ubuntu 16.3-1.pgdg22.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, 64-bit
2024-05-13 04:07:50,712 - annb.b7165426c133 - INFO - 2024-05-13 11:06:50.904 UTC [23] LOG:  listening on IPv4 address "127.0.0.1", port 5432
2024-05-13 04:07:50,712 - annb.b7165426c133 - INFO - 2024-05-13 11:06:50.904 UTC [23] LOG:  could not bind IPv6 address "::1": Cannot assign requested address
2024-05-13 04:07:50,712 - annb.b7165426c133 - INFO - 2024-05-13 11:06:51.000 UTC [23] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2024-05-13 04:07:50,713 - annb.b7165426c133 - INFO - 2024-05-13 11:06:51.103 UTC [26] LOG:  database system was interrupted; last known up at 2024-05-10 16:59:25 UTC
2024-05-13 04:07:50,713 - annb.b7165426c133 - INFO - 2024-05-13 11:07:01.200 UTC [26] LOG:  syncing data directory (fsync), elapsed time: 10.07 s, current path: ./base/1/2656
2024-05-13 04:07:50,713 - annb.b7165426c133 - INFO - 2024-05-13 11:07:11.170 UTC [26] LOG:  syncing data directory (fsync), elapsed time: 20.04 s, current path: ./base/1/1255_vm
2024-05-13 04:07:50,713 - annb.b7165426c133 - INFO - 2024-05-13 11:07:21.131 UTC [26] LOG:  syncing data directory (fsync), elapsed time: 30.00 s, current path: ./base/4/3602_vm
2024-05-13 04:07:50,713 - annb.b7165426c133 - INFO - 2024-05-13 11:07:31.169 UTC [26] LOG:  syncing data directory (fsync), elapsed time: 40.04 s, current path: ./base/4/2619_vm
2024-05-13 04:07:50,713 - annb.b7165426c133 - INFO - 2024-05-13 11:07:41.211 UTC [26] LOG:  syncing data directory (fsync), elapsed time: 50.08 s, current path: ./base/5/6238
2024-05-13 04:07:50,713 - annb.b7165426c133 - INFO - pg_ctl: server did not start in time
2024-05-13 04:07:50,713 - annb.b7165426c133 - INFO -    ...fail!
2024-05-13 04:07:50,714 - annb.b7165426c133 - INFO - Traceback (most recent call last):
2024-05-13 04:07:50,714 - annb.b7165426c133 - INFO -   File "/home/app/run_algorithm.py", line 3, in <module>
2024-05-13 04:07:50,714 - annb.b7165426c133 - INFO -     run_from_cmdline()
2024-05-13 04:07:50,714 - annb.b7165426c133 - INFO -   File "/home/app/ann_benchmarks/runner.py", line 282, in run_from_cmdline
2024-05-13 04:07:50,714 - annb.b7165426c133 - INFO -     run(definition, args.dataset, args.count, args.runs, args.batch)
2024-05-13 04:07:50,714 - annb.b7165426c133 - INFO -   File "/home/app/ann_benchmarks/runner.py", line 212, in run
2024-05-13 04:07:50,714 - annb.b7165426c133 - INFO -     build_time, index_size = build_index(algo, X_train)
2024-05-13 04:07:50,714 - annb.b7165426c133 - INFO -   File "/home/app/ann_benchmarks/runner.py", line 178, in build_index
2024-05-13 04:07:50,715 - annb.b7165426c133 - INFO -     algo.fit(X_train)
2024-05-13 04:07:50,715 - annb.b7165426c133 - INFO -   File "/home/app/ann_benchmarks/algorithms/pgvector/module.py", line 25, in fit
2024-05-13 04:07:50,715 - annb.b7165426c133 - INFO -     subprocess.run("service postgresql start", shell=True, check=True, stdout=sys.stdout, stderr=sys.stderr)
2024-05-13 04:07:50,715 - annb.b7165426c133 - INFO -   File "/usr/lib/python3.10/subprocess.py", line 526, in run
2024-05-13 04:07:50,715 - annb.b7165426c133 - INFO -     raise CalledProcessError(retcode, process.args,
2024-05-13 04:07:50,715 - annb.b7165426c133 - INFO - subprocess.CalledProcessError: Command 'service postgresql start' returned non-zero exit status 1.
2024-05-13 04:07:51,963 - annb.b7165426c133 - ERROR - ['angular', {'M': 24, 'efConstruction': 200}]

2024-05-13 04:07:51,964 - annb.b7165426c133 - ERROR - Trying to instantiate ann_benchmarks.algorithms.pgvector.PGVector(['angular', {'M': 24, 'efConstruction': 200}])

2024-05-13 04:07:51,964 - annb.b7165426c133 - ERROR - Got a train set of size (1183514 * 100)

2024-05-13 04:07:51,964 - annb.b7165426c133 - ERROR - Got 10000 queries

2024-05-13 04:07:51,965 - annb.b7165426c133 - ERROR -  * Starting PostgreSQL 16 database server

2024-05-13 04:07:51,965 - annb.b7165426c133 - ERROR -  * Removed stale pid file.

2024-05-13 04:07:51,965 - annb.b7165426c133 - ERROR - Error: /usr/lib/postgresql/16/bin/pg_ctl /usr/lib/postgresql/16/bin/pg_ctl start -D /var/lib/postgresql/16/main -l /var/log/postgresql/postgresql-16-main.log -s -o  -c config_file="/etc/postgresql/16/main/postgresql.conf"  exited with status 1: 

2024-05-13 04:07:51,966 - annb.b7165426c133 - ERROR - 2024-05-13 11:06:50.904 UTC [23] LOG:  starting PostgreSQL 16.3 (Ubuntu 16.3-1.pgdg22.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, 64-bit

2024-05-13 04:07:51,966 - annb.b7165426c133 - ERROR - 2024-05-13 11:06:50.904 UTC [23] LOG:  listening on IPv4 address "127.0.0.1", port 5432

2024-05-13 04:07:51,966 - annb.b7165426c133 - ERROR - 2024-05-13 11:06:50.904 UTC [23] LOG:  could not bind IPv6 address "::1": Cannot assign requested address

2024-05-13 04:07:51,967 - annb.b7165426c133 - ERROR - 2024-05-13 11:06:51.000 UTC [23] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"

2024-05-13 04:07:51,967 - annb.b7165426c133 - ERROR - 2024-05-13 11:06:51.103 UTC [26] LOG:  database system was interrupted; last known up at 2024-05-10 16:59:25 UTC

2024-05-13 04:07:51,967 - annb.b7165426c133 - ERROR - 2024-05-13 11:07:01.200 UTC [26] LOG:  syncing data directory (fsync), elapsed time: 10.07 s, current path: ./base/1/2656

2024-05-13 04:07:51,967 - annb.b7165426c133 - ERROR - 2024-05-13 11:07:11.170 UTC [26] LOG:  syncing data directory (fsync), elapsed time: 20.04 s, current path: ./base/1/1255_vm

2024-05-13 04:07:51,968 - annb.b7165426c133 - ERROR - 2024-05-13 11:07:21.131 UTC [26] LOG:  syncing data directory (fsync), elapsed time: 30.00 s, current path: ./base/4/3602_vm

2024-05-13 04:07:51,968 - annb.b7165426c133 - ERROR - 2024-05-13 11:07:31.169 UTC [26] LOG:  syncing data directory (fsync), elapsed time: 40.04 s, current path: ./base/4/2619_vm

2024-05-13 04:07:51,968 - annb.b7165426c133 - ERROR - 2024-05-13 11:07:41.211 UTC [26] LOG:  syncing data directory (fsync), elapsed time: 50.08 s, current path: ./base/5/6238

2024-05-13 04:07:51,969 - annb.b7165426c133 - ERROR - pg_ctl: server did not start in time

2024-05-13 04:07:51,969 - annb.b7165426c133 - ERROR -    ...fail!

2024-05-13 04:07:51,969 - annb.b7165426c133 - ERROR - Traceback (most recent call last):

2024-05-13 04:07:51,969 - annb.b7165426c133 - ERROR -   File "/home/app/run_algorithm.py", line 3, in <module>

2024-05-13 04:07:51,970 - annb.b7165426c133 - ERROR -     run_from_cmdline()

2024-05-13 04:07:51,970 - annb.b7165426c133 - ERROR -   File "/home/app/ann_benchmarks/runner.py", line 282, in run_from_cmdline

2024-05-13 04:07:51,970 - annb.b7165426c133 - ERROR -     run(definition, args.dataset, args.count, args.runs, args.batch)

2024-05-13 04:07:51,970 - annb.b7165426c133 - ERROR -   File "/home/app/ann_benchmarks/runner.py", line 212, in run

2024-05-13 04:07:51,971 - annb.b7165426c133 - ERROR -     build_time, index_size = build_index(algo, X_train)

2024-05-13 04:07:51,971 - annb.b7165426c133 - ERROR -   File "/home/app/ann_benchmarks/runner.py", line 178, in build_index

2024-05-13 04:07:51,971 - annb.b7165426c133 - ERROR -     algo.fit(X_train)

2024-05-13 04:07:51,972 - annb.b7165426c133 - ERROR -   File "/home/app/ann_benchmarks/algorithms/pgvector/module.py", line 25, in fit

2024-05-13 04:07:51,972 - annb.b7165426c133 - ERROR -     subprocess.run("service postgresql start", shell=True, check=True, stdout=sys.stdout, stderr=sys.stderr)

2024-05-13 04:07:51,972 - annb.b7165426c133 - ERROR -   File "/usr/lib/python3.10/subprocess.py", line 526, in run

2024-05-13 04:07:51,972 - annb.b7165426c133 - ERROR -     raise CalledProcessError(retcode, process.args,

2024-05-13 04:07:51,973 - annb.b7165426c133 - ERROR - subprocess.CalledProcessError: Command 'service postgresql start' returned non-zero exit status 1.

2024-05-13 04:07:51,973 - annb.b7165426c133 - ERROR - Child process for container b7165426c133 returned exit code 1 with message 
2024-05-13 04:07:51,973 - annb.b7165426c133 - INFO - Removing container
2024-05-13 04:07:54,258 - annb.d24766e99350 - INFO - Created container d24766e99350: CPU limit 1, mem limit 47854959360, timeout 7200, command ['--dataset', 'glove-100-angular', '--algorithm', 'pgvector', '--module', 'ann_benchmarks.algorithms.pgvector', '--constructor', 'PGVector', '--runs', '5', '--count', '10', '["angular", {"M": 16, "efConstruction": 200}]', '[10]', '[20]', '[40]', '[80]', '[120]', '[200]', '[400]', '[800]']
2024-05-13 04:07:54,536 - annb.d24766e99350 - INFO - ['angular', {'M': 16, 'efConstruction': 200}]
2024-05-13 04:07:54,537 - annb.d24766e99350 - INFO - Trying to instantiate ann_benchmarks.algorithms.pgvector.PGVector(['angular', {'M': 16, 'efConstruction': 200}])
2024-05-13 04:07:55,209 - annb.d24766e99350 - INFO - Got a train set of size (1183514 * 100)
2024-05-13 04:07:55,209 - annb.d24766e99350 - INFO - Got 10000 queries
2024-05-13 04:07:55,834 - annb.d24766e99350 - INFO -  * Starting PostgreSQL 16 database server
2024-05-13 04:08:56,098 - annb.d24766e99350 - INFO -  * Removed stale pid file.
2024-05-13 04:08:56,098 - annb.d24766e99350 - INFO - Error: /usr/lib/postgresql/16/bin/pg_ctl /usr/lib/postgresql/16/bin/pg_ctl start -D /var/lib/postgresql/16/main -l /var/log/postgresql/postgresql-16-main.log -s -o  -c config_file="/etc/postgresql/16/main/postgresql.conf"  exited with status 1:
2024-05-13 04:08:56,098 - annb.d24766e99350 - INFO - 2024-05-13 11:07:56.225 UTC [23] LOG:  starting PostgreSQL 16.3 (Ubuntu 16.3-1.pgdg22.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, 64-bit
2024-05-13 04:08:56,098 - annb.d24766e99350 - INFO - 2024-05-13 11:07:56.225 UTC [23] LOG:  listening on IPv4 address "127.0.0.1", port 5432
2024-05-13 04:08:56,098 - annb.d24766e99350 - INFO - 2024-05-13 11:07:56.225 UTC [23] LOG:  could not bind IPv6 address "::1": Cannot assign requested address
2024-05-13 04:08:56,098 - annb.d24766e99350 - INFO - 2024-05-13 11:07:56.325 UTC [23] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2024-05-13 04:08:56,099 - annb.d24766e99350 - INFO - 2024-05-13 11:07:56.429 UTC [26] LOG:  database system was interrupted; last known up at 2024-05-10 16:59:25 UTC
2024-05-13 04:08:56,099 - annb.d24766e99350 - INFO - 2024-05-13 11:08:06.484 UTC [26] LOG:  syncing data directory (fsync), elapsed time: 10.03 s, current path: ./base/1/4147
2024-05-13 04:08:56,099 - annb.d24766e99350 - INFO - 2024-05-13 11:08:16.450 UTC [26] LOG:  syncing data directory (fsync), elapsed time: 20.00 s, current path: ./base/1/2663
2024-05-13 04:08:56,099 - annb.d24766e99350 - INFO - 2024-05-13 11:08:26.461 UTC [26] LOG:  syncing data directory (fsync), elapsed time: 30.01 s, current path: ./base/4/2701
2024-05-13 04:08:56,099 - annb.d24766e99350 - INFO - 2024-05-13 11:08:36.486 UTC [26] LOG:  syncing data directory (fsync), elapsed time: 40.03 s, current path: ./base/5/2755
2024-05-13 04:08:56,099 - annb.d24766e99350 - INFO - 2024-05-13 11:08:46.493 UTC [26] LOG:  syncing data directory (fsync), elapsed time: 50.04 s, current path: ./base/5/3433
2024-05-13 04:08:56,099 - annb.d24766e99350 - INFO - pg_ctl: server did not start in time
2024-05-13 04:08:56,099 - annb.d24766e99350 - INFO -    ...fail!
2024-05-13 04:08:56,100 - annb.d24766e99350 - INFO - Traceback (most recent call last):
2024-05-13 04:08:56,100 - annb.d24766e99350 - INFO -   File "/home/app/run_algorithm.py", line 3, in <module>
2024-05-13 04:08:56,100 - annb.d24766e99350 - INFO -     run_from_cmdline()
2024-05-13 04:08:56,100 - annb.d24766e99350 - INFO -   File "/home/app/ann_benchmarks/runner.py", line 282, in run_from_cmdline
2024-05-13 04:08:56,100 - annb.d24766e99350 - INFO -     run(definition, args.dataset, args.count, args.runs, args.batch)
2024-05-13 04:08:56,100 - annb.d24766e99350 - INFO -   File "/home/app/ann_benchmarks/runner.py", line 212, in run
2024-05-13 04:08:56,100 - annb.d24766e99350 - INFO -     build_time, index_size = build_index(algo, X_train)
2024-05-13 04:08:56,101 - annb.d24766e99350 - INFO -   File "/home/app/ann_benchmarks/runner.py", line 178, in build_index
2024-05-13 04:08:56,101 - annb.d24766e99350 - INFO -     algo.fit(X_train)
2024-05-13 04:08:56,101 - annb.d24766e99350 - INFO -   File "/home/app/ann_benchmarks/algorithms/pgvector/module.py", line 25, in fit
2024-05-13 04:08:56,101 - annb.d24766e99350 - INFO -     subprocess.run("service postgresql start", shell=True, check=True, stdout=sys.stdout, stderr=sys.stderr)
2024-05-13 04:08:56,101 - annb.d24766e99350 - INFO -   File "/usr/lib/python3.10/subprocess.py", line 526, in run
2024-05-13 04:08:56,101 - annb.d24766e99350 - INFO -     raise CalledProcessError(retcode, process.args,
2024-05-13 04:08:56,101 - annb.d24766e99350 - INFO - subprocess.CalledProcessError: Command 'service postgresql start' returned non-zero exit status 1.
2024-05-13 04:08:58,243 - annb.d24766e99350 - ERROR - ['angular', {'M': 16, 'efConstruction': 200}]

2024-05-13 04:08:58,243 - annb.d24766e99350 - ERROR - Trying to instantiate ann_benchmarks.algorithms.pgvector.PGVector(['angular', {'M': 16, 'efConstruction': 200}])

2024-05-13 04:08:58,244 - annb.d24766e99350 - ERROR - Got a train set of size (1183514 * 100)

2024-05-13 04:08:58,244 - annb.d24766e99350 - ERROR - Got 10000 queries

2024-05-13 04:08:58,245 - annb.d24766e99350 - ERROR -  * Starting PostgreSQL 16 database server

2024-05-13 04:08:58,245 - annb.d24766e99350 - ERROR -  * Removed stale pid file.

2024-05-13 04:08:58,245 - annb.d24766e99350 - ERROR - Error: /usr/lib/postgresql/16/bin/pg_ctl /usr/lib/postgresql/16/bin/pg_ctl start -D /var/lib/postgresql/16/main -l /var/log/postgresql/postgresql-16-main.log -s -o  -c config_file="/etc/postgresql/16/main/postgresql.conf"  exited with status 1: 

2024-05-13 04:08:58,246 - annb.d24766e99350 - ERROR - 2024-05-13 11:07:56.225 UTC [23] LOG:  starting PostgreSQL 16.3 (Ubuntu 16.3-1.pgdg22.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, 64-bit

2024-05-13 04:08:58,246 - annb.d24766e99350 - ERROR - 2024-05-13 11:07:56.225 UTC [23] LOG:  listening on IPv4 address "127.0.0.1", port 5432

2024-05-13 04:08:58,247 - annb.d24766e99350 - ERROR - 2024-05-13 11:07:56.225 UTC [23] LOG:  could not bind IPv6 address "::1": Cannot assign requested address

2024-05-13 04:08:58,247 - annb.d24766e99350 - ERROR - 2024-05-13 11:07:56.325 UTC [23] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"

2024-05-13 04:08:58,247 - annb.d24766e99350 - ERROR - 2024-05-13 11:07:56.429 UTC [26] LOG:  database system was interrupted; last known up at 2024-05-10 16:59:25 UTC

2024-05-13 04:08:58,248 - annb.d24766e99350 - ERROR - 2024-05-13 11:08:06.484 UTC [26] LOG:  syncing data directory (fsync), elapsed time: 10.03 s, current path: ./base/1/4147

2024-05-13 04:08:58,248 - annb.d24766e99350 - ERROR - 2024-05-13 11:08:16.450 UTC [26] LOG:  syncing data directory (fsync), elapsed time: 20.00 s, current path: ./base/1/2663

2024-05-13 04:08:58,248 - annb.d24766e99350 - ERROR - 2024-05-13 11:08:26.461 UTC [26] LOG:  syncing data directory (fsync), elapsed time: 30.01 s, current path: ./base/4/2701

2024-05-13 04:08:58,249 - annb.d24766e99350 - ERROR - 2024-05-13 11:08:36.486 UTC [26] LOG:  syncing data directory (fsync), elapsed time: 40.03 s, current path: ./base/5/2755

2024-05-13 04:08:58,249 - annb.d24766e99350 - ERROR - 2024-05-13 11:08:46.493 UTC [26] LOG:  syncing data directory (fsync), elapsed time: 50.04 s, current path: ./base/5/3433

2024-05-13 04:08:58,250 - annb.d24766e99350 - ERROR - pg_ctl: server did not start in time

2024-05-13 04:08:58,250 - annb.d24766e99350 - ERROR -    ...fail!

2024-05-13 04:08:58,250 - annb.d24766e99350 - ERROR - Traceback (most recent call last):

2024-05-13 04:08:58,251 - annb.d24766e99350 - ERROR -   File "/home/app/run_algorithm.py", line 3, in <module>

2024-05-13 04:08:58,251 - annb.d24766e99350 - ERROR -     run_from_cmdline()

2024-05-13 04:08:58,251 - annb.d24766e99350 - ERROR -   File "/home/app/ann_benchmarks/runner.py", line 282, in run_from_cmdline

2024-05-13 04:08:58,252 - annb.d24766e99350 - ERROR -     run(definition, args.dataset, args.count, args.runs, args.batch)

2024-05-13 04:08:58,252 - annb.d24766e99350 - ERROR -   File "/home/app/ann_benchmarks/runner.py", line 212, in run

2024-05-13 04:08:58,252 - annb.d24766e99350 - ERROR -     build_time, index_size = build_index(algo, X_train)

2024-05-13 04:08:58,252 - annb.d24766e99350 - ERROR -   File "/home/app/ann_benchmarks/runner.py", line 178, in build_index

2024-05-13 04:08:58,253 - annb.d24766e99350 - ERROR -     algo.fit(X_train)

2024-05-13 04:08:58,253 - annb.d24766e99350 - ERROR -   File "/home/app/ann_benchmarks/algorithms/pgvector/module.py", line 25, in fit

2024-05-13 04:08:58,253 - annb.d24766e99350 - ERROR -     subprocess.run("service postgresql start", shell=True, check=True, stdout=sys.stdout, stderr=sys.stderr)

2024-05-13 04:08:58,253 - annb.d24766e99350 - ERROR -   File "/usr/lib/python3.10/subprocess.py", line 526, in run

2024-05-13 04:08:58,254 - annb.d24766e99350 - ERROR -     raise CalledProcessError(retcode, process.args,

2024-05-13 04:08:58,254 - annb.d24766e99350 - ERROR - subprocess.CalledProcessError: Command 'service postgresql start' returned non-zero exit status 1.

2024-05-13 04:08:58,254 - annb.d24766e99350 - ERROR - Child process for container d24766e99350 returned exit code 1 with message 
2024-05-13 04:08:58,254 - annb.d24766e99350 - INFO - Removing container
2024-05-13 04:08:58,392 - annb - INFO - Terminating 1 workers
```
Any idea about why this issue happens?

Have you solved this issue? I meet the same situation.

> Have you solved this issue? I meet the same situation.

No. I switched to using the `--local` mode (run without docker) after coming across the error. Still have no idea about the root cause🤔

Hi！ I had the same issue. Here is what I found:

The “server did not start in time” error means that pg_ctl gave up waiting because it hit its default timeout. By default, pg_ctl waits 60 seconds (controlled by the PGCTLTIMEOUT environment variable, which itself defaults to 60 s if unset) before aborting the start-up.

I think the cause may be slow disk io. We can manually extend this timeout to solve this problem.

In `ann_benchmarks/algorithms/pgvector/module.py`, The code uses subprocess.run to start PostgreSQL. Here, you can replace `service postgresql start` with pg_ctl command and add the -t flag to specify a longer timeout (for example, 300 seconds).