Переименование БД GP в gp_dwh

This commit is contained in:
2025-12-09 10:09:46 +03:00
parent 4515577b4a
commit c3d7759e6b
6 changed files with 16 additions and 13 deletions
+1 -1
View File
@@ -26,7 +26,7 @@ BOOKINGS_JOBS=1
# Greenplum Configuration # Greenplum Configuration
GP_USER=gpadmin GP_USER=gpadmin
GP_PASSWORD=gpadmin GP_PASSWORD=gpadmin
GP_DB=gpadmin GP_DB=gp_dwh
GP_HOST=greenplum GP_HOST=greenplum
GP_PORT=5432 GP_PORT=5432
GP_CONN_ID=greenplum_conn GP_CONN_ID=greenplum_conn
+2 -2
View File
@@ -24,10 +24,10 @@ logs:
docker compose -f docker-compose.yml logs -f airflow-webserver airflow-scheduler docker compose -f docker-compose.yml logs -f airflow-webserver airflow-scheduler
gp-psql: gp-psql:
docker compose -f docker-compose.yml exec greenplum bash -c "su - gpadmin -c '/usr/local/greenplum-db/bin/psql -p 5432 -d gpadmin'" docker compose -f docker-compose.yml exec greenplum bash -c "su - gpadmin -c '/usr/local/greenplum-db/bin/psql -p 5432 -d gp_dwh'"
ddl-gp: ddl-gp:
docker compose -f docker-compose.yml exec greenplum bash -c "su - gpadmin -c '/usr/local/greenplum-db/bin/psql -d gpadmin -f /sql/ddl_gp.sql'" docker compose -f docker-compose.yml exec greenplum bash -c "su - gpadmin -c '/usr/local/greenplum-db/bin/psql -d gp_dwh -f /sql/ddl_gp.sql'"
bookings-clone-demodb: bookings-clone-demodb:
mkdir -p bookings mkdir -p bookings
+5 -5
View File
@@ -63,7 +63,7 @@ docker compose up -d
**Проверка вручную:** **Проверка вручную:**
```bash ```bash
# Подключитесь к Greenplum и проверьте данные # Подключитесь к Greenplum и проверьте данные
docker compose exec greenplum bash -c "su - gpadmin -c 'psql -p 5432 -d gpadmin'" docker compose exec greenplum bash -c "su - gpadmin -c 'psql -p 5432 -d gp_dwh'"
# Внутри psql выполните: # Внутри psql выполните:
\dt # Показать таблицы \dt # Показать таблицы
@@ -117,7 +117,7 @@ make gp-psql # Подключение к Greenplum
- **Conn Id:** `greenplum_conn` - **Conn Id:** `greenplum_conn`
- **Conn Type:** `Postgres` - **Conn Type:** `Postgres`
- **Host:** `greenplum` - **Host:** `greenplum`
- **Schema:** `gpadmin` - **Schema:** `gp_dwh`
- **Login:** `gpadmin` - **Login:** `gpadmin`
- **Password:** `gpadmin` - **Password:** `gpadmin`
- **Port:** `5432` - **Port:** `5432`
@@ -198,7 +198,7 @@ docker compose -f docker-compose.yml exec bookings-db bash -lc 'PGPASSWORD="$POS
### Greenplum ### Greenplum
- `GP_USER` — пользователь (по умолчанию: gpadmin) - `GP_USER` — пользователь (по умолчанию: gpadmin)
- `GP_PASSWORD` — пароль (по умолчанию: gpadmin) - `GP_PASSWORD` — пароль (по умолчанию: gpadmin)
- `GP_DB` — база данных (по умолчанию: gpadmin) - `GP_DB` — база данных (по умолчанию: gp_dwh)
- `GP_PORT` — порт Greenplum внутри Docker-сети (по умолчанию: 5432, менять обычно не нужно; внешний порт на хосте для подключения клиентов — 5435). - `GP_PORT` — порт Greenplum внутри Docker-сети (по умолчанию: 5432, менять обычно не нужно; внешний порт на хосте для подключения клиентов — 5435).
### Демо-БД bookings (Postgres) ### Демо-БД bookings (Postgres)
@@ -263,14 +263,14 @@ docker compose -f docker-compose.yml exec bookings-db bash -lc 'PGPASSWORD="$POS
3. На вкладке **Main** заполните поля (по умолчанию): 3. На вкладке **Main** заполните поля (по умолчанию):
- `Host`: `localhost` - `Host`: `localhost`
- `Port`: `5435` (внешний порт Greenplum на хосте) - `Port`: `5435` (внешний порт Greenplum на хосте)
- `Database`: значение `GP_DB` (по умолчанию `gpadmin`) - `Database`: значение `GP_DB` (по умолчанию `gp_dwh`)
- `Username`: значение `GP_USER` (по умолчанию `gpadmin`) - `Username`: значение `GP_USER` (по умолчанию `gpadmin`)
- `Password`: значение `GP_PASSWORD` (по умолчанию `gpadmin`) - `Password`: значение `GP_PASSWORD` (по умолчанию `gpadmin`)
4. Нажмите **Test Connection****OK**, затем **Finish**. 4. Нажмите **Test Connection****OK**, затем **Finish**.
После подключения: После подключения:
- Основные таблицы лаба — в схеме `public` базы `gpadmin` (например, `public.orders`). - Основные таблицы лаба — в схеме `public` базы `gp_dwh` (например, `public.orders`).
- После настройки PXF и выполнения `make ddl-gp` станет доступна внешняя таблица `public.ext_bookings_bookings` — чтение из демо-БД bookings через PXF. - После настройки PXF и выполнения `make ddl-gp` станет доступна внешняя таблица `public.ext_bookings_bookings` — чтение из демо-БД bookings через PXF.
### bookings-db (демо-БД источника) ### bookings-db (демо-БД источника)
+5 -2
View File
@@ -50,14 +50,17 @@ def get_gp_conn():
# Прямое подключение по переменным окружения # Прямое подключение по переменным окружения
conn_params = { conn_params = {
"dbname": os.getenv("GP_DB", "gpadmin"), "dbname": os.getenv("GP_DB", "gp_dwh"),
"user": os.getenv("GP_USER", "gpadmin"), "user": os.getenv("GP_USER", "gpadmin"),
"password": os.getenv("GP_PASSWORD", ""), "password": os.getenv("GP_PASSWORD", ""),
"host": os.getenv("GP_HOST", "greenplum"), "host": os.getenv("GP_HOST", "greenplum"),
"port": int(os.getenv("GP_PORT", "5432")), "port": int(os.getenv("GP_PORT", "5432")),
} }
logging.info( logging.info(
"🔗 Подключение к Greenplum: %s:%s", conn_params["host"], conn_params["port"] "🔗 Подключение к Greenplum: %s:%s/%s",
conn_params["host"],
conn_params["port"],
conn_params["dbname"],
) )
return psycopg2.connect(**conn_params) return psycopg2.connect(**conn_params)
+2 -2
View File
@@ -48,7 +48,7 @@ services:
TZ: ${TZ:-Europe/Moscow} TZ: ${TZ:-Europe/Moscow}
GREENPLUM_USER: ${GP_USER:-gpadmin} GREENPLUM_USER: ${GP_USER:-gpadmin}
GREENPLUM_PASSWORD: ${GP_PASSWORD:-gpadmin} GREENPLUM_PASSWORD: ${GP_PASSWORD:-gpadmin}
GREENPLUM_DATABASE_NAME: ${GP_DB:-gpadmin} GREENPLUM_DATABASE_NAME: ${GP_DB:-gp_dwh}
GREENPLUM_PXF_ENABLE: "true" GREENPLUM_PXF_ENABLE: "true"
# Порты: внешний 5435 (на хосте) # Порты: внешний 5435 (на хосте)
ports: ports:
@@ -62,7 +62,7 @@ services:
- airflow_data:/opt/airflow/data - airflow_data:/opt/airflow/data
# Простая проверка доступности: psql откликается # Простая проверка доступности: psql откликается
healthcheck: healthcheck:
test: ["CMD-SHELL", "pg_isready -h 127.0.0.1 -p 5432 -U ${GP_USER:-gpadmin} -d ${GP_DB:-gpadmin} || echo 1"] test: ["CMD-SHELL", "pg_isready -h 127.0.0.1 -p 5432 -U ${GP_USER:-gpadmin} -d ${GP_DB:-gp_dwh} || echo 1"]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 30 retries: 30
+1 -1
View File
@@ -25,7 +25,7 @@ _Этот файл внутренний, удалить перед итогов
- `GREENPLUM_PXF_ENABLE: "true"`. - `GREENPLUM_PXF_ENABLE: "true"`.
- При первом старте с этим флагом скрипт `/start_gpdb.sh` сделает за нас: - При первом старте с этим флагом скрипт `/start_gpdb.sh` сделает за нас:
- инициализацию PXF (`pxf cluster prepare`, `pxf cluster register`, `pxf cluster sync`); - инициализацию PXF (`pxf cluster prepare`, `pxf cluster register`, `pxf cluster sync`);
- создание расширения `pxf` в базе `${GREENPLUM_DATABASE_NAME}` (у нас это `${GP_DB}`, по умолчанию `gpadmin`); - создание расширения `pxf` в базе `${GREENPLUM_DATABASE_NAME}` (у нас это `${GP_DB}`, по умолчанию `gp_dwh`);
- запуск `pxf cluster start` и привязку остановки/старта PXF к жизненному циклу Greenplum. - запуск `pxf cluster start` и привязку остановки/старта PXF к жизненному циклу Greenplum.
- База конфигов PXF (`PXF_BASE`) будет располагаться в `${GREENPLUM_DATA_DIRECTORY}/pxf`, в нашем compose — это `/data/pxf` на томе `greenplum_data`. - База конфигов PXF (`PXF_BASE`) будет располагаться в `${GREENPLUM_DATA_DIRECTORY}/pxf`, в нашем compose — это `/data/pxf` на томе `greenplum_data`.
- Важно: `make down` сейчас делает `docker compose down -v`, поэтому при полном сбросе томов будут теряться и данные GP, и конфиги PXF (включая JDBC‑драйвер и `servers/*`). - Важно: `make down` сейчас делает `docker compose down -v`, поэтому при полном сбросе томов будут теряться и данные GP, и конфиги PXF (включая JDBC‑драйвер и `servers/*`).