Server operation¶
Most of the cmdlets in this module are based on the Send-CouchDBRequest
cmdlet.
Send-CouchDBRequest # alias creq
Get-Help Send-CouchDBRequest -Full
Below are all the cmdlets needed to get all the information on the CouchDB server.
To get the version and other info on the server, run:
Get-CouchDBServer
To get list of running tasks, including the task type, name, status and process ID:
Get-CouchDBActiveTask -Authorization "admin:password"
To get list of all the databases in the CouchDB instance:
Get-CouchDBDatabase -Authorization "admin:password"
To get information of a list of the specified databases in the CouchDB instance:
Get-CouchDBDatabaseInfo -Keys test,test1,test2 -Authorization "admin:password"
To get the status of the node or cluster, run this:
Get-CouchDBClusterSetup -Authorization "admin:password"
To get a list of all database events in the CouchDB instance:
Get-CouchDBDatabaseUpdates -Authorization "admin:password"
For other parameter see the table below:
PARAMETER | DESCRIPTION |
---|---|
Feed |
|
Timeout | Number of seconds until CouchDB closes the connection. Default is 60. |
Heartbeat | Period in milliseconds after which an empty line is sent in the results. Only applicable for longpoll, continuous, and eventsource feeds. Overrides any timeout to keep the feed alive indefinitely. Default is 60000. |
Since | Return only updates since the specified sequence ID. May be the string “now” to begin showing only new updates. |
To displays the nodes that are part of the cluster:
Get-CouchDBNode -Authorization "admin:password"
To get the statistics for the running server:
Measure-CouchDBStatistics -Authorization "admin:password"
Measure-CouchDBStatistics -System -Authorization "admin:password"
To restart server:
Note
This task required privileged access on operating system
Restart-CouchDBServer
And check health:
Get-CouchDBServer -Status
To get one or more Universally Unique Identifiers (UUIDs) from the CouchDB instance:
New-CouchDBUuids
To set proxy server for all calls:
Set-CouchDBProxy -Server 'http://myproxy.local:8080' -Credential (Get-Credential)
And remove it
Remove-CouchDBProxy
Tests the results of Lucene analyzer tokenization on sample text:
Search-CouchDBAnalyze -Field "english" -Text "running" -Authorization "admin:password"
Returns a count of completed, failed, running, stopped, and total jobs along with the state of resharding on the cluster:
Get-CouchDBReshards -Jobs -Authorization "admin:password"
This starts global resharding on all the nodes of the cluster:
Set-CouchDBReshards -State running -StateReason "Test start" -Authorization "admin:password"
Single resharding job for a particular range:
Set-CouchDBReshards -Database test -Err "Test message" -Type split -Range "80000000-ffffffff" -Authorization "admin:password"
Stop and remove specific job id:
Remove-CouchDBReshards -JobId "001-638b90b9acf73cbb113afdfdba458bec80da6a6be23599019fb7b051cedfcc93" -Authorization "admin:password"
Read the log¶
To read entire log.
Read-CouchDBLog -Authorization "admin:password"
Note
The default path is specified in the server configuration. Run `` Get-CouchDBConfiguration -Session log -Key file -Authorization admin:password``.
Otherwise, specify the path using the -Path
parameter.
This example is used to read only the last 15 lines of log.
Read-CouchDBLog -Tail 15 -Authorization "admin:password"
Instead this to stay in append on the log for the level of warning.
Read-CouchDBLog -Level warning -Follow -Authorization "admin:password"
Level¶
Each entry in the log has its own color, so as to identify the line of interest “at a glance”.
debug : Detailed debug logging.
info : Informative logging. Includes HTTP requests headlines, startup of an external processes etc.
notice
warning : Warning messages are alerts about edge situations that may lead to errors.
error : Error level includes only things that go wrong, like crash reports and HTTP error responses (5xx codes).
critical
alert
emergency
Clear the log¶
Clear entire and rotate (save a copy in the same folder) log.
Clear-CouchDBLog -Rotate -Authorization "admin:password"
Replication¶
The replication is an incremental one way process involving two databases (a source and a destination).
Get replica¶
To get a replication document.
Get-CouchDBReplication -Authorization "admin:password"
To get a list of replication jobs.
Get-CouchDBReplicationScheduler -Authorization "admin:password"
And to get a list of replication document states.
Get-CouchDBReplicationDocument -Authorization "admin:password"
Create replica¶
Creation of the replicator database and replication agent is automatically in the same time.
using module PSCouchDB
$rep = New-Object PSCouchDBReplication -ArgumentList 'test','test_dump'
$rep.SetContinuous()
New-CouchDBReplication -Data $rep -Authorization "admin:password"
Now that we have a replicated document, let’s take a look at the change.
Get-CouchDBDatabaseChanges -Database test_dump -Authorization "admin:password"
Modify replica¶
To change the replication agent settings (continuous: true | false).
using module PSCouchDB
$rep = New-Object PSCouchDBReplication -ArgumentList 'test','test_dump'
$rep.SetRevision("4-c2cefa18494e47182a125b11eccecd13")
Set-CouchDBReplication -Data $rep -Authorization "admin:password"
Remove replica¶
To remove the replication agent.
Remove-CouchDBReplication -Document test_test_dump -Authorization "admin:password"
Replication request¶
Request, configure, or stop, a replication operation.
using module PSCouchDB
$rep = New-Object PSCouchDBReplication -ArgumentList 'test','test_dump'
$rep.AddDocIds(@("Hitchhikers","Hitchhikers_Guide"))
Request-CouchDBReplication -Data $rep -Authorization "admin:password"
Enable/Disable Maintenance¶
Enable maintenance mode.
Set-CouchDBMaintenanceMode -Authorization "admin:password"
Disable maintenance mode.
Set-CouchDBMaintenanceMode -Maintenance $false -Authorization "admin:password"