Learn Programming in Go (golang): Webserver with PostgreSQL

Setup a web server in Go, connect a SQL database server, and serve an API to perform CRUD commands on database entries
Free tutorial
Rating: 4.6 out of 5 (46 ratings)
4,656 students
1hr 50min of on-demand video
English [Auto]

Code and deploy a simple web server programmed in Google's programming language Go (golang)
Connect the web server to an already prepared PostgreSQL database server (as a service running in a docker container)
Program the capabilities to perfom SQL statements and deploy a simple API accessable through buy GET/POST/PUT/DELETE
Perform CRUD (Create, Read/Retrieve, Update, Delete/Destroy) commands on database entries


  • Basic Go programming knowlegde, better intermediate experience
  • A working Go programming environment (Go installed, compiling, IDE)
  • Access to a running PostgreSQL server (localhost or in the same network)
  • Basic SQL knowledge
  • Joy and curiosity trying new things


Join me on an advanced short trip as we experience the development of a real-life coding project with Google's programming language Go (golang). Together we will setup a web server, connect it to a PostgreSQL database server, and let it serve an API to perform CRUD (Create, Read/Retrieve, Update, Delete/Destroy) commands on database entries - the whole thing we build from scratch of course.

As a developer of web applications, you can quickly find yourself in a situation on a train ride or a flight where you urgently and quickly need a reliable web server. It must be accessible via an API and be able to execute CRUD commands like Create, Read/Retrieve, Update, and Delete/Destroy database entries. Of course, it should be a reliable and handy solution, which is available on different operating systems (Linux, macOS, Windows), have short compilation and fast execution times.

With the Go programming language from Google, a simple tool is available for creating a development server. In this course you will learn to set up such a web server and put it into operation. Rather, I want to show how Google's programming language can be used to achieve respectable results in the shortest possible time in a real world scenario.

The fun of "ease of programming" is in the foreground here! So enjoy it, it's free!

Why did Google develop a new programming language?

In Google's words, "Go was born out of frustration with existing languages and environments for systems programming. Programming had become too difficult and the choice of languages was partly to blame. One had to choose either

  • efficient compilation,

  • efficient execution, or

  • ease of programming;

all three were not available in the same mainstream language. Programmers who could were choosing ease over safety and efficiency by moving to dynamically typed languages such as Python and JavaScript rather than C++ or, to a lesser extent, Java. Go is an attempt to combine the ease of programming of an interpreted, dynamically typed language with the efficiency and safety of a statically typed, compiled language. It also aims to be modern, with support for networked and multicore computing.

Finally, working with Go is intended to be fast: it should take at most a few seconds to build a large executable on a single computer. To meet these goals required addressing a number of linguistic issues: an expressive but lightweight type system; concurrency and garbage collection; rigid dependency specification; and so on. These cannot be addressed well by libraries or tools; a new language was called for."

In my humble opinion, Go is the best programming language you can learn today. I've worked with a few programming languages since I was introduced to programming through BASIC in the mid-80s, and Go is by far the best-designed language I've ever used.

Now start your computer and let's have some fun coding a real webserver in Go!

Who this course is for:

  • Beginner and intermediate Go programmers
  • Full stack developers for web application and APIs
  • Developer in need of a fast setup web server performing CRUD commands


jens schendel — citizen, researcher, tinkerer
Jens Schendel
  • 4.6 Instructor Rating
  • 217 Reviews
  • 11,246 Students
  • 7 Courses

CLA & CLE – C Language Certified Associate Programmer & Entry-Level Programmer

Harvard/edX CS50x Introduction to Computer Science

LPIC-2 & 1 Linux Engineer & Admin

CBSA & CBBF - BTA Certified Blockchain Solution Architect & Blockchain Business Foundations

CompTIA Linux+

Digital History:

Atari 2600, Commodore VIC-20, Commodore C64, Dragon 32, Dragon 64, Apple II, Amiga, x286, x386, x486, Pentium, Pentium II-4, Apple Mac G3, G4, G5, MacMini, MacBook, RasPi, workstations from i3-i7 und all places you can open a shell to! :-)

Top companies trust Udemy

Get your team access to Udemy's top 25,000+ courses