It occurred to me that the GH/KH/pH trio may need further explaining, so here is an excerpt from an article I wrote a decade or so back for another site.
Water Hardness and pH in the Freshwater Aquarium
Water in its pure form does not exist in nature; it is a powerful solvent, meaning a substance that easily dissolves other substances to create a solution. As rain falls, it picks up many gasses and particulate matter, and it continues to do this as it passes through the ground. Natural water values therefore vary with respect to hardness and pH because the water acquires specific properties from the landscape. Water flowing over or through rock will assimilate minerals from the rock, becoming what we term “hard” water. Water flowing through soils that contain organic matter will be “soft” because the organics bind with and thus remove minerals while creating acids that enter the water. The pH is largely the result of the hardness as well as the amount of carbon dioxide dissolved in the water.
As each freshwater fish species has evolved over thousands of years, their physiology has adjusted to the water values that occur in their respective habitat. We refer to these values as water parameters, and they include hardness, pH and temperature; each of these has an impact on fish. While many fish species appear to be somewhat adaptable, their physiology can be negatively affected if the parameters are outside the fish’s natural preference. Providing suitable water parameters in the aquarium is therefore an important aspect of providing an environment that is less stressful—and this directly relates to healthier fish.
Total Dissolved Solids [TDS] is the measure of all inorganic and organic substances in suspended form in the water. This includes the minerals salts. "Salts" here refers not solely to our common salt (sodium) but to various mineral salts, the most prevalent of which are chlorides, bicarbonates, carbonates, and sulphates of calcium, sodium, magnesium and potassium. Fish are directly impacted by TDS. In fact, when we speak of soft water fish, we are actually referring to the very low, sometimes near zero, level of TDS in their water.
Water hardness is the measure of dissolved mineral salts in the water, a portion of the TDS (total dissolved solids). There are two basic types of hardness of importance to aquarists, termed general hardness (abbreviated GH) and carbonate hardness (abbreviated KH, from the German “karbon” [carbon]). The combined GH and KH is sometimes termed “total hardness,” but this is of less importance because the GH and KH individually impact the water in different ways.
General Hardness is determined primarily by the minerals calcium and magnesium; GH is sometimes referred to as “permanent hardness” because it cannot be removed from water by boiling as can KH. GH is measured in several different units, but in the hobby the most common are parts per million (ppm) and degrees (dH or dGH). One dGH equals 10 milligrams of calcium or magnesium oxide per litre [1], and is equivalent to 17.848 ppm. Multiplying dGH by 17.9 gives ppm, and similarly dividing ppm by 17.9 gives dGH [the same formula works for KH]. The following chart equates the degrees and relative ppm to common terms in the hobby.
0 - 4 dGH 0 - 70 ppm very soft
4 - 8 dGH 70 - 140 ppm soft
8 - 12 dGH 140 - 210 ppm medium hard
12 - 18 dGH 210 - 320 ppm fairly hard
18 - 30 dGH 320 - 530 ppm hard
over 30 dGH over 530 ppm very hard
Fish are directly impacted by GH and TDS; their growth, the transfer of nutrients and waste products through cell membranes, spawning (sperm transfer, egg fertility or hatching), and the proper functioning of internal organs such as the kidneys can all be affected.
Carbonate hardness is the measure of carbonate and bicarbonate ions; carbonates and bicarbonates are the salts of carbonic acid. It is sometimes referred to as Alkalinity [not to be confused with alkaline as in pH, something very different]. Carbonate hardness is also measured most often in either degrees (dKH) or parts per million (ppm), and the same formula to convert dGH to ppm and reverse also works for KH. KH is normally tied to the GH, since carbonate minerals include limestone, dolomite, calcium and calcite. Mollusc shells and coral are primarily calcium. Carbonate hardness is sometimes called “temporary hardness” because it can be removed from water by boiling which precipitates out the carbonates.
KH has some direct impact on fish; but it also “buffers” the pH by binding to additions of acids or bases, keeping the pH stable—or more correctly, preventing it from changing—and the higher the KH, the greater the buffering capacity. A simple way is to think of the buffer as a sponge that soaks up the acid being added; however, at some point it will become saturated, and further additions of the acid can then cause a sudden and very large fluctuation which is usually fatal to the fish. This buffering is why attempts to adjust (lower) the pH of hard water are dangerous and will fail unless the KH is first reduced.
pH stands for pondus hydrogeni, Latin for “potential of hydrogen.” Water is made up of positively-charged hydrogen ions and negatively-charged hydroxyl ions, and pH is the measurement of the ratio of hydrogen and hydroxyl ions in a body of water. Acidic water contains more hydrogen ions, and basic (alkaline) water more hydroxyl ions; neutral water has an equal proportion. The pH is closely linked with the level of carbon dioxide (CO2) because CO2 produces carbonic acid. The hardness also impacts pH, since the carbonates bind to acids as they appear; as mentioned previously, this buffering will prevent or limit changes in pH.
The pH is measured with a scale from 1 to 14 with 7 being neutral. Numbers below 7 indicate acidic water, increasingly more acidic as they lower, while numbers above 7 indicate basic or alkaline water, increasingly as the numbers rise. This scale is logarithmic, meaning that each unit is a ten-fold increase/decrease; so a pH of 5 is ten times more acidic than a pH of 6, and 100 times more acidic than a pH of 7, and a thousand times more acidic than a pH of 8. Fish must never be exposed to sudden pH changes approaching one unit, as this is very stressful and may kill some species.
The impact of pH on fish is significant; water constantly enters the fish via osmosis through the cells, and the pH of the water can shift the pH of the fish’s blood if they are different. The fish must therefore regulate its internal pH accordingly, and this takes energy. Fish do this regularly in nature in response to changes in its environment, but these are usually minimal. Some fish species have a wider range of tolerance than others, for reasons that are not certain.[2] Fish that are wild caught show intolerance for hardness and pH levels that are not close to their origins. Maintaining a species in water that is reasonably close to its natural habitat is usually advisable.