git
(used for source version control)ssh
client (used to authenticate with GitHub)go
and rust
setup on your local machine (used by flow
and nexus
respectively)git clone --recursive git@github.com:PeerDB-io/peerdb.git
command.psql postgres
. To set up a dev environment, it is important to have a user named postgres because end-to-end tests use postgres
userwal_level
to logical, run ALTER SYSTEM SET wal_level = 'logical'
max_wal_senders
, run ALTER SYSTEM SET max_wal_senders = 10
max_replication_slots
, run ALTER SYSTEM SET max_replication_slots = 4
brew services restart postgresql
to reload the configuration for the changes to take effect.wal_level
has been set to logical, run SHOW wal_level;
max_wal_senders
has been set to 10, run SHOW max_wal_senders;
max_replication_slots
has been set to 4, run SHOW max_replication_slots;
TEST_BQ_CREDS
to point to the path of the JSON file. If you are using VSCode, you can add the below entry under settings.json file.
openssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM -out rsa_key.p8 -nocrypt
openssl rsa -in rsa_key.p8 -pubout -out rsa_key.pub
pbcopy < rsa_key.pub
ALTER USER jsmith SET RSA_PUBLIC_KEY='MIIBIjANBgkqh...';
DESC USER jsmith;
account_id
: <organization_name>-<account_name>
. You can find this information under Admin Page -> Accounts.
username
: <user_name>
. Go to Admin -> Users & Roles -> Users, find the relevant user_name
private_key
: <string_private_key>
The rsa_key.p8 file generated in the above step needs to be converted to string, which means all new lines should be converted to the “\n” symbol.
database
: “peerdb”. Create a new database. You can use an existing one, but make sure your role does have permissions to read/write to the database.
schema
: “peerdb”
warehouse
: “COMPUTE_WH” or whatever is available under Admin -> Warehouses
role
: “ACCOUNTADMIN” or whatever is available under Admin -> Users & Roles -> Role
query_timeout
: 300
TEST_SF_CREDS
to point to the path of the JSON file. If you are using VSCode, you can add the below entry under settings.json file.
"go.testTimeout": "300s"
You are all set! Start testing the code and contributing!