@@ -50,7 +50,8 @@ set -euxo pipefail # ----
50
50
sed -ri " s/:13/:${POSTGRES_VERSION} /g" ~ /.dblab/server.yml
51
51
# reduce shared_buffers (optional)
52
52
sed -ri " s/^(\s*)(shared_buffers:.*$)/\1shared_buffers: 512MB/" ~ /.dblab/server.yml
53
-
53
+ # skip snapshotting on start to replace some Postgres parameters after PGDATA receiving
54
+ sed -ri " s/^(\s*)(skipStartSnapshot:.*$)/\1skipStartSnapshot: true/" ~ /.dblab/server.yml
54
55
55
56
# # Launch Database Lab server
56
57
sudo docker run \
@@ -75,6 +76,27 @@ for i in {1..30}; do
75
76
sleep 10
76
77
done
77
78
79
+ # Test increasing default configuration parameters from pg_controldata. If the Database Lab Engine will start successfully, the test is passed.
80
+ sudo docker exec -it dblab_server bash -c ' echo -e "\nmax_connections = 300" >> /var/lib/dblab/dblab_pool/data/postgresql.dblab.postgresql.conf'
81
+ sudo docker exec -it dblab_server bash -c ' echo "max_prepared_transactions = 5" >> /var/lib/dblab/dblab_pool/data/postgresql.dblab.postgresql.conf'
82
+ sudo docker exec -it dblab_server bash -c ' echo "max_locks_per_transaction = 100" >> /var/lib/dblab/dblab_pool/data/postgresql.dblab.postgresql.conf'
83
+ sudo docker exec -it dblab_server bash -c ' echo "max_worker_processes = 12" >> /var/lib/dblab/dblab_pool/data/postgresql.dblab.postgresql.conf'
84
+ sudo docker exec -it dblab_server bash -c ' echo "track_commit_timestamp = on" >> /var/lib/dblab/dblab_pool/data/postgresql.dblab.postgresql.conf'
85
+ sudo docker exec -it dblab_server bash -c ' echo "max_wal_senders = 15" >> /var/lib/dblab/dblab_pool/data/postgresql.dblab.postgresql.conf'
86
+
87
+ # Enable snapshotting on start to make a new snapshot
88
+ sed -ri " s/^(\s*)(skipStartSnapshot:.*$)/\1skipStartSnapshot: false/" ~ /.dblab/server.yml
89
+
90
+ sudo docker restart dblab_server
91
+
92
+ # Check the Database Lab Engine logs
93
+ sudo docker logs dblab_server -f 2>&1 | awk ' {print "[CONTAINER dblab_server]: "$0}' &
94
+
95
+ # ## Waiting for the Database Lab Engine initialization.
96
+ for i in {1..30}; do
97
+ curl http://localhost:2345 > /dev/null 2>&1 && break || echo " dblab is not ready yet"
98
+ sleep 10
99
+ done
78
100
79
101
# ## Step 3. Start cloning
80
102
@@ -101,6 +123,9 @@ dblab clone create \
101
123
--password secret_password \
102
124
--id testclone
103
125
126
+ PGPASSWORD=secret_password psql \
127
+ " host=localhost port=6000 user=dblab_user_1 dbname=test" -c ' show max_wal_senders'
128
+
104
129
# Connect to a clone and check the available table
105
130
PGPASSWORD=secret_password psql \
106
131
" host=localhost port=6000 user=dblab_user_1 dbname=postgres" -c ' \dt+'
0 commit comments