Compare commits
No commits in common. "develop" and "main" have entirely different histories.
474
INSTALL.md
|
|
@ -1,474 +0,0 @@
|
||||||
# Installation Tutorial
|
|
||||||
|
|
||||||
To follow this course, an installation of **PostgreSQL 13** or higher is expected.
|
|
||||||
|
|
||||||
The following is a detailed tutorial as to
|
|
||||||
how to install and set up a Postgres server
|
|
||||||
on an [Ubuntu Linux](https://ubuntu.com) machine
|
|
||||||
that is run **[virtually <img height="12" style="display: inline-block" src="static/link/to_wiki.png">](https://en.wikipedia.org/wiki/Virtual_machine)**
|
|
||||||
on the student's own laptop or workstation by [VirtualBox](https://www.virtualbox.org/).
|
|
||||||
VirtualBox is freely available for all major operating systems
|
|
||||||
(i.e., MacOS, Linux, and Windows).
|
|
||||||
It is used in this course as then each student should be able
|
|
||||||
to follow the further installation instructions below easily
|
|
||||||
and end up having a development environment similar to the instructor's one.
|
|
||||||
Of course, students may also use any other way of setting up a PostgreSQL server;
|
|
||||||
most notably, they may install it on their machine *without* a virtualization.
|
|
||||||
|
|
||||||
|
|
||||||
## Install VirtualBox
|
|
||||||
|
|
||||||
Go to [virtualbox.org](https://www.virtualbox.org/),
|
|
||||||
download the latest version of VirtualBox for your operating system,
|
|
||||||
and install it according to the instructions given there.
|
|
||||||
|
|
||||||
|
|
||||||
## Create a new Virtual Machine
|
|
||||||
|
|
||||||
First, go to [ubuntu.com](https://ubuntu.com/download/desktop),
|
|
||||||
download the latest version (i.e., 21.04 at the time of this writing)
|
|
||||||
of **Ubuntu Desktop** (i.e., *not* server),
|
|
||||||
and proceed with the following steps.
|
|
||||||
Ubuntu is available for free;
|
|
||||||
the name of the downloaded file should be something like "*ubuntu-21.04-desktop-amd64.iso*"
|
|
||||||
(i.e., one big ISO file).
|
|
||||||
This file represents the contents of an "Ubuntu Installation DVD".
|
|
||||||
|
|
||||||
<img src="static/installation/0_create_vm_0_download_ubuntu.png" width="80%" align="center">
|
|
||||||
|
|
||||||
Next, create a new virtual machine in VirtualBox
|
|
||||||
by clicking on the blue "New" button in the toolbar on the top.
|
|
||||||
Note that the screenshots of VirtualBox's overview window below
|
|
||||||
already show an older virtual machine running Windows 10.
|
|
||||||
|
|
||||||
<img src="static/installation/0_create_vm_1_overview_without_new_machine.png" width="80%" align="center">
|
|
||||||
|
|
||||||
A helper widget opens.
|
|
||||||
Specify the following settings:
|
|
||||||
1. Name the virtual machine (e.g. "*Ubuntu_21.04*")
|
|
||||||
and choose a folder on your personal computer
|
|
||||||
where the virtual machine's data are stored
|
|
||||||
(e.g. "*/home/webartifex/vboxes*").
|
|
||||||
The type and version should already be set automatically.
|
|
||||||
2. Choose the amount of memory (i.e., RAM)
|
|
||||||
that the virtual machine is allowed to use:
|
|
||||||
This should be around 33% to 66% of your personal computer's capacity
|
|
||||||
(if unsure, take the recommended default).
|
|
||||||
3. Create a *new* virtual hard disk,
|
|
||||||
4. keep the hard disk file type as "*VDI*",
|
|
||||||
5. have the storage on the physical hard disk allocated *dynamically*, and
|
|
||||||
6. choose a big enough maximum size for the file holding the virtual hard disk
|
|
||||||
(10-25 GB is sufficient to follow this course).
|
|
||||||
Dynamic disk space allocation means that
|
|
||||||
not all of this space is used right away on your personal computer.
|
|
||||||
|
|
||||||
<img src="static/installation/0_create_vm_2_name.png" width="60%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/0_create_vm_3_memory.png" width="60%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/0_create_vm_4_hard_disk.png" width="60%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/0_create_vm_5_hard_disk_type.png" width="60%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/0_create_vm_6_dynamic_allocation.png" width="60%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/0_create_vm_7_hard_disk_size.png" width="60%" align="center">
|
|
||||||
|
|
||||||
After this, the new virtual machine should show up in the overview.
|
|
||||||
|
|
||||||
<img src="static/installation/0_create_vm_8_overview_with_new_machine.png" width="80%" align="center">
|
|
||||||
|
|
||||||
To start the new virtual machine,
|
|
||||||
click on the green "Start" arrow in the toolbar
|
|
||||||
while the machine is selected on the left.
|
|
||||||
A second VirtualBox window opens showing the virtual machine's screen.
|
|
||||||
On the first start-up, a widget should come up automatically
|
|
||||||
(see next paragraph if the widget does not appear)
|
|
||||||
asking to select a start-up disk (i.e., a CD or DVD)
|
|
||||||
from which the empty virtual machine should boot up.
|
|
||||||
Choose the downloaded ISO file from above
|
|
||||||
(if it is not already found automatically)
|
|
||||||
and proceed by clicking on "Start".
|
|
||||||
Continue with the "[Install Ubuntu](#install-ubuntu)" step below.
|
|
||||||
|
|
||||||
<img src="static/installation/1_first_boot_0_select_startup_disk.png" width="60%" align="center">
|
|
||||||
|
|
||||||
|
|
||||||
### Inserting CDs/DVDs
|
|
||||||
|
|
||||||
If the "Select start-up disk" widget does *not* show up automatically,
|
|
||||||
the virtual machine will *not* boot at all.
|
|
||||||
After all, its hard drive is empty and no DVD/ISO is "laid in".
|
|
||||||
So, its screen remains black.
|
|
||||||
In that case, close the window with the running virtual machine:
|
|
||||||
In the prompt, choose the "Power off the machine" option.
|
|
||||||
Then, in the overview,
|
|
||||||
click on the orange "Settings" button in the toolbar
|
|
||||||
while the machine is selected on the left.
|
|
||||||
A "Settings" widget opens: Choose the "Storage" tab on the left.
|
|
||||||
There, click on the round disk symbol to the right of "Controller: IDE",
|
|
||||||
which opens another "Optical Disk Selector" widget.
|
|
||||||
In that, click on the "Add" button,
|
|
||||||
choose the downloaded ISO file from above, and
|
|
||||||
click on "Choose" to confirm the selection.
|
|
||||||
Now, you should see the ISO file's name
|
|
||||||
below the "Controller: IDE" option in the middle.
|
|
||||||
Finally, close the "Settings" menu by clicking "Ok"
|
|
||||||
and start the virtual machine again.
|
|
||||||
|
|
||||||
<img src="static/installation/1_first_boot_1_overview_with_new_machine.png" width="80%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/1_first_boot_2_settings.png" width="60%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/1_first_boot_3_choose_iso.png" width="60%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/1_first_boot_4_confirm.png" width="60%" align="center">
|
|
||||||
|
|
||||||
|
|
||||||
## Install Ubuntu
|
|
||||||
|
|
||||||
With the Ubuntu Installation DVD/ISO "laid in",
|
|
||||||
the virtual machine should now boot up properly
|
|
||||||
and stop at a "Welcome" screen.
|
|
||||||
There, click on the "Install Ubuntu" button.
|
|
||||||
You may want to choose a language other than "English".
|
|
||||||
|
|
||||||
**Note**: Once you click somewhere with your mouse inside a virtual machine,
|
|
||||||
the mouse pointer is said to be "captured" by that machine and
|
|
||||||
you can *not* leave the virtual machine any more with your mouse.
|
|
||||||
Then, you must press the so-called **host key** first.
|
|
||||||
By default, this is the right "*Ctrl*" key on your keyboard.
|
|
||||||
|
|
||||||
<img src="static/installation/2_install_ubuntu_0_welcome.png" width="80%" align="center">
|
|
||||||
|
|
||||||
Sometimes, the boot process "hangs" at a black "boot loader" screen.
|
|
||||||
If so, simply choose the "Ubuntu" option
|
|
||||||
with your keyboard's arrow and "Enter" keys.
|
|
||||||
That should take you to the above "Welcome" screen.
|
|
||||||
|
|
||||||
<img src="static/installation/2_install_ubuntu_1_boot_loader.png" width="80%" align="center">
|
|
||||||
|
|
||||||
From the "Welcome" screen, follow the installation guide:
|
|
||||||
1. Choose a keyboard layout corresponding to your *physical* computer,
|
|
||||||
2. select "Minimal Installation" including the "other options",
|
|
||||||
3. erase the virtual hard disk,
|
|
||||||
4. specify where you are located,
|
|
||||||
5. create a user account to sign on,
|
|
||||||
6. wait for the installation to finish, and
|
|
||||||
7. remove the Installation DVD/ISO
|
|
||||||
(by right-clicking on the gray disk symbol below the screen
|
|
||||||
and choosing "Remove ...";
|
|
||||||
it may be that this happens automatically).
|
|
||||||
|
|
||||||
<img src="static/installation/2_install_ubuntu_2_keyboard_layout.png" width="80%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/2_install_ubuntu_3_packages.png" width="80%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/2_install_ubuntu_4_clean_install_0.png" width="80%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/2_install_ubuntu_4_clean_install_1.png" width="80%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/2_install_ubuntu_5_location.png" width="80%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/2_install_ubuntu_6_user.png" width="80%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/2_install_ubuntu_7_finish_0.png" width="80%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/2_install_ubuntu_7_finish_1.png" width="80%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/2_install_ubuntu_8_restart.png" width="80%" align="center">
|
|
||||||
|
|
||||||
|
|
||||||
### Configure Ubuntu
|
|
||||||
|
|
||||||
After installation, the virtual machine may reboot automatically.
|
|
||||||
If not, simple start it again.
|
|
||||||
This takes you to the login screen.
|
|
||||||
Sign on with the credentials you specified during installation.
|
|
||||||
|
|
||||||
<img src="static/installation/3_configure_ubuntu_0_first_startup.png" width="80%" align="center">
|
|
||||||
|
|
||||||
If an "Update" widget appears in the next moments,
|
|
||||||
simply ignore it by clicking "Remind me later".
|
|
||||||
You will learn how to update an Ubuntu system from the command line further below.
|
|
||||||
|
|
||||||
<img src="static/installation/3_configure_ubuntu_1_update.png" width="60%" align="center">
|
|
||||||
|
|
||||||
After the first sign-on, a "First Steps" wizard pops up.
|
|
||||||
As Ubuntu is only installed on a virtual machine,
|
|
||||||
do not connect to any online accounts,
|
|
||||||
turn off the background telemetry (e.g., crash reports), and
|
|
||||||
disable the location services.
|
|
||||||
|
|
||||||
<img src="static/installation/3_configure_ubuntu_2_wizard_0_online_accounts.png" width="80%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/3_configure_ubuntu_2_wizard_1_telemetry.png" width="80%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/3_configure_ubuntu_2_wizard_2_location_share.png" width="80%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/3_configure_ubuntu_2_wizard_3_apps.png" width="80%" align="center">
|
|
||||||
|
|
||||||
Next, open the application launcher
|
|
||||||
by clicking on the dots in the lower left corner,
|
|
||||||
seach for the "Terminal" app,
|
|
||||||
and open it.
|
|
||||||
|
|
||||||
<img src="static/installation/3_configure_ubuntu_3_terminal_0.png" width="80%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/3_configure_ubuntu_3_terminal_1.png" width="80%" align="center">
|
|
||||||
|
|
||||||
|
|
||||||
### Update Ubuntu
|
|
||||||
|
|
||||||
The first thing you want to always do after a fresh installation
|
|
||||||
is to check for available updates.
|
|
||||||
The command to enter in the terminal is `sudo apt update`.
|
|
||||||
`sudo` is simply the Linux way of saying
|
|
||||||
"the following command needs administrator privileges".
|
|
||||||
`apt` is Ubuntu's default program to manage the installed [software packages <img height="12" style="display: inline-block" src="static/link/to_wiki.png">](https://en.wikipedia.org/wiki/Package_manager).
|
|
||||||
The sub-command `update` checks if updates are available.
|
|
||||||
Using `sudo` implies that you have to enter your user's password in the terminal.
|
|
||||||
|
|
||||||
<img src="static/installation/4_update_ubuntu_0_apt_update_0.png" width="80%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/4_update_ubuntu_0_apt_update_1.png" width="80%" align="center">
|
|
||||||
|
|
||||||
As we can tell from the previous screenshot,
|
|
||||||
there are packages that can be upgraded.
|
|
||||||
To start the upgrade process, type `sudo apt upgrade`.
|
|
||||||
The terminal then asks if it should proceed
|
|
||||||
while listing all the packages to be upgraded.
|
|
||||||
Press the "Enter" key to continue.
|
|
||||||
|
|
||||||
<img src="static/installation/4_update_ubuntu_1_apt_upgrade_0.png" width="80%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/4_update_ubuntu_1_apt_upgrade_1.png" width="80%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/4_update_ubuntu_1_apt_upgrade_2.png" width="80%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/4_update_ubuntu_1_apt_upgrade_3.png" width="80%" align="center">
|
|
||||||
|
|
||||||
Commonly, when individual packages are upgraded,
|
|
||||||
they may not need some other package any more to work.
|
|
||||||
In general, we say that if package *A* needs package *B* to function correctly,
|
|
||||||
package *B* is a [dependency <img height="12" style="display: inline-block" src="static/link/to_wiki.png">](https://en.wikipedia.org/wiki/Coupling_%28computer_programming%29) of package *A*.
|
|
||||||
The command `sudo apt autoremove` removes unneeded packages
|
|
||||||
from the virtual machine, freeing some of its hard drive's storage.
|
|
||||||
|
|
||||||
<img src="static/installation/4_update_ubuntu_2_apt_autoremove_0.png" width="80%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/4_update_ubuntu_2_apt_autoremove_1.png" width="80%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/4_update_ubuntu_2_apt_autoremove_2.png" width="80%" align="center">
|
|
||||||
|
|
||||||
Finally, after the system upgrade, restart the machine.
|
|
||||||
You can do that
|
|
||||||
by clicking on the tray icons in the upper right corner
|
|
||||||
and using the provided graphical options.
|
|
||||||
|
|
||||||
<img src="static/installation/4_update_ubuntu_3_restart.png" width="80%" align="center">
|
|
||||||
|
|
||||||
Congratulations!
|
|
||||||
You now have a virtual machine running the latest Ubuntu Linux.
|
|
||||||
|
|
||||||
|
|
||||||
## Install VirtualBox's Guest Additions
|
|
||||||
|
|
||||||
In order to make the newly created *virtual* Ubuntu machine,
|
|
||||||
which takes the role of the **guest** system,
|
|
||||||
interact seamlessly with your *physical* computer,
|
|
||||||
which takes the role of the **host** system,
|
|
||||||
you can (and should) install VirtualBox's [Guest Additions](https://www.virtualbox.org/manual/ch04.html).
|
|
||||||
One example for a seamless integration is
|
|
||||||
that the guest system's screen resolution auto-adjusts
|
|
||||||
whenever you resize the VirtualBox window in that it is running.
|
|
||||||
|
|
||||||
To install the Guest Additions,
|
|
||||||
first start the virtual machine and sign in.
|
|
||||||
Then, choose the "Insert Guest Additions CD image ..." in the "Devices" menu
|
|
||||||
in the enclosing VirtualBox window.
|
|
||||||
Just to state the maybe obvious:
|
|
||||||
This menu option is *not* available in the Ubuntu system.
|
|
||||||
Depending on your host system, the menu may look different.
|
|
||||||
If this option does not exist at all,
|
|
||||||
you could also "insert" the Guest Additions CD
|
|
||||||
as described in the "[Inserting CDs/DVDs](#inserting-cdsdvds)" section above.
|
|
||||||
You may be prompted to download the Guest Additions ISO file first.
|
|
||||||
|
|
||||||
<img src="static/installation/5_guest_additions_0_insert_disk_0.png" width="80%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/5_guest_additions_0_insert_disk_1.png" width="40%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/5_guest_additions_0_insert_disk_2.png" width="40%" align="center">
|
|
||||||
|
|
||||||
The Ubuntu guest system should automatically detect
|
|
||||||
that the inserted CD has an auto-run option.
|
|
||||||
Simply, click "Run" and confirm the action with your user's password.
|
|
||||||
|
|
||||||
<img src="static/installation/5_guest_additions_1_autostart.png" width="80%" align="center">
|
|
||||||
|
|
||||||
A script is run inside a terminal window.
|
|
||||||
Wait until this is finished and hit the "Enter" key.
|
|
||||||
|
|
||||||
<img src="static/installation/5_guest_additions_2_install.png" width="80%" align="center">
|
|
||||||
|
|
||||||
After the installation of the Guest Additions,
|
|
||||||
do not forget to eject the CD
|
|
||||||
by right-clicking on the disk symbol and selecting "Eject".
|
|
||||||
|
|
||||||
<img src="static/installation/5_guest_additions_3_eject.png" width="80%" align="center">
|
|
||||||
|
|
||||||
|
|
||||||
### Add a Shared Folder
|
|
||||||
|
|
||||||
Another benefit of installing the Guest Additions is
|
|
||||||
that you can set up a shared folder
|
|
||||||
between your physical host system and the virtual Ubuntu guest system.
|
|
||||||
You can use that, for example,
|
|
||||||
to back up SQL files created inside the virtual machine
|
|
||||||
in your common file system.
|
|
||||||
|
|
||||||
First, power off the machine
|
|
||||||
and open the "Settings" widget with the orange "Settings" button in the toolbar.
|
|
||||||
There, go to the "Shared Folders" tab on the left.
|
|
||||||
Then, click on the "Add Folder" symbol on the right,
|
|
||||||
and choose a folder on your personal computer's file system
|
|
||||||
(e.g., a good choice could be your "Desktop" folder).
|
|
||||||
Also, check the "Auto-mount" option.
|
|
||||||
|
|
||||||
<img src="static/installation/6_shared_folder_0.png" width="60%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/6_shared_folder_1.png" width="40%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/6_shared_folder_2.png" width="60%" align="center">
|
|
||||||
|
|
||||||
After signing in the next time,
|
|
||||||
Ubuntu's file browser should show you the shared folder
|
|
||||||
(i.e., "*sf_shared*" in the screenshot below)
|
|
||||||
as an external drive (i.e., that's why the "Eject" symbol is next to "*sf_shared*").
|
|
||||||
|
|
||||||
<img src="static/installation/6_shared_folder_3.png" width="80%" align="center">
|
|
||||||
|
|
||||||
|
|
||||||
## Install PostgreSQL Server
|
|
||||||
|
|
||||||
With a ready Ubuntu installation it is now time
|
|
||||||
to install and set up a [PostgreSQL](https://www.postgresql.org/) server.
|
|
||||||
|
|
||||||
To do so, open a new terminal window in the virtual machine
|
|
||||||
and run the `sudo apt install postgresql postgresql-contrib` command.
|
|
||||||
The `install` sub-command of the `apt` program does what we expect it to.
|
|
||||||
While the `postgresql` package contains all the basic features,
|
|
||||||
the `postgresql-contrib` package offers some common [additional modules](https://www.postgresql.org/docs/10/contrib.html).
|
|
||||||
|
|
||||||
<img src="static/installation/7_install_postgres_0.png" width="80%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/7_install_postgres_1.png" width="80%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/7_install_postgres_2.png" width="80%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/7_install_postgres_3.png" width="80%" align="center">
|
|
||||||
|
|
||||||
With the command `sudo service postgresql status` one can check
|
|
||||||
if Postgres is running as a service on the virtual machine.
|
|
||||||
To exit the status view, press the "q" key.
|
|
||||||
|
|
||||||
<img src="static/installation/7_install_postgres_4.png" width="80%" align="center">
|
|
||||||
|
|
||||||
|
|
||||||
## Install Git
|
|
||||||
|
|
||||||
To clone the [GitHub repository <img height="12" style="display: inline-block" src="static/link/to_gh.png">](https://github.com/webartifex/intro-to-sql)
|
|
||||||
with the materials for this course,
|
|
||||||
you must first install the [git](https://git-scm.com/) utility.
|
|
||||||
`git` is a so-called **[version control <img height="12" style="display: inline-block" src="static/link/to_wiki.png">](https://en.wikipedia.org/wiki/Version_control)** software.
|
|
||||||
|
|
||||||
To do so, run the command `sudo apt install git` in a terminal.
|
|
||||||
|
|
||||||
<img src="static/installation/8_install_git_0.png" width="80%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/8_install_git_1.png" width="80%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/8_install_git_2.png" width="80%" align="center">
|
|
||||||
|
|
||||||
To check if `git` works,
|
|
||||||
you could run a command like `git --version`
|
|
||||||
that simply shows the installed version of `git`.
|
|
||||||
|
|
||||||
<img src="static/installation/8_install_git_3.png" width="80%" align="center">
|
|
||||||
|
|
||||||
`git` is a tool worth learning about in detail.
|
|
||||||
As a reading recommendation,
|
|
||||||
the best source for an introduction to `git`
|
|
||||||
is probably the official [online book](https://git-scm.com/book/en/v2/).
|
|
||||||
|
|
||||||
|
|
||||||
### Configure Git
|
|
||||||
|
|
||||||
To get `git` to work in our virtual machine,
|
|
||||||
we must at least go through the [First-time Git Setup](https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup) chapter
|
|
||||||
in the official book.
|
|
||||||
In summary,
|
|
||||||
you simply have to specify your name and email (or anonymous substitutes)
|
|
||||||
in a terminal with the following commands:
|
|
||||||
- `git config --global user.name "<your name>"` and
|
|
||||||
- `git config --global user.email "<your email>"`.
|
|
||||||
|
|
||||||
To check if the configuration is stored, run `git config --list`.
|
|
||||||
|
|
||||||
<img src="static/installation/9_configure_git.png" width="80%" align="center">
|
|
||||||
|
|
||||||
|
|
||||||
### Download the Course Materials
|
|
||||||
|
|
||||||
To obtain your own copy of the course materials,
|
|
||||||
you must "[clone](https://git-scm.com/book/en/v2/Git-Basics-Getting-a-Git-Repository)"
|
|
||||||
the [GitHub repository <img height="12" style="display: inline-block" src="static/link/to_gh.png">](https://github.com/webartifex/intro-to-sql)
|
|
||||||
with the materials.
|
|
||||||
That is done with the command `git clone https://github.com/webartifex/intro-to-sql.git`.
|
|
||||||
In the screenshot,
|
|
||||||
you see this done
|
|
||||||
after going into the virtual machine's "Desktop" folder with `cd Desktop/`.
|
|
||||||
Alternatively, you could clone the repository into your user's home folder
|
|
||||||
(i.e., what the `~` means).
|
|
||||||
|
|
||||||
<img src="static/installation/10_download_materials.png" width="80%" align="center">
|
|
||||||
|
|
||||||
|
|
||||||
## Verify Python works
|
|
||||||
|
|
||||||
As this course also shows
|
|
||||||
how to embed a database like Postgres
|
|
||||||
in a typical backend application,
|
|
||||||
written, for example, in [Python <img height="12" style="display: inline-block" src="static/link/to_py.png">](https://www.python.org/),
|
|
||||||
we need to ensure that we can start a Python process.
|
|
||||||
|
|
||||||
By default, recent Ubuntu versions
|
|
||||||
come with [Python 3 <img height="12" style="display: inline-block" src="static/link/to_py.png">](https://docs.python.org/3/) pre-installed.
|
|
||||||
The command `sudo apt install python3` confirms that:
|
|
||||||
The `python3` package is already there.
|
|
||||||
|
|
||||||
<img src="static/installation/11_install_python_0.png" width="80%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/11_install_python_1.png" width="80%" align="center">
|
|
||||||
|
|
||||||
We could just as well start an interactive Python shell
|
|
||||||
with the simple `python3` command.
|
|
||||||
|
|
||||||
<img src="static/installation/11_install_python_2.png" width="80%" align="center">
|
|
||||||
|
|
||||||
Typing `python` for short instead fails.
|
|
||||||
This command used to point to the Python 2 installation, which has been discontinued.
|
|
||||||
|
|
||||||
<img src="static/installation/11_install_python_3.png" width="80%" align="center">
|
|
||||||
|
|
||||||
For convenience, install the `python-is-python3` package.
|
|
||||||
Then, you may use the `python` and `python3` commands interchangeably.
|
|
||||||
|
|
||||||
<img src="static/installation/11_install_python_4.png" width="80%" align="center">
|
|
||||||
|
|
||||||
<img src="static/installation/11_install_python_5.png" width="80%" align="center">
|
|
||||||
|
|
||||||
Congratulations!
|
|
||||||
You are now all set to follow this course and learn about SQL.
|
|
||||||
|
|
||||||
39
README.md
|
|
@ -3,42 +3,5 @@
|
||||||
This project is a *thorough* introductory course
|
This project is a *thorough* introductory course
|
||||||
in **[SQL <img height="12" style="display: inline-block" src="static/link/to_wiki.png">](https://en.wikipedia.org/wiki/SQL)**
|
in **[SQL <img height="12" style="display: inline-block" src="static/link/to_wiki.png">](https://en.wikipedia.org/wiki/SQL)**
|
||||||
and **[databases <img height="12" style="display: inline-block" src="static/link/to_wiki.png">](https://en.wikipedia.org/wiki/Database)**
|
and **[databases <img height="12" style="display: inline-block" src="static/link/to_wiki.png">](https://en.wikipedia.org/wiki/Database)**
|
||||||
based on the free and open-source database **[PostgreSQL <img height="12" style="display: inline-block" src="static/link/to_postgres.png">](https://www.postgresql.org/)** (or "Postgres" for short).
|
based on the free and open-source database [PostgreSQL <img height="12" style="display: inline-block" src="static/link/to_postgres.png">](https://www.postgresql.org/).
|
||||||
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
To follow this course, an installation of **PostgreSQL 13** or higher is expected.
|
|
||||||
If you know how to do this on your own machine,
|
|
||||||
you may do so at your own discretion.
|
|
||||||
Yet, to ensure that
|
|
||||||
each student has a development environment
|
|
||||||
similar to the instructor's one,
|
|
||||||
follow this *extensive* **[installation tutorial](INSTALL.md)**
|
|
||||||
and set up a [virtual machine <img height="12" style="display: inline-block" src="static/link/to_wiki.png">](https://en.wikipedia.org/wiki/Virtual_machine)
|
|
||||||
with all the required software on it.
|
|
||||||
The estimated time for this should be around *one hour*.
|
|
||||||
|
|
||||||
|
|
||||||
## Contributing
|
|
||||||
|
|
||||||
Feedback **is highly encouraged** and will be incorporated.
|
|
||||||
Open an issue in the [issues tracker <img height="12" style="display: inline-block" src="static/link/to_gh.png">](https://github.com/webartifex/intro-to-sql/issues)
|
|
||||||
or initiate a [pull request <img height="12" style="display: inline-block" src="static/link/to_gh.png">](https://help.github.com/en/articles/about-pull-requests)
|
|
||||||
if you are familiar with the concept.
|
|
||||||
Simple issues that *anyone* can **help fix** are, for example,
|
|
||||||
**spelling mistakes** or **broken links**.
|
|
||||||
If you feel that some topic is missing entirely, you may also mention that.
|
|
||||||
The materials here are considered a **permanent work-in-progress**.
|
|
||||||
|
|
||||||
|
|
||||||
## About the Author
|
|
||||||
|
|
||||||
Alexander Hess is a PhD student
|
|
||||||
at the Chair of Logistics Management at [WHU - Otto Beisheim School of Management](https://www.whu.edu)
|
|
||||||
where he conducts research on urban delivery platforms
|
|
||||||
and teaches coding and data science courses
|
|
||||||
based on Python & SQL in the BSc and MBA programs.
|
|
||||||
|
|
||||||
Connect with him on [LinkedIn](https://www.linkedin.com/in/webartifex).
|
|
||||||
|
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 125 KiB |
|
Before Width: | Height: | Size: 100 KiB |
|
Before Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 77 KiB |
|
Before Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 81 KiB |
|
Before Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 102 KiB |
|
Before Width: | Height: | Size: 300 KiB |
|
Before Width: | Height: | Size: 255 KiB |
|
Before Width: | Height: | Size: 276 KiB |
|
Before Width: | Height: | Size: 264 KiB |
|
Before Width: | Height: | Size: 263 KiB |
|
Before Width: | Height: | Size: 322 KiB |
|
Before Width: | Height: | Size: 265 KiB |
|
Before Width: | Height: | Size: 87 KiB |
|
Before Width: | Height: | Size: 105 KiB |
|
Before Width: | Height: | Size: 47 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 62 KiB |
|
Before Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 125 KiB |
|
Before Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 288 KiB |
|
Before Width: | Height: | Size: 249 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 58 KiB |
|
Before Width: | Height: | Size: 65 KiB |
|
Before Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 104 KiB |
|
Before Width: | Height: | Size: 357 KiB |
|
Before Width: | Height: | Size: 304 KiB |
|
Before Width: | Height: | Size: 45 KiB |
|
Before Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 135 KiB |
|
Before Width: | Height: | Size: 132 KiB |
|
Before Width: | Height: | Size: 131 KiB |
|
Before Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 108 KiB |
|
Before Width: | Height: | Size: 139 KiB |
|
Before Width: | Height: | Size: 245 KiB |
|
Before Width: | Height: | Size: 300 KiB |
|
Before Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 273 KiB |
|
Before Width: | Height: | Size: 110 KiB |
|
Before Width: | Height: | Size: 327 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 62 KiB |
|
Before Width: | Height: | Size: 256 KiB |
|
Before Width: | Height: | Size: 310 KiB |
|
Before Width: | Height: | Size: 349 KiB |
|
Before Width: | Height: | Size: 324 KiB |
|
Before Width: | Height: | Size: 302 KiB |
|
Before Width: | Height: | Size: 257 KiB |
|
Before Width: | Height: | Size: 305 KiB |
|
Before Width: | Height: | Size: 340 KiB |
|
Before Width: | Height: | Size: 259 KiB |
|
Before Width: | Height: | Size: 277 KiB |
|
|
@ -1,3 +0,0 @@
|
||||||
This folder contains screenshots
|
|
||||||
used to describe the installation of a Ubuntu
|
|
||||||
inside a VirtualBox machine.
|
|
||||||
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |