PSQL + Kubernetes - Где мои таблицы? - PullRequest
0 голосов
/ 25 августа 2018

У меня приложение Scala, работающее в службе, использующей службу PostgreSql. Таблицы создаются плагином управления базой данных (Slick)

, однако мне нужно отредактировать конкретную таблицу, и я не могу ее найти!

postgres service:

apiVersion: v1
kind: Service
metadata:
  name: core-db
spec:
  ports:
    - port: 5432
  selector:
    app: core-db
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: core-db
spec:
  template:
    metadata:
      labels:
        app: core-db
    spec:
      containers:
        - image: "image"
          name: core-db
          imagePullPolicy: IfNotPresent
          env:
            - name: POSTGRES_USER
              value: postgres
            - name: POSTGRES_PASSWORD
              value: postgres
          ports:
            - containerPort: 5432
              name: core-db
          volumeMounts:
            - name: core-storage
              mountPath: /var/lib/postgresql/db-data
      volumes:
          - name: core-storage
            persistentVolumeClaim:
                claimName: core-pv-claim
      imagePullSecrets:
        - name: regcred
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: core-pv-claim
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 100Mi

Я попал в пакет:

kubectl exec POD -it -- psql -U postgres

, но \ d не показывает никаких отношений

Что я делаю неправильногде мои данные в конце концов?

РЕДАКТИРОВАТЬ

\l
postgres  
app   
template0 
template1 

\c postgres
\dt
No relations found.

\c app
\dt
No relations found.

Ответы [ 2 ]

0 голосов
/ 28 августа 2018

Хорошо, так получилось, что мне просто не хватило мозговой активности.

Все мои таблицы хранятся в схемах, и поэтому я вижу их, когда использую \ dt в любой из баз данных

При подключении к базе данных 'app' и использовании \ dn будет выведен список схем, и, таким образом, мы сможем найти таблицы.

Выберите "схема". Таблица, как она работает ...

Благодаря @NicolaBen, эти шаги помогли мне.

0 голосов
/ 26 августа 2018

Шаги, которые я хотел бы сделать, чтобы проверить, где проблема:

  1. приложение работает, поэтому, если оно сохраняет данные, эти данные должны быть где-то. Попробуйте kubectl delete deploy core-db. Приложение все еще работает и сохранение данных?

    Я ожидал no в качестве ответа, и поэтому мы можем перейти к следующим пунктам.

    Если ответ yes, значит, проблема может быть в:

    • Строка подключения дБ внутри приложения

    • услуга, сколько у вас EndPoints? kubectl get ep core-db

  2. exec psql pod и подключитесь к postgres db \c postgres, а затем \dt. Здесь есть таблицы?

  3. exec psql pod и подключитесь к приложению db \c app, а затем \dt. Здесь есть таблицы?

  4. exec psql pod и подключитесь к postgres, а затем SELECT * FROM pg_stat_activity WHERE datname = 'app';

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...