]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/qt-console/help/restore.html
A bug was introduced in with commit 5727. Restoretree and restore were
[bacula/bacula] / bacula / src / qt-console / help / restore.html
index 0c3e184d7241c92398ff61af99e537d58e0056b1..400e807187c5da9d10e624a5bf984beb35d768dc 100644 (file)
 
 <h2>The Two Restore Interfaces</h2>
 
-<p>Both restore interfaces accomplish the same 3 steps in different ways.
-Those steps are to select jobs to restore from, give the user the
-opportunity to select files and directories and then run the restore job.
+<p>Both interfaces accomplish the same three steps.
+The steps are to select jobs to restore from, give the user the
+opportunity to select files/directories, then indicate details such as
+the host and path to restore to and trigger the job to run.
 
 <h2>The Standard Restore Interface</h2>
 
 <p>Start the standard restore procedure by pressing the restore button
 in the task bar.  There are also two options in the joblist context sensitive 
-menu to start a restore.  They are restore from time or restore from job.
+menu to start a restore.  They are Restore From Time or Restore From Job.
 
-<p>This interface is intended as a high performance restore option.
-It is a server side process.  These interfaces assist in user in using the
+<p>This restore method is intended as a high performance option.
+It is a server side process.  These interfaces assist the user in utilizing the
 text based restore capabilities of the standard console.  It interprets the text
 to display the information in a way that simplifies the restore procedure.
 
-<p>The Opening interface will allow the user to choose selection criterion to
+<p>The Opening interface allows the user to choose selection criterion to
 inform the server how to determine the set of backup job ids to use in the
-restore.  This best possible set will be the most recent full backup, the most
+restore.  This best possible set is he most recent full backup, the most
 recent differential backup done since the most recent full, and all the
 incremental backups done since the most recent full or differential.  Then the
-server will use this set of jobs to create a file structure that will be the
+server uses this set of jobs to create a file structure that is the
 most recent version of each file found in this job list.
 
-<p>After the select box OK button has been pushed, a limitation in bat will
-occur that will be resolved in future.  The restore process will take control
-of the connection to the server and will not allow any other communication to
+<p>After the select box OK button has been pressed, a limitation in bat
+occurs that will be resolved in the future.  The restore process takes control
+of the connection to the server and does not allow any other communication to
 the server by any other interface.
 
-<p>The second interface will allow the user to browse this file structure and
-choose the files and directories to restore.  This will be done in an explorer
+<p>The second interface allows the user to browse this file structure and
+choose the files and directories to restore.  This is done in an explorer
 type interface with a directory tree on the left.  In the right pane of a
-splitter will be a table showing a list of files and directories that are the
+splitter is a table showing a list of files and directories that are the
 contents of the directory selected in the left pane.  The user can mark and
 unmark either with the buttons on the top or by double clicking on the check
 mark icon to toggle whether an item is selected or not.  Double clicking an
 item which is a directory on a part of the table which is not the check icon
-will open that directory.  Clicking on OK will complete the selection process.
+opens that directory.  Clicking 'OK' completes the selection process.
 
-<p>The third step is a drop down interface that appears to be similar to the
-first but is different.  It is the Restore Run interface and will run the job
-after allowing the user to inform the bacula server details of what host and
-where to restore the files to.
+<p>The third step is the Restore Run interface.  It's purpose is to allow the
+user to inform the bacula server details of the host and path to restore to, the
+replacement rules, when to restore and what priority to give the restore job.
 
 <h2>The Version Browser Restore Interface</h2>
 
@@ -66,66 +66,94 @@ limitations as the standard restore during the file and directory selection
 process.  The user can have an unlimited number of selection windows open at a
 time for viewing the cataloged jobs, directories, files and versions.
 
-<p>This restore interface is NOT intended to preform major restores of directory
+<p>This restore interface is <b>NOT</b> intended to perform major restores of directory
 structures with large numbers of directories and files.  It should work, however
-it is a chatty interface and will perform a number of sql queries of the server
-proportional to the number of files and directories selected and the number of
-exceptions to defaults selected.  It IS intended to allow the user to browse for 
+it is a chatty interface.  This is due to the number of sql queries made of the server
+which is proportional to the number of files and directories selected plus the number of
+exceptions to defaults selected.  It <b>IS</b> intended to allow the user to browse for 
 specific files and choose between the different versions of those files that
 are available in the catalog to restore.
 
 <p>The interface contains a horizontal splitter.  The bottom pane contains
-some controlling widgets for the interface.
-The top pane contains a vertical splitter with 4 widgets for viewing the 
-cataloged information.  The left widget is for viewing and further sub selecting
+some controls for the interface.
+The top portion contains a vertical splitter with 4 panes for viewing the 
+cataloged information.  The left pane is for viewing and further sub selecting
 of jobs.  The second pane is for viewing the directory tree.  The third is for
 viewing a list of files in a directory that has been selected.  Then
