《尚書·夏書》上說:大禹治理洪水的十三年中,經過自己的家門口而不進去。在陸地上行走要坐車,在水中行走要坐船,在泥濘中行走要踩木橇,在山路中行走則乘轎。天下被劃分爲九個州,順著山勢疏浚河流,根據土地的肥沃程度制定貢賦等級。開通九州的道路,堵塞九州的湖澤,估量九州的山地的物產。但是黃河泛濫成災,對中原地區的損害尤其嚴重。所以集中力量治理黃河。於是疏導黃河,引導河水從積石山開始,經過龍門,南行到華陰縣,由此折而東下,經過砥柱山和洛州河陽縣的孟津、雒汭,一直到達大邳山。大禹認爲大邳以上黃河流經的地區地勢很高,水流湍急兇猛,很難在平地通行,多次沖毀河堤,造成水災,於是開鑿兩道河渠將黃河分流成兩條,引黃河東流直接入海,其正流往北通過高地,經過降水,到達大陸澤,分撥成九條支流,然後又匯合成逆河,流入渤海。九州的河川既然已經疏通,九州的湖澤已經分洩,華夏諸國得以安寧,大禹治水的功績一直延續到夏、商、周三代。
從大禹治水以後,後人又從滎陽城下引黃河水往東南方流經,成爲鴻溝,水流把宋、鄭、陳、蔡、曹、衛各國連結起來,分別於濟水、汝水、淮水、泗水相會。在楚地,西方有渠道連通漢水、雲夢澤一帶,東方有溝渠通達江、淮之間。在吳地,有渠道連通三江、五湖。在齊地,則在菑水和濟水之間修渠連通。在蜀地,蜀郡守李冰鑿開離礁,用以避開沫水造成的水災,在成都平原開鑿兩條江水支流。這些渠道都可以通航,多餘的水則用來灌溉農田,給百姓帶來了很多便利。至於渠水經過的地區,人們往往開鑿一些支渠引水灌溉農田,流入田地中的水渠的數目要以萬億來計,但是由於規模小,不值得計數。
西門豹引漳水灌溉鄴縣的農田,使魏國的河內地區富裕起來。
韓國聽說秦國喜好興建工程,想藉此來消耗秦國的國力,使它物力侵犯山東諸國,於是派水利專家鄭國做間諜,找機會遊說秦王,勸說秦國修一條水渠,引涇水從中山起西到瓠口,傍依北山向東流入洛水,全長三百多里,計劃用它來灌溉田地。在施工的過程中,秦王發覺了鄭國的計謀,秦王打算殺死鄭國。鄭國說:「當初我的確是被派來做間諜的,然而水渠修成功後也確實能使秦國獲得利益呀。」秦王認爲這話有道理,最終讓鄭國繼續主持開渠的工程。水渠開通以後,引來淤積混濁的涇河水,灌溉兩岸低洼的鹽鹼地四萬多頃,畝產都達到了六石四斗。於是關中地區變成了沃野,再也沒有饑荒的年頭了,秦國因此富強起來了,最終吞併了諸侯各國,於是把這條水渠命名爲「鄭國渠」。
漢朝建國三十九年,到孝文帝時,黃河在酸棗縣決口,東邊的金堤被衝垮了,於是東郡發動了很多兵卒堵塞決口。
這以後經過四十多年,到了當今天子元光年間,黃河又在瓠子決口,向東南流入鉅野澤,將淮水、泗水連通成一片。於是天子命汲黯、鄭當時調發民衆、罪徒去堵塞決口,往往是剛剛堵好就又被水沖毀了。這時候朝中的丞相是武安侯田鼢,他的奉邑是鄃縣,鄃縣地處黃河以北,而黃河決口向南泛濫,所以北邊的鄃縣沒有發生水災,收成很好。田鼢對皇上說:「江河決口都是上天的安排,不能輕易地憑藉人力強行堵塞。即使將決口堵塞了,也未必符合天意。」此外,那些看雲氣天象的和使用術數占卜的方士也認爲田鼢說得對。於是天子很長時間不再處理堵塞決口的事。
當時鄭當時出任大司農官職,建議說:「過去關東地區運糧沿渭水逆流而上,運到長安估計需要六個月才完成,水運全程有九百多里,途中還有很多難行的地段。如果開鑿渠道引渭水從長安開始,沿著南山而去,到達黃河才三百多里,是一條直路,容易行船,估計只需要三個月就可以運完;而渠道附近有田地一萬多頃,又可以得到渠水灌溉:這樣可以節省水運的時間和人力,並且使關中土地更加肥沃,從而使收成更好。」天子認爲有道理,就派齊人水利專家徐伯進行勘測,確定河道走向,一下子發動士卒數萬人開鑿水運渠道,歷時三年完工。漕渠開通,用來水上運輸,非常便利。從這以後,水運就逐漸多起來了,水渠一帶的百姓也能得到渠水灌溉的利益。
這以後,河東太守番系說:「從山東用船運糧西行入關,每年有一百多萬石,途中經過砥柱這個行船危險的地區,運糧船隻沉沒很多,損失很大,而且耗費也很大。如果開挖河渠引汾水灌溉皮氏、汾陰一帶的土地,引黃河之水灌溉汾陰、蒲阪一帶的土地,估計可以造田五千頃。這五千頃土地原來都是河邊被遺棄的荒地,百姓在那裡打草放牧,如今加以灌溉耕種,估計可以得到糧食二百萬石以上。這些糧食沿渭水運到長安,與直接從關中收穫並無兩樣,那麼可以不再從砥柱以東漕運入關了。」天子認爲有道理,發動士卒數萬人修渠造田。幾年以後,黃河改道,渠水不足,種地的收成還不夠用來補償種子的費用,時間長了,河東的渠田就荒廢了,交給從越地遷來的百姓耕種,只收少量的賦稅。
這以後有人上書,是爲了想打通褒、斜道和便利漕運的事宜,天子把這件事交給御史大夫張湯處理。張湯詳細了解後,說道:「從漢中達蜀地要經過故道縣,故道縣有許多斜坡,迴環繞遠。如今要鑿通褒、斜道,少斜坡,路程與故道相比縮短了四百里;並且褒水和沔水相通,斜水和渭水相通,都可以通行運糧船隻。水路運糧從南陽往上逆行沔水進入褒水,從褒水登陸,走陸路到斜水,其間有一百多里,用車轉運,再從斜水往下駛入渭水。這樣一來,不僅漢中的糧食可以運來,山東的糧食從沔水而上不會遇到阻隔,比經過砥柱水運便利。而且褒、斜道附近一帶盛產木材竹箭,可以和巴蜀地區媲美。」天子認爲有道理,任命張湯的兒子張卬擔任漢中太守,調發數萬人修築一條長五百多里的褒斜道。這條新道果然很方便,而且路程短,但是水流湍急,多礁石,糧船不可通行。
這以后庄熊羆說:「臨晉城的老百姓願意鑿穿洛水,築成水渠,引洛水灌溉重泉城以東的一萬多頃的鹽鹼地。倘若真的引來水,可以使每畝的產量達到十石。」於是爲了滿足他們的要求,徵調了一萬吐司卒開鑿水渠,從征縣引洛水到商顏山腳下。由於渠道容易塌方,於是沿著河流打井,井深達到了四十多丈。由於沿線到處打井,井下互相連通,因此水流通行。水在地下流,穿過商顏山,東行到山嶺之中十多里路。井渠的產生由此開始。開鑿井渠的時候曾掘出龍骨,因此這條水渠被命名爲「龍首渠」。龍首渠開鑿了十多年,有些地方通暢了,但並沒得到多少好處。
自從黃河在瓠子決口以後二十多年,每年都因爲黃河泛濫沒有好收成,這種情況在梁地和楚地更爲嚴重。天子已經舉行了封禪,並巡祭了天下的名川大山,第二年,天旱,據說是上天爲了要曬乾泰山封壇的土因而少雨。天子於是派汲仁、郭昌徵調數萬士卒堵塞瓠子決口。天子在萬里沙祭祀過後,回來時親臨黃河決口的地方,把白馬、玉璧沉入河中祭祀河神,命令所有隨從的大臣官吏自將軍以下,都背負柴薪來填塞黃河決口。當時東郡百姓只能燒草做飯,因爲柴薪缺乏,就砍下淇園的竹子用來作堵塞決口用的楗樁。
天子已經親臨黃河決口的地方,悼念堵塞決口的事沒有成功,於是作歌吟唱道:「瓠子決口啊,有何辦法啊?水勢汪洋浩大,州閭都成了河!都成河了啊,大地不得安寧,人們無休止地挖土堵塞決口,可是眼看山都被挖平了。決口仍然沒有被堵住,流入鉅野湖的水仍然泛濫不止,魚兒遍地都是啊,水已迫近天邊。黃河正道廢弛,離開了正常的水流,蛟龍因而馳騁啊,正打算遠遊。但願神靈光大,使黃河回歸原來的河道吧,我若不來巡行封禪啊,如何能知道外邊有這樣大的水災!替我告訴河伯啊,爲什麼這樣狠心,泛濫不停止啊,使我們發愁!像齧桑這類的城邑都漂起來了啊,淮水、泗水都滿了,黃河長久不回正道啊,但願水流變緩慢。」又有一首歌說:「黃河浩浩蕩蕩啊,激起滾滾波濤,北渡迂遠啊,流急難疏浚。人們用草埽來堵塞決口,又把美玉沉入河中來祭祀河伯,河伯即使答應了,然而柴薪卻不夠用。柴薪不夠用啊,這全是衛地人的罪過,因爲他們把柴薪都燒光了,田野呈現一片淒涼,用什麼方法來防禦水災!只好把淇園的竹子砍掉,用來打樁立石來填塞決口,宣房堵塞成功啊,這樣衆福都來了。」就這樣,終於堵塞了瓠子口,並在當地修築了一座宮殿,名叫宣房宮。又修了二條大水渠引導黃河向北流,恢復大禹時的水道,梁、楚地區又重新得到安寧,沒有水災了。
從這以後,負責河渠事宜的官員爭相談論水利的事。朔方、西河、河西、酒泉等地都引黃河之水和川谷的水用來灌溉田地;關中地區的輔渠、靈軹渠引川中諸水;汝南、九江兩郡引淮水;東海郡引鉅定澤的水;泰山腳下引汶水:都開鑿渠道用來灌溉一萬多頃的田地。其他小的水渠以及噼山鑿通的水道,不可盡數。但最著名的工程還是在宣房治河的工程。
太史公說:我曾南遊登上廬山,察看大禹疏導的九江,又到了會稽太湟,登上姑蘇山,眺望五湖;向東行察看了洛汭、大邳,迎著黃河向上,走過淮、泗、濟、漯、洛諸條河渠;西行瞻望了蜀地的岷山和離碓;向北遊行,自龍門到達朔方。深切感觸:厲害呀,水既能使人獲得利益,又能使人受到損害!我隨從天子出行,也曾背柴薪堵塞宣房決口,感傷天子所作的《瓠子》歌,因此寫下了《河渠書》。