forked from tsai/budibase
committed by
GitHub
5 changed files with 77 additions and 0 deletions
@ -0,0 +1,28 @@ |
|||||
|
version: "3.8" |
||||
|
services: |
||||
|
db: |
||||
|
container_name: postgres-json |
||||
|
image: postgres |
||||
|
restart: always |
||||
|
environment: |
||||
|
POSTGRES_USER: root |
||||
|
POSTGRES_PASSWORD: root |
||||
|
POSTGRES_DB: main |
||||
|
ports: |
||||
|
- "5432:5432" |
||||
|
volumes: |
||||
|
#- pg_data:/var/lib/postgresql/data/ |
||||
|
- ./init.sql:/docker-entrypoint-initdb.d/init.sql |
||||
|
|
||||
|
pgadmin: |
||||
|
container_name: pgadmin-json |
||||
|
image: dpage/pgadmin4 |
||||
|
restart: always |
||||
|
environment: |
||||
|
PGADMIN_DEFAULT_EMAIL: root@root.com |
||||
|
PGADMIN_DEFAULT_PASSWORD: root |
||||
|
ports: |
||||
|
- "5050:80" |
||||
|
|
||||
|
#volumes: |
||||
|
# pg_data: |
||||
@ -0,0 +1,22 @@ |
|||||
|
SELECT 'CREATE DATABASE main' |
||||
|
WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = 'main')\gexec |
||||
|
CREATE TABLE jsonTable ( |
||||
|
id character varying(32), |
||||
|
data jsonb, |
||||
|
text text |
||||
|
); |
||||
|
|
||||
|
INSERT INTO jsonTable (id, data) VALUES ('1', '{"id": 1, "age": 1, "name": "Mike", "newline": "this is text with a\n newline in it"}'); |
||||
|
|
||||
|
CREATE VIEW jsonView AS SELECT |
||||
|
x.id, |
||||
|
x.age, |
||||
|
x.name, |
||||
|
x.newline |
||||
|
FROM |
||||
|
jsonTable c, |
||||
|
LATERAL jsonb_to_record(c.data) x (id character varying(32), |
||||
|
age BIGINT, |
||||
|
name TEXT, |
||||
|
newline TEXT |
||||
|
); |
||||
@ -0,0 +1,3 @@ |
|||||
|
#!/bin/bash |
||||
|
docker-compose down |
||||
|
docker volume prune -f |
||||
Loading…
Reference in new issue