InfoPrint Manager server print database

InfoPrint Manager objects are persistent. Persistent objects are defined as objects whose existence spans the stopping and restarting of the process in which they reside. Persistent objects have the ability to save and restore their data to and from some persistent medium, such as disk. Each InfoPrint Manager pdserver has a Print Database (pdb) where it stores information about its objects.

The pdserver's Print Database also manages controlling the access to objects by different threads, and can swap objects out of memory to handle low-memory situations. When an object is created or changed, it is written to disk. If the object is not currently in memory and some thread wants to access it, it is brought into memory.

The server's Print Database information is stored in a subdirectory of the server's directory, for example, /var/pd/ServerName/pdb. The names of the directories in the pdb directory denote the type of object, and the names of the files in those subdirectories are the actual object names.

You should never access the server's pdb directory unless absolutely necessary. If you do, you shouldn't do it while a server is running. If a pdserver is killed or it crashes, it is possible for pdb files to get corrupted. If pdb files are corrupted, those objects cannot be restored or brought into memory when the pdserver is restarted. When this happens, you will not be able to access that object any more. The pdserver logs a message at startup for any objects that are corrupted. This alerts you that you have corrupted objects, and they need to be manually removed and recreated. Other than this situation, it is not a good practice to manually remove ojbects from the pdb while the pdserver is shutdown since there could be other associated data (like the namespace entry) that is not removed. You should always remove objects from InfoPrint Manager by using the pddelete command if at all possible.