Search code examples
powershellneo4jwindows-servicesinvoke-command

What is the difference between Neo4j with PowerShell and Neo4j as a service?


In this comment a staff of Neo4j says:

I would not recommend mixing each of these methods for running the database, as they're not suited for working together. You should pick one of:

  • Neo4j Desktop
  • Neo4j with PowerShell
  • Neo4j as a windows service
  • Neo4j with Docker
  • Neo4j Aura

What is the difference between Neo4j with PowerShell and Neo4j as a service? Checking the Windows installation - Operations Manual I take that by Neo4j with PowerShell he means Neo4j PowerShell module. But in my understanding it also requires you to install Neo4j service with the command Invoke-Neo4j install-service before you can Invoke-Neo4j start. I take that in PowerShell Invoke-Neo4j is equivalent to the standalone neo4j command, given that you have imported the module via Import-Module .\Neo4j-Management.psd1?


Solution

  • From the conversation with @Mathias R. Jessen, I think that besides Invoke-Neo4j console which can start a DBSM server, the rest of the commands from the module (e.g. Invoke-Neo4j start, Invoke-Neo4j status, Invoke-Neo4j install-service, etc) are to work with the service and are the same with the commands from neo4j.bat (e.g. neo4j start, neo4j status, neo4j install-service, etc). I think this mix of commands is to make it convenient to work with one thing.