1
1
mirror of https://github.com/wader/fq.git synced 2024-12-03 13:46:37 +03:00
fq/format/postgres/testdata/how_to.md

108 lines
2.3 KiB
Markdown
Raw Normal View History

## How to generate PostgreSQL test data
### 1) install postgres
Use this links to add repository and install PostgreSQL:
- https://www.postgresql.org/download/linux/
- https://www.postgresql.org/download/linux/redhat/
- https://www.postgresql.org/download/linux/debian/
You may install PostgreSQL with OS repository. But it may contains not all versions of PostgreSQL.
### 2) use default intallation location of postgres.
If you don't want default location.
You may remove cluster and init it again.
\# Detect PGDATA location:
```shell
ps aux | grep postgre
postgres 887 0.0 0.0 4334456 13608 ? Ss 07:48 0:00 /usr/pgsql-14/bin/postmaster -D /u02/data
```
Result is:
- /u02/data - is PGDATA location
- /usr/pgsql-14/bin - location of PostgreSQL bin
### 3) init tables
\# use postgres user
```shell
sudo su postgres
```
\# then init pgbench tables
```shell
/usr/pgsql-14/bin/pgbench -i
```
\# run simple test
```shell
/usr/pgsql-14/bin/pgbench -T 60 -j 100
```
### 4) run commands in psql
\# start psql
```shell
/usr/pgsql-14/bin/psql
```
\# display tables
```psql
\dt+
Schema | Name | Type | Owner | Persistence | Access method | Size | Description
--------+------------------+-------+----------+-------------+---------------+--------+-------------
public | pgbench_accounts | table | postgres | permanent | heap | 13 MB |
public | pgbench_branches | table | postgres | permanent | heap | 40 kB |
public | pgbench_history | table | postgres | permanent | heap | 968 kB |
public | pgbench_tellers | table | postgres | permanent | heap | 40 kB |
```
\# run CHECKPOINT to avoid partially written data
```psql
CHECKPOINT;
```
\# detect location of tables
```psql
SELECT pg_relation_filepath('pgbench_history');
pg_relation_filepath
----------------------
base/13746/24599
```
base/13746/24599 - location of table in PGDATA
### 5) use root account to copy table file
\# login in root
```shell
sudo su
```
\# go to PGDATA
```shell
cd /u02/data
```
\# copy table file
```shell
cp base/13746/24599 /home/user
```
\# change persmissions
```shell
chwon user:user /home/user/24599
chmod 644 /home/user/24599
```
### 6) Copy tables files to local with scp
```shell
scp user@192.168.0.100:~/24599 .
```
### 7) You may want to cut 2 pages (8192 * 2) from table
```shell
head -c 16384 ./245991 > ./24599_2pages
```