lemmy/scripts/start_dev_db.sh
dullbananas 759f6d8a9a
Better query plan viewing experience (#4285)
* stuff

* stuff including batch_upsert function

* stuff

* do things

* stuff

* different timestamps

* stuff

* Revert changes to comment.rs

* Update comment.rs

* Update comment.rs

* Update post_view.rs

* Update utils.rs

* Update up.sql

* Update up.sql

* Update down.sql

* Update up.sql

* Update main.rs

* use anyhow macro

* replace get(0) with first()

* as_slice

* Update series.rs

* Update db_perf.sh

* Update and rename crates/db_schema/src/utils/series.rs to crates/db_perf/src/series.rs

* Update utils.rs

* Update main.rs

* Update main.rs

* Update .woodpecker.yml

* fmt main.rs

* Update .woodpecker.yml

* Instance::delete at end

* Update main.rs

* Update Cargo.toml

---------

Co-authored-by: Nutomic <me@nutomic.com>
2024-01-24 10:22:33 -05:00

51 lines
1.4 KiB
Bash

# This script is meant to be run with `source` so it can set environment variables.
export PGDATA="$PWD/dev_pgdata"
export PGHOST=$PWD
export PGUSER=postgres
export DATABASE_URL="postgresql://lemmy:password@/lemmy?host=$PWD"
export LEMMY_DATABASE_URL=$DATABASE_URL
export PGDATABASE=lemmy
# If cluster exists, stop the server and delete the cluster
if [[ -d $PGDATA ]]
then
# Only stop server if it is running
pg_status_exit_code=0
(pg_ctl status > /dev/null) || pg_status_exit_code=$?
if [[ ${pg_status_exit_code} -ne 3 ]]
then
pg_ctl stop --silent
fi
rm -rf $PGDATA
fi
config_args=(
# Only listen to socket in current directory
-c listen_addresses=
-c unix_socket_directories=$PWD
# Write logs to a file in $PGDATA/log
-c logging_collector=on
# Allow auto_explain to be turned on
-c session_preload_libraries=auto_explain
# Include actual row amounts and run times for query plan nodes
-c auto_explain.log_analyze=on
# Don't log parameter values
-c auto_explain.log_parameter_max_length=0
)
# Create cluster
pg_ctl init --silent --options="--username=postgres --auth=trust --no-instructions"
# Start server
pg_ctl start --silent --options="${config_args[*]}"
# Setup database
PGDATABASE=postgres psql --quiet -c "CREATE USER lemmy WITH PASSWORD 'password' SUPERUSER;"
PGDATABASE=postgres psql --quiet -c "CREATE DATABASE lemmy WITH OWNER lemmy;"