-lastly the fourth widget is for viewing a table of versions of a single file
-that has been selected from the file widget.
+lastly the fourth pane is for viewing a table of versions of a single file
+that has been selected from the file table.
 
-<p>The version browser accomplishes the 3 restore steps, but does it a little
-differently.
+<p>The version browser accomplishes the three restore steps differently.
 
 <p>To select jobs and populate the directory tree, press the refresh button.
-The job table will contain selected jobs.  The selection criterion of the three
-drop downs and the 2 limits will be used as the filtering criterion for
+The job table contains selected jobs.  The selection criterion of the three
+dropdowns and the two limits are used as the filtering criterion for
 populating the job table the first time the refresh button is pushed.
 After the refresh button has been pushed, the job table has check marks that
-can select and unselect jobs.  Re-pressing the refresh button will do one of 2
-things and this is dependent on whether the widgets in the bottom control pane
+can selects and unselects jobs.  Re-pressing the refresh button does one of two
+things.  What occurs is dependent on if the controls in the bottom pane 
 display the same data as the previous time the refresh button was pressed.  If
-changed the jobs table will be repopulated from the selection criterion.  If
-unchanged any jobs that have been unchecked will then be excluded from the 
-process of selecting directories, files and versions.  The directory tree will
-be immediately repopulated.  There is a text label underneath the
-refresh button to inform the user as to which of these two will happen.
+changed the jobs table is repopulated from the selection criterion.  If
+unchanged any jobs that have been unchecked are excluded from the 
+process of selecting directories, files and versions.  The directory tree does get
+repopulated when the refresh button is pushed.  There is a text label underneath the
+refresh button to inform the user as to which occurs when refresh is pressed.
 
 <p>The user can browse the directory tree and click on a directory folder which
-will then populate the file table with the files that are contained in the
-selected directory path.  Selecting or unselecting a directory will select or
+then populates the file table with the files that are contained in the
+selected directory path.  Selecting or unselecting a directory does also select or
 unselect all files and all directories in the tree hierarchy beneath it.  If
 there are any exceptions already selected beneath that directory, those
-exceptions will be deleted.
+exceptions do get deleted.
 
 <p>With the file table populated, the user can unselect a file in a selected 
 directory and also select a file in an unselected directory.
 
-<p>With a file selected the version table will populate with all the instances
+<p>With a file selected the version table populates with all the instances
 a file has been written to tape.  The user can choose a specific version of a
 file for restore and override the default which is to restore the most recent
 version. 
 
-<p>Pressing the restore button will initiate a procedure of preparing to
+<p>Pressing the restore button initiates a procedure preparing to
 perform the restore of the requested files.  The same Restore Run interface
-that was the third step in the standard restore will then be displayed.  It
-will allow the user to instruct the bacula server of the details of what host
-and what path to restore the files to.  This part of the restore will take a
-hold of the connection to the server and not allow any other communication
+that was the third step in the standard restore is then displayed.  It
+allows the user to instruct the bacula server of the details of what host
+and what path to restore the files to.  This part of the restore does take control
+of the connection to the server and does not allow any other communication
 to the server by the other interfaces.
 
-<p>There are two progress bars that will appear when refreshing or restoring
-to allow the user to understand how much time it may take to complete any tasks
+<p>There are two progress bars that appear when refreshing or after pressing
+Restore.  These indicate to the user the time it may take to complete any tasks
 that could take a long time period.
 
+<h2>Version Browser Performance</h2>
+
+<p>If you have used the version browser with a large database, you may have
+noticed that the performance can begin to be quite slow.  A way to improve the
+response time of the database server is to add indexes that will assist a 
+couple of the specific queries that are made.
+
+<p>For postgresql add 2 indexes with the following commands in psql:
+<br>CREATE INDEX file_filenameid_jobid ON file USING btree (filenameid,
+jobid);
+<br>CREATE INDEX file_pathid_idx ON file USING btree (pathid);
+
+<p>For mysql add 2 indexes with the following commands in mysql:
+<br>CREATE INDEX file_filenameid_jobid ON File (FilenameId, JobId);
+<br>CREATE INDEX file_pathid_idx ON File (PathId);
+
+<p>There is one way to make the first of those two indexes perform just a 
+little better.  It is to create a partial index.  First, at least one backup 
+must be in the database that has at least one directory.  Then in psql or mysql
+perform the command:
+<br>SELECT FilenameId FROM Filename WHERE name='';
+<br>Use the results of this command and replace for XXX in the following command:
+<br>CREATE INDEX file_filenameid_jobid2 ON File (JobId) WHERE FilenameId=XXX;
+<br>This index will use less disk space and will perform better.  Don't forget to
+remove the index it replaces, file_filenameid_jobid.
+
+<p>If you have sqlite and would be willing to test out the creation of these
+indexes to see if they work, please let me know the commands.
+
 </BODY>
 </HTML>