Для конвертации данных из формата JSONB в PostgreSQL в таблицу с определенными столбцами можно использовать функцию `jsonb_populate_record` в сочетании с оператором `SELECT INTO`.
Например, если у вас есть JSONB данные вида:
```json
{
"id": 1,
"question": "How are you?",
"answer": "I am fine."
}
```
И вы хотите конвертировать их в таблицу с столбцами "id", "question" и "answer", то вы можете сделать это следующим образом:
```sql
CREATE TABLE questions (
id INT,
question TEXT,
answer TEXT
);
INSERT INTO questions
SELECT * FROM JSONB_POPULATE_RECORDSET(NULL::questions, '[{"id": 1, "question": "How are you?", "answer": "I am fine."}]');
```
Чтобы создать новую таблицу из передаваемого JSON с полем "id-question", соответствующим значению "идентификатора_вопроса_с_указанием", можно сделать следующим образом:
```sql
CREATE TABLE question_table AS
SELECT data->>'id' || '-' || data->>'question' AS "id-question"
FROM jsonb_array_elements('[{"id": 1, "question": "How are you?"}, {"id": 2, "question": "What is your name?"}]') AS data;
```
Этот запрос создаст новую таблицу "question_table" с одним столбцом "id-question", который будет содержать значения в формате "идентификатор_вопроса - текст_вопроса".