Skip to content

Instantly share code, notes, and snippets.

View jdaarevalo's full-sized avatar

José David Arévalo jdaarevalo

View GitHub Profile
@jdaarevalo
jdaarevalo / yaml
Created January 29, 2021 23:14
docker-compose.yml
version: '3.7'
services:
postgres:
image: postgres:10.5
restart: always
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
logging:
options:
@jdaarevalo
jdaarevalo / docker-compose.yaml
Last active August 19, 2023 16:24
docker_compose_postgres
version: '3.7'
services:
postgres:
image: postgres:10.5
restart: always
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
logging:
options:
@jdaarevalo
jdaarevalo / create_tables.sql
Created January 30, 2021 11:59
sql-create-tables
-- Creation of product table
CREATE TABLE IF NOT EXISTS product (
product_id INT NOT NULL,
name varchar(250) NOT NULL,
PRIMARY KEY (product_id)
);
...
...
@jdaarevalo
jdaarevalo / section-of-docker-entrypoint.sh
Created January 30, 2021 12:05
section-of-postgres-docker-entrypoint
....
for f in /docker-entrypoint-initdb.d/*; do
case "$f" in
*.sh)
if [ -x "$f" ]; then
echo "$0: running $f"
"$f"
else
echo "$0: sourcing $f"
. "$f"
@jdaarevalo
jdaarevalo / section-fill_tables.sql
Created January 30, 2021 12:07
first-section-fill-tables
-- Set params
set session my.number_of_sales = '20000';
set session my.number_of_users = '5000';
set session my.number_of_products = '30';
set session my.number_of_stores = '50';
set session my.number_of_coutries = '10';
set session my.number_of_cities = '30';
set session my.status_names = '5';
set session my.start_date = '2019-01-01 00:00:00';
set session my.end_date = '2020-02-01 00:00:00';
@jdaarevalo
jdaarevalo / second-section-fill_tables.sql
Created January 30, 2021 12:08
second-section-fill_tables
...
-- Filling of products
INSERT INTO product
select id, concat('Product ', id)
FROM GENERATE_SERIES(1, current_setting('my.number_of_products')::int) as id;
...
...
-- Filling of cities
INSERT INTO city
@jdaarevalo
jdaarevalo / third-section-fill_tables.sql
Created January 30, 2021 12:10
third-section-fill_tables
CREATE EXTENSION pgcrypto;
--select gen_random_uuid ();
...
-- Filling of sales
INSERT INTO sale;
select gen_random_uuid ()
, round(CAST(float8 (random() * 10000) as numeric), 3)
@jdaarevalo
jdaarevalo / four-section-fill_tables.sql
Created January 30, 2021 12:11
four-section-fill_tables
TO_TIMESTAMP(start_date, 'YYYY-MM-DD HH24:MI:SS') +
random()* (TO_TIMESTAMP(end_date, 'YYYY-MM-DD HH24:MI:SS')
- TO_TIMESTAMP(start_date, 'YYYY-MM-DD HH24:MI:SS'))
@jdaarevalo
jdaarevalo / five-section-fill_tables.sql
Created January 30, 2021 12:12
five-section-fill_tables
floor(random() * (current_setting('my.number_of_products')::int) + 1)::int
@jdaarevalo
jdaarevalo / six-section-fill_tables.sql
Created January 30, 2021 12:13
six-section-fill_tables
-- Filling of order_status
INSERT INTO order_status
select gen_random_uuid ()
, date_sale + random()* (date_sale + '5 days' - date_sale)
, sale_id
, floor(random() * (current_setting('my.status_names')::int) + 1)::int
from sale;