From 9767432cff96360a2085a47d596f98ed27b5ec46 Mon Sep 17 00:00:00 2001 From: Alex Chi Z Date: Wed, 17 May 2023 09:48:00 -0400 Subject: [PATCH] add `cargo neon` shortcut for neon_local (#4240) Add `cargo neon` as a shortcut for compiling and running `neon_local`. --------- Signed-off-by: Alex Chi --- .cargo/config.toml | 1 + README.md | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/.cargo/config.toml b/.cargo/config.toml index c40783bc1b..8fddaa2dd4 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -14,3 +14,4 @@ opt-level = 1 [alias] build_testing = ["build", "--features", "testing"] +neon = ["run", "--bin", "neon_local"] diff --git a/README.md b/README.md index 1b0164d5c0..8e6f2cda81 100644 --- a/README.md +++ b/README.md @@ -130,11 +130,11 @@ Python (3.9 or higher), and install python3 packages using `./scripts/pysync` (r ```sh # Create repository in .neon with proper paths to binaries and data # Later that would be responsibility of a package install script -> ./target/debug/neon_local init +> cargo neon init Starting pageserver at '127.0.0.1:64000' in '.neon'. # start pageserver, safekeeper, and broker for their intercommunication -> ./target/debug/neon_local start +> cargo neon start Starting neon broker at 127.0.0.1:50051 storage_broker started, pid: 2918372 Starting pageserver at '127.0.0.1:64000' in '.neon'. @@ -143,19 +143,19 @@ Starting safekeeper at '127.0.0.1:5454' in '.neon/safekeepers/sk1'. safekeeper 1 started, pid: 2918437 # create initial tenant and use it as a default for every future neon_local invocation -> ./target/debug/neon_local tenant create --set-default +> cargo neon tenant create --set-default tenant 9ef87a5bf0d92544f6fafeeb3239695c successfully created on the pageserver Created an initial timeline 'de200bd42b49cc1814412c7e592dd6e9' at Lsn 0/16B5A50 for tenant: 9ef87a5bf0d92544f6fafeeb3239695c Setting tenant 9ef87a5bf0d92544f6fafeeb3239695c as a default one # start postgres compute node -> ./target/debug/neon_local endpoint start main +> cargo neon endpoint start main Starting new endpoint main (PostgreSQL v14) on timeline de200bd42b49cc1814412c7e592dd6e9 ... Extracting base backup to create postgres instance: path=.neon/pgdatadirs/tenants/9ef87a5bf0d92544f6fafeeb3239695c/main port=55432 Starting postgres at 'host=127.0.0.1 port=55432 user=cloud_admin dbname=postgres' # check list of running postgres instances -> ./target/debug/neon_local endpoint list +> cargo neon endpoint list ENDPOINT ADDRESS TIMELINE BRANCH NAME LSN STATUS main 127.0.0.1:55432 de200bd42b49cc1814412c7e592dd6e9 main 0/16B5BA8 running ``` @@ -177,22 +177,22 @@ postgres=# select * from t; 3. And create branches and run postgres on them: ```sh # create branch named migration_check -> ./target/debug/neon_local timeline branch --branch-name migration_check +> cargo neon timeline branch --branch-name migration_check Created timeline 'b3b863fa45fa9e57e615f9f2d944e601' at Lsn 0/16F9A00 for tenant: 9ef87a5bf0d92544f6fafeeb3239695c. Ancestor timeline: 'main' # check branches tree -> ./target/debug/neon_local timeline list +> cargo neon timeline list (L) main [de200bd42b49cc1814412c7e592dd6e9] (L) ┗━ @0/16F9A00: migration_check [b3b863fa45fa9e57e615f9f2d944e601] # start postgres on that branch -> ./target/debug/neon_local endpoint start migration_check --branch-name migration_check +> cargo neon endpoint start migration_check --branch-name migration_check Starting new endpoint migration_check (PostgreSQL v14) on timeline b3b863fa45fa9e57e615f9f2d944e601 ... Extracting base backup to create postgres instance: path=.neon/pgdatadirs/tenants/9ef87a5bf0d92544f6fafeeb3239695c/migration_check port=55433 Starting postgres at 'host=127.0.0.1 port=55433 user=cloud_admin dbname=postgres' # check the new list of running postgres instances -> ./target/debug/neon_local endpoint list +> cargo neon endpoint list ENDPOINT ADDRESS TIMELINE BRANCH NAME LSN STATUS main 127.0.0.1:55432 de200bd42b49cc1814412c7e592dd6e9 main 0/16F9A38 running migration_check 127.0.0.1:55433 b3b863fa45fa9e57e615f9f2d944e601 migration_check 0/16F9A70 running @@ -221,7 +221,7 @@ postgres=# select * from t; 4. If you want to run tests afterward (see below), you must stop all the running of the pageserver, safekeeper, and postgres instances you have just started. You can terminate them all with one command: ```sh -> ./target/debug/neon_local stop +> cargo neon stop ``` ## Running tests