data-engineer-handbook
data-engineer-handbook copied to clipboard
README for materials/1-dimensional-data-modeling missed user creation step
Run this command after replacing <computer-username> with your computer's username:
psql -U <computer-username> postgres < data.dump
This command failed until I did CREATE ROLE <computer-username> WITH LOGIN SUPERUSER PASSWORD <pass>;
In Dbeaver postgres which uses JDBC, it seems JDBC requires a password too, so using the default postgres which has no password would not connect.
So even if students did not create a new ROLE for <computer-username> and used the default postgres user, they would still fail to connect to dbeaver until a password is added with something like ALTER ROLE postgres WITH PASSWORD 'postgres';
The docker method did not have these complexities because the postgres image required the password and created the required roles as the image started. `
JDBC، يبدو أن JDBC يتطلب كلمة مرور أيضًا، لذا فإن استخدام postgres الافتراضي الذي لا يحتوي على كلمة مرور لن يؤدي إلى الاتصال.
لذلك حتى لو لم ينشئ الطلاب دورًا جديدًا
لم تكن طريقة Docker تحتوي على هذه التعقيدات لأن صورة Postgres تتطلب كلمة المرور وتنشئ الأدوار المطلوبة عند بدء تشغيل الصورة
@gitgithan, In order to set up the postgres on your local instance, you have to perform the following steps:
- clone the repo using the command
git clone <URL> - Open the repo in an IDE. VS code for instance
- Create a copy of
example.envfile to.envfile - Make adjustments to the values in the file if required. You have to specify the username and password here. Save the
.envfile. - From terminal perform
docker compose up. Make sure docker desktop on the machine in running. - This will setup the DB in your local machine.
@vanandjiwala Using docker was not the issue.
I mentioned that
The docker method did not have these complexities
The issue is for people who are not using docker (for whatever reasons) to create the database.
@gitgithan - can you make a PR
In my case, after having installed with homebrew. I ran into similar issue and had to manually create the postgres role using -
CREATE ROLE postgres WITH LOGIN SUPERUSER PASSWORD 'postgres';