How to do it…

Write a document that covers the following items:

  • Database design - plan your database design
  • Calculate the initial database sizing
  • Transaction analysis - How will we access the database?
  • Look at the most frequent access paths
  • What are the requirements for response times?
  • Hardware configuration
  • Initial performance thoughts - Will all of the data fit into the RAM?
  • Choose the operating system and filesystem types
  • How do we partition the disk?
  • Localization plan
  • Decide the server encoding, locale, and time zone
  • Access and security plan
  • Identify client systems and specify the required drivers
  • Create roles according to a plan for access control
  • Specify pg_hba.conf
  • Maintenance plan - Who will keep it working? How?
  • Availability plan - consider the availability requirements
  • checkpoint_timeout (for more details on this parameter, see the Understanding and controlling crash recovery recipe in Chapter 11, Backup and Recovery)
  • Plan your backup mechanism, and test it
  • High-availability plan
  • Decide which form of replication you'll need, if any