sql >> Database teknologi >  >> RDS >> PostgreSQL

Udvikling af PostgreSQL til Windows, del 3

Lad os afslutte dette. I del 1 af denne blogserie forklarede jeg de forskellige Windows-byggemål, der understøttes af PostgreSQL. I del 2 viste jeg, hvordan man tester patches for Windows-kompatibilitet, og hvordan man nemt kan spinne et Windows-miljø op til test og simpel udvikling. Nu, i denne tredje og sidste del, vil vi gøre, hvad gode programmører gør:Vi vil automatisere det.

Der er en række tjenester derude, som du kan pege på et GitHub (eller GitLab eller Bitbucket eller ...) repository og få det til at bygge din kode ved hver commit. Travis CI er en populær en af ​​disse, men der er andre. De fleste af disse understøtter kun builds på Linux. Men der er også en tjeneste, der understøtter builds på Windows, og det er AppVeyor. Så lad os tilslutte en PostgreSQL build med det. Lad os bruge GitHub her for nemheds skyld, men AppVeyor understøtter også andre Git-tjenester.

For at komme i gang skal du oprette en AppVeyor-konto, skubbe PostgreSQL-koden til et lager på GitHub og forbinde de to. Jeg har for eksempel https://github.com/petere/postgresql og https://ci.appveyor.com/project/petere/postgresql.

Alt du nu behøver er en .appveyor.yml fil i dit lager for at fortælle AppVeyor, hvad han skal gøre. Jeg har lige postet de filer, som jeg bruger til pgsql-hackere, så du kan få fat i dem derfra. Bemærk, at der er tre filer til de tre forskellige build-varianter:MSVC, MinGW og Cygwin. Måske ville det være nyttigt at kombinere dem på en eller anden måde, men det er ikke klart for mig, hvordan man gør det uden at skabe et kæmpe rod. Så bare begå den fil, du ønsker, skub din gren, og lad den bygge. Hvis du har brug for at teste flere varianter, skal du bare git reset --hard HEAD~ , begå en anden, og skub igen. Jeg har brugt dette system i et par måneder nu, og det har været meget nyttigt.

Okay, det afslutter mine rejser rundt i Windows for nu. Som jeg nævnte i starten, er Windows ikke mit primære udviklingsmiljø, så dette var i høj grad en udforskning til min egen fordel. Jeg håber, det er nyttigt for andre og gør det mindre skræmmende at administrere Windows-understøttelsen i PostgreSQL.


  1. Forstå Oracle-aliasing - hvorfor genkendes et alias ikke i en forespørgsel, medmindre det er pakket ind i en anden forespørgsel?

  2. SQLITE kan ikke opgradere skrivebeskyttet database fra version 1 til 2

  3. hvad er materialiserede synspunkter i oracle?

  4. Sådan finder du navnet på en begrænsning i Oracle