It has come to our attention that there is a potential problem in C9's database that may cause data loss or corruption on a power failure. In past 9 months we have had 4 instances of data corruption, 2, in the past week, are confirmed to be related to power failures. One recently required the dealer to completely rebuild and restore from backups.
This page contains important information on how to configure your c9 to be more resilient against such failures. It is strongly recommended that you read and follow the instructions on this page at the earliest opportunity to minimise risk of loss/corruption of data.
We have prepared a new version of the PostgreSQL database that runs in a conservative resiliency setting that is appropriate for the office server systems typically found in c9 shops.
Battery Backed Power Supplies
We also suggest you look into getting a battery backed power supply for the server computer, known as a Un-interruptible Power Supply (or UPS). These plug in between the server and the power supply and provide battery backup in event of power outage and typically also include surge protection capabilities. These can cost as little as $150, and provide upto 10 minutes of battery supported power, which is ample time to perform a safe shutdown of the server. Some UPS systems can connect to the computer itself and can trigger the computer to automatically and safely shutdown in event of detected power failure.
Step 1 - Upgrade PostgreSQL
Firstly, it is a good precautionary idea to make a backup of c9 first. Perform a backup as you would normally.
Next make sure all c9 terminals are logged out.
Next you need to goto the main computer where PostgreSQL is installed. If you are not sure which computer it is here is how you can tell if a computer you are looking at has PostgreSQL installed.
- Goto Computer (or My Computer on older XP machines)
- Click on Hard Disk C:
- You should see a list of 'folders'.
- The 'c9' folder is where c9 terminal is installed. This should be on every computer
- The 'c9db' folder is where PostgreSQL is installed. It should only be on one computer; the server.
Once you have identified the computer with the server running. Do the following:
Goto our download website page:
- http://c8software.com.au/wp/downloads/
- Download, save and then run the program "C9 Database Installer"
- Once saved - click on program to run it.
Once installer finishes running, you can start to use C9 again straight away.
Send barney a email [barney@c8software.com.au] afterwards and let him know you have done the upgrade. Barney will verify remotely that the correct system changes are in place and that the system is now more resiliant against power failure.
Step 2 - Disable Aggressive Write Caching on the Server
The step is not critical but recommended to completely ensure that the risk is minimized.
Windows installations by default configure access to the data so that when you save something, it is not automatically saved. Windows will just keep it in its volatile memory and then save it later. The risk is that a power failure between when you thought something was saved and when it was actually saved may vary. This is the root problem with power failure's and c9.
To fix this do the following:
On windows 7:
- Goto Computer
- Right click mouse button on The Hard Disk Drive C: and select Properties
- Click on Hardware tab and click on first Item in the list that says Disk Drives
- Click on Properties
- Click on Change Settings
- Click on Policies - And make sure the check box 'Enable Write Caching on the Device' is disabled. Then click OK
- Repeat steps 3 to 6 for other hard drives if you have more than one hard drive in your server computer.
Instructions for Windows XP are almost the same. The layout of screens differs slightly only.