mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-09-07 17:15:56 +00:00
basic looker connection tests pass
sql1 pass through works
This commit is contained in:
parent
ab8c42bfd9
commit
95dc4a1a50
10 changed files with 2098 additions and 20 deletions
2
go.mod
2
go.mod
|
|
@ -54,7 +54,7 @@ require (
|
|||
golang.org/x/sys v0.0.0-20210510120138-977fb7262007 // indirect
|
||||
golang.org/x/text v0.3.5 // indirect
|
||||
google.golang.org/grpc v1.28.0
|
||||
gopkg.in/yaml.v2 v2.3.0 // indirect
|
||||
gopkg.in/yaml.v2 v2.3.0
|
||||
modernc.org/mathutil v1.0.0
|
||||
modernc.org/strutil v1.0.0
|
||||
sigs.k8s.io/yaml v1.2.0 // indirect
|
||||
|
|
|
|||
652
pg/lookerToFeaturebase.md
Normal file
652
pg/lookerToFeaturebase.md
Normal file
|
|
@ -0,0 +1,652 @@
|
|||
```mermaid
|
||||
sequenceDiagram
|
||||
|
||||
participant 213070643358480 as c0
|
||||
participant 213070643358482 as c1
|
||||
participant 213070643358484 as c2
|
||||
participant 213070643358486 as c3
|
||||
participant 213070643358488 as c4
|
||||
participant 213070643358490 as c5
|
||||
participant 213070643358492 as c6
|
||||
participant 213070643358494 as c7
|
||||
participant 213070643358496 as c8
|
||||
participant 213070643358498 as c9
|
||||
participant 213070643358500 as c10
|
||||
participant 213070643358502 as c11
|
||||
213070643358480->>server:+SSL REQUEST
|
||||
server-->>213070643358480:-SSL BACKEND ANSWER: N
|
||||
213070643358480->>server:+STARTUP MESSAGE version: 3 database=trait_store extra_float_digits=2 TimeZone=GMT client_encoding=UTF8 user=docker DateStyle=ISO
|
||||
server-->>213070643358480:-AUTHENTIFICATION REQUEST code=0 (SUCCESS)
|
||||
server-->>213070643358480:-PARAMETER STATUS name='application_name', value=''
|
||||
server-->>213070643358480:-PARAMETER STATUS name='client_encoding', value='UTF8'
|
||||
server-->>213070643358480:-PARAMETER STATUS name='DateStyle', value='ISO, MDY'
|
||||
server-->>213070643358480:-PARAMETER STATUS name='integer_datetimes', value='on'
|
||||
server-->>213070643358480:-PARAMETER STATUS name='IntervalStyle', value='postgres'
|
||||
server-->>213070643358480:-PARAMETER STATUS name='is_superuser', value='on'
|
||||
server-->>213070643358480:-PARAMETER STATUS name='server_encoding', value='UTF8'
|
||||
server-->>213070643358480:-PARAMETER STATUS name='server_version', value='13.0.0'
|
||||
server-->>213070643358480:-PARAMETER STATUS name='session_authorization', value='docker'
|
||||
server-->>213070643358480:-PARAMETER STATUS name='standard_conforming_strings', value='on'
|
||||
server-->>213070643358480:-PARAMETER STATUS name='TimeZone', value='GMT'
|
||||
server-->>213070643358480:-BACKEND KEY DATA pid=1459324827, key=1506254533
|
||||
server-->>213070643358480:-READY FOR QUERY type=<IDLE>
|
||||
213070643358480->>server:+PARSE name='', num_params=0, params_type=, query=SET extra_float_digits = 3
|
||||
213070643358480->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358480->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358480->>server:+SYNC
|
||||
server-->>213070643358480:-PARSE COMPLETE
|
||||
server-->>213070643358480:-BIND COMPLETE
|
||||
server-->>213070643358480:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643358480:-READY FOR QUERY type=<IDLE>
|
||||
213070643358480->>server:+PARSE name='', num_params=0, params_type=, query=SET application_name = 'PostgreSQL JDBC Driver'
|
||||
213070643358480->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358480->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358480->>server:+SYNC
|
||||
server-->>213070643358480:-PARSE COMPLETE
|
||||
server-->>213070643358480:-BIND COMPLETE
|
||||
server-->>213070643358480:-PARAMETER STATUS name='application_name', value='PostgreSQL JDBC Driver'
|
||||
server-->>213070643358480:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643358480:-READY FOR QUERY type=<IDLE>
|
||||
213070643358480->>server:+PARSE name='', num_params=0, params_type=, query=
|
||||
213070643358480->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358480->>server:+DESCRIBE kind='P', name=''
|
||||
213070643358480->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358480->>server:+SYNC
|
||||
server-->>213070643358480:-PARSE COMPLETE
|
||||
server-->>213070643358480:-BIND COMPLETE
|
||||
server-->>213070643358480:-NO DATA
|
||||
server-->>213070643358480:-EMPTY QUERY RESPONSE
|
||||
server-->>213070643358480:-READY FOR QUERY type=<IDLE>
|
||||
213070643358480->>server:+DISCONNECT
|
||||
213070643358482->>server:+SSL REQUEST
|
||||
server-->>213070643358482:-SSL BACKEND ANSWER: N
|
||||
213070643358482->>server:+STARTUP MESSAGE version: 3 database=trait_store extra_float_digits=2 TimeZone=GMT client_encoding=UTF8 user=docker DateStyle=ISO
|
||||
server-->>213070643358482:-AUTHENTIFICATION REQUEST code=0 (SUCCESS)
|
||||
server-->>213070643358482:-PARAMETER STATUS name='application_name', value=''
|
||||
server-->>213070643358482:-PARAMETER STATUS name='client_encoding', value='UTF8'
|
||||
server-->>213070643358482:-PARAMETER STATUS name='DateStyle', value='ISO, MDY'
|
||||
server-->>213070643358482:-PARAMETER STATUS name='integer_datetimes', value='on'
|
||||
server-->>213070643358482:-PARAMETER STATUS name='IntervalStyle', value='postgres'
|
||||
server-->>213070643358482:-PARAMETER STATUS name='is_superuser', value='on'
|
||||
server-->>213070643358482:-PARAMETER STATUS name='server_encoding', value='UTF8'
|
||||
server-->>213070643358482:-PARAMETER STATUS name='server_version', value='13.0.0'
|
||||
server-->>213070643358482:-PARAMETER STATUS name='session_authorization', value='docker'
|
||||
server-->>213070643358482:-PARAMETER STATUS name='standard_conforming_strings', value='on'
|
||||
server-->>213070643358482:-PARAMETER STATUS name='TimeZone', value='GMT'
|
||||
server-->>213070643358482:-BACKEND KEY DATA pid=1742342691, key=1299317425
|
||||
server-->>213070643358482:-READY FOR QUERY type=<IDLE>
|
||||
213070643358482->>server:+PARSE name='', num_params=0, params_type=, query=SET extra_float_digits = 3
|
||||
213070643358482->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358482->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358482->>server:+SYNC
|
||||
server-->>213070643358482:-PARSE COMPLETE
|
||||
server-->>213070643358482:-BIND COMPLETE
|
||||
server-->>213070643358482:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643358482:-READY FOR QUERY type=<IDLE>
|
||||
213070643358482->>server:+PARSE name='', num_params=0, params_type=, query=SET application_name = 'PostgreSQL JDBC Driver'
|
||||
213070643358482->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358482->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358482->>server:+SYNC
|
||||
server-->>213070643358482:-PARSE COMPLETE
|
||||
server-->>213070643358482:-BIND COMPLETE
|
||||
server-->>213070643358482:-PARAMETER STATUS name='application_name', value='PostgreSQL JDBC Driver'
|
||||
server-->>213070643358482:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643358482:-READY FOR QUERY type=<IDLE>
|
||||
213070643358482->>server:+PARSE name='', num_params=0, params_type=, query=
|
||||
213070643358482->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358482->>server:+DESCRIBE kind='P', name=''
|
||||
213070643358482->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358482->>server:+SYNC
|
||||
server-->>213070643358482:-PARSE COMPLETE
|
||||
server-->>213070643358482:-BIND COMPLETE
|
||||
server-->>213070643358482:-NO DATA
|
||||
server-->>213070643358482:-EMPTY QUERY RESPONSE
|
||||
server-->>213070643358482:-READY FOR QUERY type=<IDLE>
|
||||
213070643358482->>server:+DISCONNECT
|
||||
213070643358484->>server:+SSL REQUEST
|
||||
server-->>213070643358484:-SSL BACKEND ANSWER: N
|
||||
213070643358484->>server:+STARTUP MESSAGE version: 3 database=trait_store extra_float_digits=2 TimeZone=GMT client_encoding=UTF8 user=docker DateStyle=ISO
|
||||
server-->>213070643358484:-AUTHENTIFICATION REQUEST code=0 (SUCCESS)
|
||||
server-->>213070643358484:-PARAMETER STATUS name='application_name', value=''
|
||||
server-->>213070643358484:-PARAMETER STATUS name='client_encoding', value='UTF8'
|
||||
server-->>213070643358484:-PARAMETER STATUS name='DateStyle', value='ISO, MDY'
|
||||
server-->>213070643358484:-PARAMETER STATUS name='integer_datetimes', value='on'
|
||||
server-->>213070643358484:-PARAMETER STATUS name='IntervalStyle', value='postgres'
|
||||
server-->>213070643358484:-PARAMETER STATUS name='is_superuser', value='on'
|
||||
server-->>213070643358484:-PARAMETER STATUS name='server_encoding', value='UTF8'
|
||||
server-->>213070643358484:-PARAMETER STATUS name='server_version', value='13.0.0'
|
||||
server-->>213070643358484:-PARAMETER STATUS name='session_authorization', value='docker'
|
||||
server-->>213070643358484:-PARAMETER STATUS name='standard_conforming_strings', value='on'
|
||||
server-->>213070643358484:-PARAMETER STATUS name='TimeZone', value='GMT'
|
||||
server-->>213070643358484:-BACKEND KEY DATA pid=700852804, key=1377869267
|
||||
server-->>213070643358484:-READY FOR QUERY type=<IDLE>
|
||||
213070643358484->>server:+PARSE name='', num_params=0, params_type=, query=SET extra_float_digits = 3
|
||||
213070643358484->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358484->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358484->>server:+SYNC
|
||||
server-->>213070643358484:-PARSE COMPLETE
|
||||
server-->>213070643358484:-BIND COMPLETE
|
||||
server-->>213070643358484:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643358484:-READY FOR QUERY type=<IDLE>
|
||||
213070643358484->>server:+PARSE name='', num_params=0, params_type=, query=SET application_name = 'PostgreSQL JDBC Driver'
|
||||
213070643358484->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358484->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358484->>server:+SYNC
|
||||
server-->>213070643358484:-PARSE COMPLETE
|
||||
server-->>213070643358484:-BIND COMPLETE
|
||||
server-->>213070643358484:-PARAMETER STATUS name='application_name', value='PostgreSQL JDBC Driver'
|
||||
server-->>213070643358484:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643358484:-READY FOR QUERY type=<IDLE>
|
||||
213070643358484->>server:+PARSE name='', num_params=0, params_type=, query=
|
||||
213070643358484->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358484->>server:+DESCRIBE kind='P', name=''
|
||||
213070643358484->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358484->>server:+SYNC
|
||||
server-->>213070643358484:-PARSE COMPLETE
|
||||
server-->>213070643358484:-BIND COMPLETE
|
||||
server-->>213070643358484:-NO DATA
|
||||
server-->>213070643358484:-EMPTY QUERY RESPONSE
|
||||
server-->>213070643358484:-READY FOR QUERY type=<IDLE>
|
||||
213070643358484->>server:+DISCONNECT
|
||||
213070643358486->>server:+SSL REQUEST
|
||||
server-->>213070643358486:-SSL BACKEND ANSWER: N
|
||||
213070643358486->>server:+STARTUP MESSAGE version: 3 database=trait_store extra_float_digits=2 TimeZone=GMT client_encoding=UTF8 user=docker DateStyle=ISO
|
||||
server-->>213070643358486:-AUTHENTIFICATION REQUEST code=0 (SUCCESS)
|
||||
server-->>213070643358486:-PARAMETER STATUS name='application_name', value=''
|
||||
server-->>213070643358486:-PARAMETER STATUS name='client_encoding', value='UTF8'
|
||||
server-->>213070643358486:-PARAMETER STATUS name='DateStyle', value='ISO, MDY'
|
||||
server-->>213070643358486:-PARAMETER STATUS name='integer_datetimes', value='on'
|
||||
server-->>213070643358486:-PARAMETER STATUS name='IntervalStyle', value='postgres'
|
||||
server-->>213070643358486:-PARAMETER STATUS name='is_superuser', value='on'
|
||||
server-->>213070643358486:-PARAMETER STATUS name='server_encoding', value='UTF8'
|
||||
server-->>213070643358486:-PARAMETER STATUS name='server_version', value='13.0.0'
|
||||
server-->>213070643358486:-PARAMETER STATUS name='session_authorization', value='docker'
|
||||
server-->>213070643358486:-PARAMETER STATUS name='standard_conforming_strings', value='on'
|
||||
server-->>213070643358486:-PARAMETER STATUS name='TimeZone', value='GMT'
|
||||
server-->>213070643358486:-BACKEND KEY DATA pid=413235241, key=1302652759
|
||||
server-->>213070643358486:-READY FOR QUERY type=<IDLE>
|
||||
213070643358486->>server:+PARSE name='', num_params=0, params_type=, query=SET extra_float_digits = 3
|
||||
213070643358486->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358486->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358486->>server:+SYNC
|
||||
server-->>213070643358486:-PARSE COMPLETE
|
||||
server-->>213070643358486:-BIND COMPLETE
|
||||
server-->>213070643358486:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643358486:-READY FOR QUERY type=<IDLE>
|
||||
213070643358486->>server:+PARSE name='', num_params=0, params_type=, query=SET application_name = 'PostgreSQL JDBC Driver'
|
||||
213070643358486->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358486->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358486->>server:+SYNC
|
||||
server-->>213070643358486:-PARSE COMPLETE
|
||||
server-->>213070643358486:-BIND COMPLETE
|
||||
server-->>213070643358486:-PARAMETER STATUS name='application_name', value='PostgreSQL JDBC Driver'
|
||||
server-->>213070643358486:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643358486:-READY FOR QUERY type=<IDLE>
|
||||
213070643358486->>server:+PARSE name='', num_params=0, params_type=, query=
|
||||
213070643358486->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358486->>server:+DESCRIBE kind='P', name=''
|
||||
213070643358486->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358486->>server:+SYNC
|
||||
server-->>213070643358486:-PARSE COMPLETE
|
||||
server-->>213070643358486:-BIND COMPLETE
|
||||
server-->>213070643358486:-NO DATA
|
||||
server-->>213070643358486:-EMPTY QUERY RESPONSE
|
||||
server-->>213070643358486:-READY FOR QUERY type=<IDLE>
|
||||
213070643358486->>server:+PARSE name='', num_params=0, params_type=, query=SELECT pg_backend_pid()
|
||||
213070643358486->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358486->>server:+DESCRIBE kind='P', name=''
|
||||
213070643358486->>server:+EXECUTE name='', nb_rows=0
|
||||
213070643358486->>server:+SYNC
|
||||
server-->>213070643358486:-PARSE COMPLETE
|
||||
server-->>213070643358486:-BIND COMPLETE
|
||||
server-->>213070643358486:-ROW DESCRIPTION: num_fields=1 ---[Field 01]--- name='pg_backend_pid' type=23 type_len=4 type_mod=4294967295 relid=0 attnum=0 format=0
|
||||
server-->>213070643358486:-DATA ROW num_values=1 ---[Value 0001]--- length=9 value='413235241'
|
||||
server-->>213070643358486:-COMMAND COMPLETE command='SELECT'
|
||||
server-->>213070643358486:-READY FOR QUERY type=<IDLE>
|
||||
213070643358486->>server:+PARSE name='', num_params=0, params_type=, query=SELECT VERSION() AS version
|
||||
213070643358486->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358486->>server:+DESCRIBE kind='P', name=''
|
||||
213070643358486->>server:+EXECUTE name='', nb_rows=0
|
||||
213070643358486->>server:+SYNC
|
||||
server-->>213070643358486:-PARSE COMPLETE
|
||||
server-->>213070643358486:-BIND COMPLETE
|
||||
server-->>213070643358486:-ROW DESCRIPTION: num_fields=1 ---[Field 01]--- name='version' type=25 type_len=65535 type_mod=4294967295 relid=0 attnum=0 format=0
|
||||
server-->>213070643358486:-DATA ROW num_values=1 ---[Value 0001]--- length=27 value='PostgresSQL 13.0 (molecula)'
|
||||
server-->>213070643358486:-COMMAND COMPLETE command='SELECT'
|
||||
server-->>213070643358486:-READY FOR QUERY type=<IDLE>
|
||||
213070643358486->>server:+PARSE name='', num_params=0, params_type=, query= SELECT COUNT(*) FROM pg_type AS t0, pg_aggregate AS t1, pg_settings AS t2, pg_settings AS t3
|
||||
213070643358486->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358486->>server:+DESCRIBE kind='P', name=''
|
||||
213070643358486->>server:+EXECUTE name='', nb_rows=0
|
||||
213070643358486->>server:+SYNC
|
||||
213070643358488->>server:+SSL REQUEST
|
||||
server-->>213070643358488:-SSL BACKEND ANSWER: N
|
||||
213070643358488->>server:+STARTUP MESSAGE version: 3 database=trait_store extra_float_digits=2 TimeZone=GMT client_encoding=UTF8 user=docker DateStyle=ISO
|
||||
server-->>213070643358488:-AUTHENTIFICATION REQUEST code=0 (SUCCESS)
|
||||
server-->>213070643358488:-PARAMETER STATUS name='application_name', value=''
|
||||
server-->>213070643358488:-PARAMETER STATUS name='client_encoding', value='UTF8'
|
||||
server-->>213070643358488:-PARAMETER STATUS name='DateStyle', value='ISO, MDY'
|
||||
server-->>213070643358488:-PARAMETER STATUS name='integer_datetimes', value='on'
|
||||
server-->>213070643358488:-PARAMETER STATUS name='IntervalStyle', value='postgres'
|
||||
server-->>213070643358488:-PARAMETER STATUS name='is_superuser', value='on'
|
||||
server-->>213070643358488:-PARAMETER STATUS name='server_encoding', value='UTF8'
|
||||
server-->>213070643358488:-PARAMETER STATUS name='server_version', value='13.0.0'
|
||||
server-->>213070643358488:-PARAMETER STATUS name='session_authorization', value='docker'
|
||||
server-->>213070643358488:-PARAMETER STATUS name='standard_conforming_strings', value='on'
|
||||
server-->>213070643358488:-PARAMETER STATUS name='TimeZone', value='GMT'
|
||||
server-->>213070643358488:-BACKEND KEY DATA pid=180554708, key=1504602717
|
||||
server-->>213070643358488:-READY FOR QUERY type=<IDLE>
|
||||
213070643358488->>server:+PARSE name='', num_params=0, params_type=, query=SET extra_float_digits = 3
|
||||
213070643358488->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358488->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358488->>server:+SYNC
|
||||
server-->>213070643358488:-PARSE COMPLETE
|
||||
server-->>213070643358488:-BIND COMPLETE
|
||||
server-->>213070643358488:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643358488:-READY FOR QUERY type=<IDLE>
|
||||
213070643358488->>server:+PARSE name='', num_params=0, params_type=, query=SET application_name = 'PostgreSQL JDBC Driver'
|
||||
213070643358488->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358488->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358488->>server:+SYNC
|
||||
server-->>213070643358488:-PARSE COMPLETE
|
||||
server-->>213070643358488:-BIND COMPLETE
|
||||
server-->>213070643358488:-PARAMETER STATUS name='application_name', value='PostgreSQL JDBC Driver'
|
||||
server-->>213070643358488:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643358488:-READY FOR QUERY type=<IDLE>
|
||||
213070643358488->>server:+PARSE name='', num_params=0, params_type=, query=
|
||||
213070643358488->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358488->>server:+DESCRIBE kind='P', name=''
|
||||
213070643358488->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358488->>server:+SYNC
|
||||
server-->>213070643358488:-PARSE COMPLETE
|
||||
server-->>213070643358488:-BIND COMPLETE
|
||||
server-->>213070643358488:-NO DATA
|
||||
server-->>213070643358488:-EMPTY QUERY RESPONSE
|
||||
server-->>213070643358488:-READY FOR QUERY type=<IDLE>
|
||||
213070643358488->>server:+DISCONNECT
|
||||
213070643358490->>server:+SSL REQUEST
|
||||
server-->>213070643358490:-SSL BACKEND ANSWER: N
|
||||
213070643358490->>server:+STARTUP MESSAGE version: 3 database=trait_store extra_float_digits=2 TimeZone=GMT client_encoding=UTF8 user=docker DateStyle=ISO
|
||||
server-->>213070643358490:-AUTHENTIFICATION REQUEST code=0 (SUCCESS)
|
||||
server-->>213070643358490:-PARAMETER STATUS name='application_name', value=''
|
||||
server-->>213070643358490:-PARAMETER STATUS name='client_encoding', value='UTF8'
|
||||
server-->>213070643358490:-PARAMETER STATUS name='DateStyle', value='ISO, MDY'
|
||||
server-->>213070643358490:-PARAMETER STATUS name='integer_datetimes', value='on'
|
||||
server-->>213070643358490:-PARAMETER STATUS name='IntervalStyle', value='postgres'
|
||||
server-->>213070643358490:-PARAMETER STATUS name='is_superuser', value='on'
|
||||
server-->>213070643358490:-PARAMETER STATUS name='server_encoding', value='UTF8'
|
||||
server-->>213070643358490:-PARAMETER STATUS name='server_version', value='13.0.0'
|
||||
server-->>213070643358490:-PARAMETER STATUS name='session_authorization', value='docker'
|
||||
server-->>213070643358490:-PARAMETER STATUS name='standard_conforming_strings', value='on'
|
||||
server-->>213070643358490:-PARAMETER STATUS name='TimeZone', value='GMT'
|
||||
server-->>213070643358490:-BACKEND KEY DATA pid=1713101217, key=29850369
|
||||
server-->>213070643358490:-READY FOR QUERY type=<IDLE>
|
||||
213070643358490->>server:+PARSE name='', num_params=0, params_type=, query=SET extra_float_digits = 3
|
||||
213070643358490->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358490->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358490->>server:+SYNC
|
||||
server-->>213070643358490:-PARSE COMPLETE
|
||||
server-->>213070643358490:-BIND COMPLETE
|
||||
server-->>213070643358490:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643358490:-READY FOR QUERY type=<IDLE>
|
||||
213070643358490->>server:+PARSE name='', num_params=0, params_type=, query=SET application_name = 'PostgreSQL JDBC Driver'
|
||||
213070643358490->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358490->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358490->>server:+SYNC
|
||||
server-->>213070643358490:-PARSE COMPLETE
|
||||
server-->>213070643358490:-BIND COMPLETE
|
||||
server-->>213070643358490:-PARAMETER STATUS name='application_name', value='PostgreSQL JDBC Driver'
|
||||
server-->>213070643358490:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643358490:-READY FOR QUERY type=<IDLE>
|
||||
213070643358490->>server:+PARSE name='', num_params=0, params_type=, query=
|
||||
213070643358490->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358490->>server:+DESCRIBE kind='P', name=''
|
||||
213070643358490->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358490->>server:+SYNC
|
||||
server-->>213070643358490:-PARSE COMPLETE
|
||||
server-->>213070643358490:-BIND COMPLETE
|
||||
server-->>213070643358490:-NO DATA
|
||||
server-->>213070643358490:-EMPTY QUERY RESPONSE
|
||||
server-->>213070643358490:-READY FOR QUERY type=<IDLE>
|
||||
213070643358490->>server:+PARSE name='', num_params=0, params_type=, query=SELECT VERSION() AS version
|
||||
213070643358490->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358490->>server:+DESCRIBE kind='P', name=''
|
||||
213070643358490->>server:+EXECUTE name='', nb_rows=0
|
||||
213070643358490->>server:+SYNC
|
||||
server-->>213070643358490:-PARSE COMPLETE
|
||||
server-->>213070643358490:-BIND COMPLETE
|
||||
server-->>213070643358490:-ROW DESCRIPTION: num_fields=1 ---[Field 01]--- name='version' type=25 type_len=65535 type_mod=4294967295 relid=0 attnum=0 format=0
|
||||
server-->>213070643358490:-DATA ROW num_values=1 ---[Value 0001]--- length=27 value='PostgresSQL 13.0 (molecula)'
|
||||
server-->>213070643358490:-COMMAND COMPLETE command='SELECT'
|
||||
server-->>213070643358490:-READY FOR QUERY type=<IDLE>
|
||||
213070643358490->>server:+PARSE name='', num_params=0, params_type=, query=
|
||||
213070643358490->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358490->>server:+DESCRIBE kind='P', name=''
|
||||
213070643358490->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358490->>server:+SYNC
|
||||
server-->>213070643358490:-PARSE COMPLETE
|
||||
server-->>213070643358490:-BIND COMPLETE
|
||||
server-->>213070643358490:-NO DATA
|
||||
server-->>213070643358490:-EMPTY QUERY RESPONSE
|
||||
server-->>213070643358490:-READY FOR QUERY type=<IDLE>
|
||||
213070643358490->>server:+PARSE name='', num_params=0, params_type=, query= SELECT pid as id, query as stmt, EXTRACT(seconds from query_start - NOW()) as elapsed_time FROM pg_stat_activity WHERE usename='docker'
|
||||
213070643358490->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358490->>server:+DESCRIBE kind='P', name=''
|
||||
213070643358490->>server:+EXECUTE name='', nb_rows=0
|
||||
213070643358490->>server:+SYNC
|
||||
server-->>213070643358490:-PARSE COMPLETE
|
||||
server-->>213070643358490:-BIND COMPLETE
|
||||
server-->>213070643358490:-ROW DESCRIPTION: num_fields=3 ---[Field 01]--- name='id' type=23 type_len=4 type_mod=4294967295 relid=0 attnum=0 format=0 ---[Field 02]--- name='stmt' type=25 type_len=65535 type_mod=4294967295 relid=0 attnum=0 format=0 ---[Field 03]--- name='elapsed_time' type=701 type_len=8 type_mod=4294967295 relid=0 attnum=0 format=0
|
||||
server-->>213070643358490:-DATA ROW num_values=3 ---[Value 0001]--- length=9 value='413235241' ---[Value 0002]--- length=148 value=' SELECT COUNT(*). FROM pg_type AS t0,. pg_aggregate AS t1,. pg_settings AS t2,. pg_settings AS t3.' ---[Value 0003]--- length=11 value='1.311371547'
|
||||
server-->>213070643358490:-DATA ROW num_values=3 ---[Value 0001]--- length=10 value='1713101217' ---[Value 0002]--- length=190 value=' SELECT pid as id,. query as stmt,. EXTRACT(seconds from query_start - NOW()) as elapsed_time. FROM pg_stat_activity. WHERE usename='docker'.' ---[Value 0003]--- length=11 value='0.000169969'
|
||||
server-->>213070643358490:-COMMAND COMPLETE command='SELECT'
|
||||
server-->>213070643358490:-READY FOR QUERY type=<IDLE>
|
||||
213070643358492->>server:+SSL REQUEST
|
||||
server-->>213070643358492:-SSL BACKEND ANSWER: N
|
||||
213070643358492->>server:+STARTUP MESSAGE version: 3 database=trait_store extra_float_digits=2 TimeZone=GMT client_encoding=UTF8 user=docker DateStyle=ISO
|
||||
server-->>213070643358492:-AUTHENTIFICATION REQUEST code=0 (SUCCESS)
|
||||
server-->>213070643358492:-PARAMETER STATUS name='application_name', value=''
|
||||
server-->>213070643358492:-PARAMETER STATUS name='client_encoding', value='UTF8'
|
||||
server-->>213070643358492:-PARAMETER STATUS name='DateStyle', value='ISO, MDY'
|
||||
server-->>213070643358492:-PARAMETER STATUS name='integer_datetimes', value='on'
|
||||
server-->>213070643358492:-PARAMETER STATUS name='IntervalStyle', value='postgres'
|
||||
server-->>213070643358492:-PARAMETER STATUS name='is_superuser', value='on'
|
||||
server-->>213070643358492:-PARAMETER STATUS name='server_encoding', value='UTF8'
|
||||
server-->>213070643358492:-PARAMETER STATUS name='server_version', value='13.0.0'
|
||||
server-->>213070643358492:-PARAMETER STATUS name='session_authorization', value='docker'
|
||||
server-->>213070643358492:-PARAMETER STATUS name='standard_conforming_strings', value='on'
|
||||
server-->>213070643358492:-PARAMETER STATUS name='TimeZone', value='GMT'
|
||||
server-->>213070643358492:-BACKEND KEY DATA pid=2034361563, key=1419995666
|
||||
server-->>213070643358492:-READY FOR QUERY type=<IDLE>
|
||||
213070643358492->>server:+PARSE name='', num_params=0, params_type=, query=SET extra_float_digits = 3
|
||||
213070643358492->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358492->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358492->>server:+SYNC
|
||||
server-->>213070643358492:-PARSE COMPLETE
|
||||
server-->>213070643358492:-BIND COMPLETE
|
||||
server-->>213070643358492:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643358492:-READY FOR QUERY type=<IDLE>
|
||||
213070643358492->>server:+PARSE name='', num_params=0, params_type=, query=SET application_name = 'PostgreSQL JDBC Driver'
|
||||
213070643358492->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358492->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358492->>server:+SYNC
|
||||
server-->>213070643358492:-PARSE COMPLETE
|
||||
server-->>213070643358492:-BIND COMPLETE
|
||||
server-->>213070643358492:-PARAMETER STATUS name='application_name', value='PostgreSQL JDBC Driver'
|
||||
server-->>213070643358492:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643358492:-READY FOR QUERY type=<IDLE>
|
||||
213070643358492->>server:+PARSE name='', num_params=0, params_type=, query=
|
||||
213070643358492->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358492->>server:+DESCRIBE kind='P', name=''
|
||||
213070643358492->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358492->>server:+SYNC
|
||||
server-->>213070643358492:-PARSE COMPLETE
|
||||
server-->>213070643358492:-BIND COMPLETE
|
||||
server-->>213070643358492:-NO DATA
|
||||
server-->>213070643358492:-EMPTY QUERY RESPONSE
|
||||
server-->>213070643358492:-READY FOR QUERY type=<IDLE>
|
||||
213070643358492->>server:+DISCONNECT
|
||||
213070643358494->>server:+SSL REQUEST
|
||||
server-->>213070643358494:-SSL BACKEND ANSWER: N
|
||||
213070643358494->>server:+STARTUP MESSAGE version: 3 database=trait_store extra_float_digits=2 TimeZone=GMT client_encoding=UTF8 user=docker DateStyle=ISO
|
||||
server-->>213070643358494:-AUTHENTIFICATION REQUEST code=0 (SUCCESS)
|
||||
server-->>213070643358494:-PARAMETER STATUS name='application_name', value=''
|
||||
server-->>213070643358494:-PARAMETER STATUS name='client_encoding', value='UTF8'
|
||||
server-->>213070643358494:-PARAMETER STATUS name='DateStyle', value='ISO, MDY'
|
||||
server-->>213070643358494:-PARAMETER STATUS name='integer_datetimes', value='on'
|
||||
server-->>213070643358494:-PARAMETER STATUS name='IntervalStyle', value='postgres'
|
||||
server-->>213070643358494:-PARAMETER STATUS name='is_superuser', value='on'
|
||||
server-->>213070643358494:-PARAMETER STATUS name='server_encoding', value='UTF8'
|
||||
server-->>213070643358494:-PARAMETER STATUS name='server_version', value='13.0.0'
|
||||
server-->>213070643358494:-PARAMETER STATUS name='session_authorization', value='docker'
|
||||
server-->>213070643358494:-PARAMETER STATUS name='standard_conforming_strings', value='on'
|
||||
server-->>213070643358494:-PARAMETER STATUS name='TimeZone', value='GMT'
|
||||
server-->>213070643358494:-BACKEND KEY DATA pid=964429462, key=1673405115
|
||||
server-->>213070643358494:-READY FOR QUERY type=<IDLE>
|
||||
213070643358494->>server:+PARSE name='', num_params=0, params_type=, query=SET extra_float_digits = 3
|
||||
213070643358494->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358494->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358494->>server:+SYNC
|
||||
server-->>213070643358494:-PARSE COMPLETE
|
||||
server-->>213070643358494:-BIND COMPLETE
|
||||
server-->>213070643358494:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643358494:-READY FOR QUERY type=<IDLE>
|
||||
213070643358494->>server:+PARSE name='', num_params=0, params_type=, query=SET application_name = 'PostgreSQL JDBC Driver'
|
||||
213070643358494->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358494->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358494->>server:+SYNC
|
||||
server-->>213070643358494:-PARSE COMPLETE
|
||||
server-->>213070643358494:-BIND COMPLETE
|
||||
server-->>213070643358494:-PARAMETER STATUS name='application_name', value='PostgreSQL JDBC Driver'
|
||||
server-->>213070643358494:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643358494:-READY FOR QUERY type=<IDLE>
|
||||
213070643358494->>server:+PARSE name='', num_params=0, params_type=, query=
|
||||
213070643358494->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358494->>server:+DESCRIBE kind='P', name=''
|
||||
213070643358494->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358494->>server:+SYNC
|
||||
server-->>213070643358494:-PARSE COMPLETE
|
||||
server-->>213070643358494:-BIND COMPLETE
|
||||
server-->>213070643358494:-NO DATA
|
||||
server-->>213070643358494:-EMPTY QUERY RESPONSE
|
||||
server-->>213070643358494:-READY FOR QUERY type=<IDLE>
|
||||
213070643358494->>server:+PARSE name='', num_params=0, params_type=, query=select pg_terminate_backend(413235241)
|
||||
213070643358494->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358494->>server:+DESCRIBE kind='P', name=''
|
||||
213070643358494->>server:+EXECUTE name='', nb_rows=0
|
||||
213070643358494->>server:+SYNC
|
||||
server-->>213070643358494:-PARSE COMPLETE
|
||||
server-->>213070643358494:-BIND COMPLETE
|
||||
server-->>213070643358494:-ROW DESCRIPTION: num_fields=1 ---[Field 01]--- name='pg_terminate_backend' type=16 type_len=1 type_mod=4294967295 relid=0 attnum=0 format=0
|
||||
server-->>213070643358494:-DATA ROW num_values=1 ---[Value 0001]--- length=1 value='t'
|
||||
server-->>213070643358494:-COMMAND COMPLETE command='SELECT 1'
|
||||
server-->>213070643358486:-PARSE COMPLETE
|
||||
server-->>213070643358486:-BIND COMPLETE
|
||||
server-->>213070643358486:-ROW DESCRIPTION: num_fields=1 ---[Field 01]--- name='count' type=20 type_len=8 type_mod=4294967295 relid=0 attnum=0 format=0
|
||||
server-->>213070643358486:-ERROR RESPONSE Severity: 'FATAL' Message: 'terminating connection due to administrator command' Code: '57P01'
|
||||
server-->>213070643358494:-READY FOR QUERY type=<IDLE>
|
||||
213070643358490->>server:+DISCONNECT
|
||||
213070643358494->>server:+DISCONNECT
|
||||
213070643358496->>server:+SSL REQUEST
|
||||
server-->>213070643358496:-SSL BACKEND ANSWER: N
|
||||
213070643358496->>server:+STARTUP MESSAGE version: 3 database=trait_store extra_float_digits=2 TimeZone=GMT client_encoding=UTF8 user=docker DateStyle=ISO
|
||||
server-->>213070643358496:-AUTHENTIFICATION REQUEST code=0 (SUCCESS)
|
||||
server-->>213070643358496:-PARAMETER STATUS name='application_name', value=''
|
||||
server-->>213070643358496:-PARAMETER STATUS name='client_encoding', value='UTF8'
|
||||
server-->>213070643358496:-PARAMETER STATUS name='DateStyle', value='ISO, MDY'
|
||||
server-->>213070643358496:-PARAMETER STATUS name='integer_datetimes', value='on'
|
||||
server-->>213070643358496:-PARAMETER STATUS name='IntervalStyle', value='postgres'
|
||||
server-->>213070643358496:-PARAMETER STATUS name='is_superuser', value='on'
|
||||
server-->>213070643358496:-PARAMETER STATUS name='server_encoding', value='UTF8'
|
||||
server-->>213070643358496:-PARAMETER STATUS name='server_version', value='13.0.0'
|
||||
server-->>213070643358496:-PARAMETER STATUS name='session_authorization', value='docker'
|
||||
server-->>213070643358496:-PARAMETER STATUS name='standard_conforming_strings', value='on'
|
||||
server-->>213070643358496:-PARAMETER STATUS name='TimeZone', value='GMT'
|
||||
server-->>213070643358496:-BACKEND KEY DATA pid=841257432, key=992978867
|
||||
server-->>213070643358496:-READY FOR QUERY type=<IDLE>
|
||||
213070643358496->>server:+PARSE name='', num_params=0, params_type=, query=SET extra_float_digits = 3
|
||||
213070643358496->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358496->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358496->>server:+SYNC
|
||||
server-->>213070643358496:-PARSE COMPLETE
|
||||
server-->>213070643358496:-BIND COMPLETE
|
||||
server-->>213070643358496:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643358496:-READY FOR QUERY type=<IDLE>
|
||||
213070643358496->>server:+PARSE name='', num_params=0, params_type=, query=SET application_name = 'PostgreSQL JDBC Driver'
|
||||
213070643358496->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358496->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358496->>server:+SYNC
|
||||
server-->>213070643358496:-PARSE COMPLETE
|
||||
server-->>213070643358496:-BIND COMPLETE
|
||||
server-->>213070643358496:-PARAMETER STATUS name='application_name', value='PostgreSQL JDBC Driver'
|
||||
server-->>213070643358496:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643358496:-READY FOR QUERY type=<IDLE>
|
||||
213070643358496->>server:+PARSE name='', num_params=0, params_type=, query=
|
||||
213070643358496->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358496->>server:+DESCRIBE kind='P', name=''
|
||||
213070643358496->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358496->>server:+SYNC
|
||||
server-->>213070643358496:-PARSE COMPLETE
|
||||
server-->>213070643358496:-BIND COMPLETE
|
||||
server-->>213070643358496:-NO DATA
|
||||
server-->>213070643358496:-EMPTY QUERY RESPONSE
|
||||
server-->>213070643358496:-READY FOR QUERY type=<IDLE>
|
||||
213070643358496->>server:+DISCONNECT
|
||||
213070643358498->>server:+SSL REQUEST
|
||||
server-->>213070643358498:-SSL BACKEND ANSWER: N
|
||||
213070643358498->>server:+STARTUP MESSAGE version: 3 database=trait_store extra_float_digits=2 TimeZone=GMT client_encoding=UTF8 user=docker DateStyle=ISO
|
||||
server-->>213070643358498:-AUTHENTIFICATION REQUEST code=0 (SUCCESS)
|
||||
server-->>213070643358498:-PARAMETER STATUS name='application_name', value=''
|
||||
server-->>213070643358498:-PARAMETER STATUS name='client_encoding', value='UTF8'
|
||||
server-->>213070643358498:-PARAMETER STATUS name='DateStyle', value='ISO, MDY'
|
||||
server-->>213070643358498:-PARAMETER STATUS name='integer_datetimes', value='on'
|
||||
server-->>213070643358498:-PARAMETER STATUS name='IntervalStyle', value='postgres'
|
||||
server-->>213070643358498:-PARAMETER STATUS name='is_superuser', value='on'
|
||||
server-->>213070643358498:-PARAMETER STATUS name='server_encoding', value='UTF8'
|
||||
server-->>213070643358498:-PARAMETER STATUS name='server_version', value='13.0.0'
|
||||
server-->>213070643358498:-PARAMETER STATUS name='session_authorization', value='docker'
|
||||
server-->>213070643358498:-PARAMETER STATUS name='standard_conforming_strings', value='on'
|
||||
server-->>213070643358498:-PARAMETER STATUS name='TimeZone', value='GMT'
|
||||
server-->>213070643358498:-BACKEND KEY DATA pid=645931978, key=579078180
|
||||
server-->>213070643358498:-READY FOR QUERY type=<IDLE>
|
||||
213070643358498->>server:+PARSE name='', num_params=0, params_type=, query=SET extra_float_digits = 3
|
||||
213070643358498->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358498->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358498->>server:+SYNC
|
||||
server-->>213070643358498:-PARSE COMPLETE
|
||||
server-->>213070643358498:-BIND COMPLETE
|
||||
server-->>213070643358498:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643358498:-READY FOR QUERY type=<IDLE>
|
||||
213070643358498->>server:+PARSE name='', num_params=0, params_type=, query=SET application_name = 'PostgreSQL JDBC Driver'
|
||||
213070643358498->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358498->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358498->>server:+SYNC
|
||||
server-->>213070643358498:-PARSE COMPLETE
|
||||
server-->>213070643358498:-BIND COMPLETE
|
||||
server-->>213070643358498:-PARAMETER STATUS name='application_name', value='PostgreSQL JDBC Driver'
|
||||
server-->>213070643358498:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643358498:-READY FOR QUERY type=<IDLE>
|
||||
213070643358498->>server:+PARSE name='', num_params=0, params_type=, query=
|
||||
213070643358498->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358498->>server:+DESCRIBE kind='P', name=''
|
||||
213070643358498->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358498->>server:+SYNC
|
||||
server-->>213070643358498:-PARSE COMPLETE
|
||||
server-->>213070643358498:-BIND COMPLETE
|
||||
server-->>213070643358498:-NO DATA
|
||||
server-->>213070643358498:-EMPTY QUERY RESPONSE
|
||||
server-->>213070643358498:-READY FOR QUERY type=<IDLE>
|
||||
213070643358498->>server:+PARSE name='', num_params=0, params_type=, query=SELECT 1
|
||||
213070643358498->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358498->>server:+DESCRIBE kind='P', name=''
|
||||
213070643358498->>server:+EXECUTE name='', nb_rows=0
|
||||
213070643358498->>server:+SYNC
|
||||
server-->>213070643358498:-PARSE COMPLETE
|
||||
server-->>213070643358498:-BIND COMPLETE
|
||||
server-->>213070643358498:-ROW DESCRIPTION: num_fields=1 ---[Field 01]--- name='?column?' type=23 type_len=4 type_mod=4294967295 relid=0 attnum=0 format=0
|
||||
server-->>213070643358498:-DATA ROW num_values=1 ---[Value 0001]--- length=1 value='1'
|
||||
server-->>213070643358498:-COMMAND COMPLETE command='SELECT'
|
||||
server-->>213070643358498:-READY FOR QUERY type=<IDLE>
|
||||
213070643358498->>server:+DISCONNECT
|
||||
213070643358500->>server:+SSL REQUEST
|
||||
server-->>213070643358500:-SSL BACKEND ANSWER: N
|
||||
213070643358500->>server:+STARTUP MESSAGE version: 3 database=trait_store extra_float_digits=2 TimeZone=GMT client_encoding=UTF8 user=docker DateStyle=ISO
|
||||
server-->>213070643358500:-AUTHENTIFICATION REQUEST code=0 (SUCCESS)
|
||||
server-->>213070643358500:-PARAMETER STATUS name='application_name', value=''
|
||||
server-->>213070643358500:-PARAMETER STATUS name='client_encoding', value='UTF8'
|
||||
server-->>213070643358500:-PARAMETER STATUS name='DateStyle', value='ISO, MDY'
|
||||
server-->>213070643358500:-PARAMETER STATUS name='integer_datetimes', value='on'
|
||||
server-->>213070643358500:-PARAMETER STATUS name='IntervalStyle', value='postgres'
|
||||
server-->>213070643358500:-PARAMETER STATUS name='is_superuser', value='on'
|
||||
server-->>213070643358500:-PARAMETER STATUS name='server_encoding', value='UTF8'
|
||||
server-->>213070643358500:-PARAMETER STATUS name='server_version', value='13.0.0'
|
||||
server-->>213070643358500:-PARAMETER STATUS name='session_authorization', value='docker'
|
||||
server-->>213070643358500:-PARAMETER STATUS name='standard_conforming_strings', value='on'
|
||||
server-->>213070643358500:-PARAMETER STATUS name='TimeZone', value='GMT'
|
||||
server-->>213070643358500:-BACKEND KEY DATA pid=1632401438, key=1341645778
|
||||
server-->>213070643358500:-READY FOR QUERY type=<IDLE>
|
||||
213070643358500->>server:+PARSE name='', num_params=0, params_type=, query=SET extra_float_digits = 3
|
||||
213070643358500->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358500->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358500->>server:+SYNC
|
||||
server-->>213070643358500:-PARSE COMPLETE
|
||||
server-->>213070643358500:-BIND COMPLETE
|
||||
server-->>213070643358500:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643358500:-READY FOR QUERY type=<IDLE>
|
||||
213070643358500->>server:+PARSE name='', num_params=0, params_type=, query=SET application_name = 'PostgreSQL JDBC Driver'
|
||||
213070643358500->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358500->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358500->>server:+SYNC
|
||||
server-->>213070643358500:-PARSE COMPLETE
|
||||
server-->>213070643358500:-BIND COMPLETE
|
||||
server-->>213070643358500:-PARAMETER STATUS name='application_name', value='PostgreSQL JDBC Driver'
|
||||
server-->>213070643358500:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643358500:-READY FOR QUERY type=<IDLE>
|
||||
213070643358500->>server:+PARSE name='', num_params=0, params_type=, query=
|
||||
213070643358500->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358500->>server:+DESCRIBE kind='P', name=''
|
||||
213070643358500->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358500->>server:+SYNC
|
||||
server-->>213070643358500:-PARSE COMPLETE
|
||||
server-->>213070643358500:-BIND COMPLETE
|
||||
server-->>213070643358500:-NO DATA
|
||||
server-->>213070643358500:-EMPTY QUERY RESPONSE
|
||||
server-->>213070643358500:-READY FOR QUERY type=<IDLE>
|
||||
213070643358500->>server:+DISCONNECT
|
||||
213070643358502->>server:+SSL REQUEST
|
||||
server-->>213070643358502:-SSL BACKEND ANSWER: N
|
||||
213070643358502->>server:+STARTUP MESSAGE version: 3 database=trait_store extra_float_digits=2 TimeZone=GMT client_encoding=UTF8 user=docker DateStyle=ISO
|
||||
server-->>213070643358502:-AUTHENTIFICATION REQUEST code=0 (SUCCESS)
|
||||
server-->>213070643358502:-PARAMETER STATUS name='application_name', value=''
|
||||
server-->>213070643358502:-PARAMETER STATUS name='client_encoding', value='UTF8'
|
||||
server-->>213070643358502:-PARAMETER STATUS name='DateStyle', value='ISO, MDY'
|
||||
server-->>213070643358502:-PARAMETER STATUS name='integer_datetimes', value='on'
|
||||
server-->>213070643358502:-PARAMETER STATUS name='IntervalStyle', value='postgres'
|
||||
server-->>213070643358502:-PARAMETER STATUS name='is_superuser', value='on'
|
||||
server-->>213070643358502:-PARAMETER STATUS name='server_encoding', value='UTF8'
|
||||
server-->>213070643358502:-PARAMETER STATUS name='server_version', value='13.0.0'
|
||||
server-->>213070643358502:-PARAMETER STATUS name='session_authorization', value='docker'
|
||||
server-->>213070643358502:-PARAMETER STATUS name='standard_conforming_strings', value='on'
|
||||
server-->>213070643358502:-PARAMETER STATUS name='TimeZone', value='GMT'
|
||||
server-->>213070643358502:-BACKEND KEY DATA pid=232586748, key=226557416
|
||||
server-->>213070643358502:-READY FOR QUERY type=<IDLE>
|
||||
213070643358502->>server:+PARSE name='', num_params=0, params_type=, query=SET extra_float_digits = 3
|
||||
213070643358502->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358502->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358502->>server:+SYNC
|
||||
server-->>213070643358502:-PARSE COMPLETE
|
||||
server-->>213070643358502:-BIND COMPLETE
|
||||
server-->>213070643358502:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643358502:-READY FOR QUERY type=<IDLE>
|
||||
213070643358502->>server:+PARSE name='', num_params=0, params_type=, query=SET application_name = 'PostgreSQL JDBC Driver'
|
||||
213070643358502->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358502->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358502->>server:+SYNC
|
||||
server-->>213070643358502:-PARSE COMPLETE
|
||||
server-->>213070643358502:-BIND COMPLETE
|
||||
server-->>213070643358502:-PARAMETER STATUS name='application_name', value='PostgreSQL JDBC Driver'
|
||||
server-->>213070643358502:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643358502:-READY FOR QUERY type=<IDLE>
|
||||
213070643358502->>server:+PARSE name='', num_params=0, params_type=, query=
|
||||
213070643358502->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358502->>server:+DESCRIBE kind='P', name=''
|
||||
213070643358502->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643358502->>server:+SYNC
|
||||
server-->>213070643358502:-PARSE COMPLETE
|
||||
server-->>213070643358502:-BIND COMPLETE
|
||||
server-->>213070643358502:-NO DATA
|
||||
server-->>213070643358502:-EMPTY QUERY RESPONSE
|
||||
server-->>213070643358502:-READY FOR QUERY type=<IDLE>
|
||||
213070643358502->>server:+PARSE name='', num_params=0, params_type=, query=SELECT VERSION() AS version
|
||||
213070643358502->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643358502->>server:+DESCRIBE kind='P', name=''
|
||||
213070643358502->>server:+EXECUTE name='', nb_rows=0
|
||||
213070643358502->>server:+SYNC
|
||||
server-->>213070643358502:-PARSE COMPLETE
|
||||
server-->>213070643358502:-BIND COMPLETE
|
||||
server-->>213070643358502:-ROW DESCRIPTION: num_fields=1 ---[Field 01]--- name='version' type=25 type_len=65535 type_mod=4294967295 relid=0 attnum=0 format=0
|
||||
server-->>213070643358502:-DATA ROW num_values=1 ---[Value 0001]--- length=27 value='PostgresSQL 13.0 (molecula)'
|
||||
server-->>213070643358502:-COMMAND COMPLETE command='SELECT'
|
||||
server-->>213070643358502:-READY FOR QUERY type=<IDLE>
|
||||
213070643358502->>server:+DISCONNECT
|
||||
```
|
||||
677
pg/lookerToPostgres.md
Normal file
677
pg/lookerToPostgres.md
Normal file
|
|
@ -0,0 +1,677 @@
|
|||
```mermaid
|
||||
sequenceDiagram
|
||||
|
||||
participant 213070643360888 as c0
|
||||
participant 213070643360892 as c1
|
||||
participant 213070643360896 as c2
|
||||
participant 213070643360900 as c3
|
||||
participant 213070643360904 as c4
|
||||
participant 213070643360908 as c5
|
||||
participant 213070643360912 as c6
|
||||
participant 213070643360916 as c7
|
||||
participant 213070643360920 as c8
|
||||
participant 213070643360924 as c9
|
||||
participant 213070643360928 as c10
|
||||
participant 213070643360932 as c11
|
||||
213070643360888->>server:+SSL REQUEST
|
||||
server-->>213070643360888:-SSL BACKEND ANSWER: N
|
||||
213070643360888->>server:+STARTUP MESSAGE version: 3 database=trait_store extra_float_digits=2 TimeZone=GMT client_encoding=UTF8 user=docker DateStyle=ISO
|
||||
server-->>213070643360888:-AUTHENTIFICATION REQUEST code=5 (MD5 salt='affbc4bf')
|
||||
213070643360888->>server:+PASSWORD MESSAGE password=md5de1ae46649b137ee14e14d8fd5fc6cb6
|
||||
server-->>213070643360888:-AUTHENTIFICATION REQUEST code=0 (SUCCESS)
|
||||
server-->>213070643360888:-PARAMETER STATUS name='application_name', value=''
|
||||
server-->>213070643360888:-PARAMETER STATUS name='client_encoding', value='UTF8'
|
||||
server-->>213070643360888:-PARAMETER STATUS name='DateStyle', value='ISO, MDY'
|
||||
server-->>213070643360888:-PARAMETER STATUS name='integer_datetimes', value='on'
|
||||
server-->>213070643360888:-PARAMETER STATUS name='IntervalStyle', value='postgres'
|
||||
server-->>213070643360888:-PARAMETER STATUS name='is_superuser', value='on'
|
||||
server-->>213070643360888:-PARAMETER STATUS name='server_encoding', value='UTF8'
|
||||
server-->>213070643360888:-PARAMETER STATUS name='server_version', value='13.3 (Debian 13.3-1.pgdg100+1)'
|
||||
server-->>213070643360888:-PARAMETER STATUS name='session_authorization', value='docker'
|
||||
server-->>213070643360888:-PARAMETER STATUS name='standard_conforming_strings', value='on'
|
||||
server-->>213070643360888:-PARAMETER STATUS name='TimeZone', value='GMT'
|
||||
server-->>213070643360888:-BACKEND KEY DATA pid=97, key=2120775944
|
||||
server-->>213070643360888:-READY FOR QUERY type=<IDLE>
|
||||
213070643360888->>server:+PARSE name='', num_params=0, params_type=, query=SET extra_float_digits = 3
|
||||
213070643360888->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360888->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360888->>server:+SYNC
|
||||
server-->>213070643360888:-PARSE COMPLETE
|
||||
server-->>213070643360888:-BIND COMPLETE
|
||||
server-->>213070643360888:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643360888:-READY FOR QUERY type=<IDLE>
|
||||
213070643360888->>server:+PARSE name='', num_params=0, params_type=, query=SET application_name = 'PostgreSQL JDBC Driver'
|
||||
213070643360888->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360888->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360888->>server:+SYNC
|
||||
server-->>213070643360888:-PARSE COMPLETE
|
||||
server-->>213070643360888:-BIND COMPLETE
|
||||
server-->>213070643360888:-PARAMETER STATUS name='application_name', value='PostgreSQL JDBC Driver'
|
||||
server-->>213070643360888:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643360888:-READY FOR QUERY type=<IDLE>
|
||||
213070643360888->>server:+PARSE name='', num_params=0, params_type=, query=
|
||||
213070643360888->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360888->>server:+DESCRIBE kind='P', name=''
|
||||
213070643360888->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360888->>server:+SYNC
|
||||
server-->>213070643360888:-PARSE COMPLETE
|
||||
server-->>213070643360888:-BIND COMPLETE
|
||||
server-->>213070643360888:-NO DATA
|
||||
server-->>213070643360888:-EMPTY QUERY RESPONSE
|
||||
server-->>213070643360888:-READY FOR QUERY type=<IDLE>
|
||||
213070643360888->>server:+DISCONNECT
|
||||
213070643360892->>server:+SSL REQUEST
|
||||
server-->>213070643360892:-SSL BACKEND ANSWER: N
|
||||
213070643360892->>server:+STARTUP MESSAGE version: 3 database=trait_store extra_float_digits=2 TimeZone=GMT client_encoding=UTF8 user=docker DateStyle=ISO
|
||||
server-->>213070643360892:-AUTHENTIFICATION REQUEST code=5 (MD5 salt='0b76ce86')
|
||||
213070643360892->>server:+PASSWORD MESSAGE password=md5b82e4b6283fe5694c0199ca058378bb8
|
||||
server-->>213070643360892:-AUTHENTIFICATION REQUEST code=0 (SUCCESS)
|
||||
server-->>213070643360892:-PARAMETER STATUS name='application_name', value=''
|
||||
server-->>213070643360892:-PARAMETER STATUS name='client_encoding', value='UTF8'
|
||||
server-->>213070643360892:-PARAMETER STATUS name='DateStyle', value='ISO, MDY'
|
||||
server-->>213070643360892:-PARAMETER STATUS name='integer_datetimes', value='on'
|
||||
server-->>213070643360892:-PARAMETER STATUS name='IntervalStyle', value='postgres'
|
||||
server-->>213070643360892:-PARAMETER STATUS name='is_superuser', value='on'
|
||||
server-->>213070643360892:-PARAMETER STATUS name='server_encoding', value='UTF8'
|
||||
server-->>213070643360892:-PARAMETER STATUS name='server_version', value='13.3 (Debian 13.3-1.pgdg100+1)'
|
||||
server-->>213070643360892:-PARAMETER STATUS name='session_authorization', value='docker'
|
||||
server-->>213070643360892:-PARAMETER STATUS name='standard_conforming_strings', value='on'
|
||||
server-->>213070643360892:-PARAMETER STATUS name='TimeZone', value='GMT'
|
||||
server-->>213070643360892:-BACKEND KEY DATA pid=98, key=1329847468
|
||||
server-->>213070643360892:-READY FOR QUERY type=<IDLE>
|
||||
213070643360892->>server:+PARSE name='', num_params=0, params_type=, query=SET extra_float_digits = 3
|
||||
213070643360892->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360892->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360892->>server:+SYNC
|
||||
server-->>213070643360892:-PARSE COMPLETE
|
||||
server-->>213070643360892:-BIND COMPLETE
|
||||
server-->>213070643360892:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643360892:-READY FOR QUERY type=<IDLE>
|
||||
213070643360892->>server:+PARSE name='', num_params=0, params_type=, query=SET application_name = 'PostgreSQL JDBC Driver'
|
||||
213070643360892->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360892->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360892->>server:+SYNC
|
||||
server-->>213070643360892:-PARSE COMPLETE
|
||||
server-->>213070643360892:-BIND COMPLETE
|
||||
server-->>213070643360892:-PARAMETER STATUS name='application_name', value='PostgreSQL JDBC Driver'
|
||||
server-->>213070643360892:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643360892:-READY FOR QUERY type=<IDLE>
|
||||
213070643360892->>server:+PARSE name='', num_params=0, params_type=, query=
|
||||
213070643360892->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360892->>server:+DESCRIBE kind='P', name=''
|
||||
213070643360892->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360892->>server:+SYNC
|
||||
server-->>213070643360892:-PARSE COMPLETE
|
||||
server-->>213070643360892:-BIND COMPLETE
|
||||
server-->>213070643360892:-NO DATA
|
||||
server-->>213070643360892:-EMPTY QUERY RESPONSE
|
||||
server-->>213070643360892:-READY FOR QUERY type=<IDLE>
|
||||
213070643360892->>server:+DISCONNECT
|
||||
213070643360896->>server:+SSL REQUEST
|
||||
server-->>213070643360896:-SSL BACKEND ANSWER: N
|
||||
213070643360896->>server:+STARTUP MESSAGE version: 3 database=trait_store extra_float_digits=2 TimeZone=GMT client_encoding=UTF8 user=docker DateStyle=ISO
|
||||
server-->>213070643360896:-AUTHENTIFICATION REQUEST code=5 (MD5 salt='80e88231')
|
||||
213070643360896->>server:+PASSWORD MESSAGE password=md59023db05ad8c94976359641cf0ada45a
|
||||
server-->>213070643360896:-AUTHENTIFICATION REQUEST code=0 (SUCCESS)
|
||||
server-->>213070643360896:-PARAMETER STATUS name='application_name', value=''
|
||||
server-->>213070643360896:-PARAMETER STATUS name='client_encoding', value='UTF8'
|
||||
server-->>213070643360896:-PARAMETER STATUS name='DateStyle', value='ISO, MDY'
|
||||
server-->>213070643360896:-PARAMETER STATUS name='integer_datetimes', value='on'
|
||||
server-->>213070643360896:-PARAMETER STATUS name='IntervalStyle', value='postgres'
|
||||
server-->>213070643360896:-PARAMETER STATUS name='is_superuser', value='on'
|
||||
server-->>213070643360896:-PARAMETER STATUS name='server_encoding', value='UTF8'
|
||||
server-->>213070643360896:-PARAMETER STATUS name='server_version', value='13.3 (Debian 13.3-1.pgdg100+1)'
|
||||
server-->>213070643360896:-PARAMETER STATUS name='session_authorization', value='docker'
|
||||
server-->>213070643360896:-PARAMETER STATUS name='standard_conforming_strings', value='on'
|
||||
server-->>213070643360896:-PARAMETER STATUS name='TimeZone', value='GMT'
|
||||
server-->>213070643360896:-BACKEND KEY DATA pid=99, key=1084480878
|
||||
server-->>213070643360896:-READY FOR QUERY type=<IDLE>
|
||||
213070643360896->>server:+PARSE name='', num_params=0, params_type=, query=SET extra_float_digits = 3
|
||||
213070643360896->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360896->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360896->>server:+SYNC
|
||||
server-->>213070643360896:-PARSE COMPLETE
|
||||
server-->>213070643360896:-BIND COMPLETE
|
||||
server-->>213070643360896:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643360896:-READY FOR QUERY type=<IDLE>
|
||||
213070643360896->>server:+PARSE name='', num_params=0, params_type=, query=SET application_name = 'PostgreSQL JDBC Driver'
|
||||
213070643360896->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360896->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360896->>server:+SYNC
|
||||
server-->>213070643360896:-PARSE COMPLETE
|
||||
server-->>213070643360896:-BIND COMPLETE
|
||||
server-->>213070643360896:-PARAMETER STATUS name='application_name', value='PostgreSQL JDBC Driver'
|
||||
server-->>213070643360896:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643360896:-READY FOR QUERY type=<IDLE>
|
||||
213070643360896->>server:+PARSE name='', num_params=0, params_type=, query=
|
||||
213070643360896->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360896->>server:+DESCRIBE kind='P', name=''
|
||||
213070643360896->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360896->>server:+SYNC
|
||||
server-->>213070643360896:-PARSE COMPLETE
|
||||
server-->>213070643360896:-BIND COMPLETE
|
||||
server-->>213070643360896:-NO DATA
|
||||
server-->>213070643360896:-EMPTY QUERY RESPONSE
|
||||
server-->>213070643360896:-READY FOR QUERY type=<IDLE>
|
||||
213070643360896->>server:+DISCONNECT
|
||||
213070643360900->>server:+SSL REQUEST
|
||||
server-->>213070643360900:-SSL BACKEND ANSWER: N
|
||||
213070643360900->>server:+STARTUP MESSAGE version: 3 database=trait_store extra_float_digits=2 TimeZone=GMT client_encoding=UTF8 user=docker DateStyle=ISO
|
||||
server-->>213070643360900:-AUTHENTIFICATION REQUEST code=5 (MD5 salt='68a07783')
|
||||
213070643360900->>server:+PASSWORD MESSAGE password=md5136c8b8ec47347f93827ec5d7023199c
|
||||
server-->>213070643360900:-AUTHENTIFICATION REQUEST code=0 (SUCCESS)
|
||||
server-->>213070643360900:-PARAMETER STATUS name='application_name', value=''
|
||||
server-->>213070643360900:-PARAMETER STATUS name='client_encoding', value='UTF8'
|
||||
server-->>213070643360900:-PARAMETER STATUS name='DateStyle', value='ISO, MDY'
|
||||
server-->>213070643360900:-PARAMETER STATUS name='integer_datetimes', value='on'
|
||||
server-->>213070643360900:-PARAMETER STATUS name='IntervalStyle', value='postgres'
|
||||
server-->>213070643360900:-PARAMETER STATUS name='is_superuser', value='on'
|
||||
server-->>213070643360900:-PARAMETER STATUS name='server_encoding', value='UTF8'
|
||||
server-->>213070643360900:-PARAMETER STATUS name='server_version', value='13.3 (Debian 13.3-1.pgdg100+1)'
|
||||
server-->>213070643360900:-PARAMETER STATUS name='session_authorization', value='docker'
|
||||
server-->>213070643360900:-PARAMETER STATUS name='standard_conforming_strings', value='on'
|
||||
server-->>213070643360900:-PARAMETER STATUS name='TimeZone', value='GMT'
|
||||
server-->>213070643360900:-BACKEND KEY DATA pid=100, key=594556468
|
||||
server-->>213070643360900:-READY FOR QUERY type=<IDLE>
|
||||
213070643360900->>server:+PARSE name='', num_params=0, params_type=, query=SET extra_float_digits = 3
|
||||
213070643360900->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360900->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360900->>server:+SYNC
|
||||
server-->>213070643360900:-PARSE COMPLETE
|
||||
server-->>213070643360900:-BIND COMPLETE
|
||||
server-->>213070643360900:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643360900:-READY FOR QUERY type=<IDLE>
|
||||
213070643360900->>server:+PARSE name='', num_params=0, params_type=, query=SET application_name = 'PostgreSQL JDBC Driver'
|
||||
213070643360900->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360900->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360900->>server:+SYNC
|
||||
server-->>213070643360900:-PARSE COMPLETE
|
||||
server-->>213070643360900:-BIND COMPLETE
|
||||
server-->>213070643360900:-PARAMETER STATUS name='application_name', value='PostgreSQL JDBC Driver'
|
||||
server-->>213070643360900:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643360900:-READY FOR QUERY type=<IDLE>
|
||||
213070643360900->>server:+PARSE name='', num_params=0, params_type=, query=
|
||||
213070643360900->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360900->>server:+DESCRIBE kind='P', name=''
|
||||
213070643360900->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360900->>server:+SYNC
|
||||
server-->>213070643360900:-PARSE COMPLETE
|
||||
server-->>213070643360900:-BIND COMPLETE
|
||||
server-->>213070643360900:-NO DATA
|
||||
server-->>213070643360900:-EMPTY QUERY RESPONSE
|
||||
server-->>213070643360900:-READY FOR QUERY type=<IDLE>
|
||||
213070643360900->>server:+PARSE name='', num_params=0, params_type=, query=SELECT pg_backend_pid()
|
||||
213070643360900->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360900->>server:+DESCRIBE kind='P', name=''
|
||||
213070643360900->>server:+EXECUTE name='', nb_rows=0
|
||||
213070643360900->>server:+SYNC
|
||||
server-->>213070643360900:-PARSE COMPLETE
|
||||
server-->>213070643360900:-BIND COMPLETE
|
||||
server-->>213070643360900:-ROW DESCRIPTION: num_fields=1 ---[Field 01]--- name='pg_backend_pid' type=23 type_len=4 type_mod=4294967295 relid=0 attnum=0 format=0
|
||||
server-->>213070643360900:-DATA ROW num_values=1 ---[Value 0001]--- length=3 value='100'
|
||||
server-->>213070643360900:-COMMAND COMPLETE command='SELECT 1'
|
||||
server-->>213070643360900:-READY FOR QUERY type=<IDLE>
|
||||
213070643360900->>server:+PARSE name='', num_params=0, params_type=, query=SELECT VERSION() AS version
|
||||
213070643360900->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360900->>server:+DESCRIBE kind='P', name=''
|
||||
213070643360900->>server:+EXECUTE name='', nb_rows=0
|
||||
213070643360900->>server:+SYNC
|
||||
server-->>213070643360900:-PARSE COMPLETE
|
||||
server-->>213070643360900:-BIND COMPLETE
|
||||
server-->>213070643360900:-ROW DESCRIPTION: num_fields=1 ---[Field 01]--- name='version' type=25 type_len=65535 type_mod=4294967295 relid=0 attnum=0 format=0
|
||||
server-->>213070643360900:-DATA ROW num_values=1 ---[Value 0001]--- length=112 value='PostgreSQL 13.3 (Debian 13.3-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit'
|
||||
server-->>213070643360900:-COMMAND COMPLETE command='SELECT 1'
|
||||
server-->>213070643360900:-READY FOR QUERY type=<IDLE>
|
||||
213070643360900->>server:+PARSE name='', num_params=0, params_type=, query= SELECT COUNT(*) FROM pg_type AS t0, pg_aggregate AS t1, pg_settings AS t2, pg_settings AS t3
|
||||
213070643360900->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360900->>server:+DESCRIBE kind='P', name=''
|
||||
213070643360900->>server:+EXECUTE name='', nb_rows=0
|
||||
213070643360900->>server:+SYNC
|
||||
213070643360904->>server:+SSL REQUEST
|
||||
server-->>213070643360904:-SSL BACKEND ANSWER: N
|
||||
213070643360904->>server:+STARTUP MESSAGE version: 3 database=trait_store extra_float_digits=2 TimeZone=GMT client_encoding=UTF8 user=docker DateStyle=ISO
|
||||
server-->>213070643360904:-AUTHENTIFICATION REQUEST code=5 (MD5 salt='a03ee692')
|
||||
213070643360904->>server:+PASSWORD MESSAGE password=md5cfedb52ae0cafa87a4f1066df3ba6802
|
||||
server-->>213070643360904:-AUTHENTIFICATION REQUEST code=0 (SUCCESS)
|
||||
server-->>213070643360904:-PARAMETER STATUS name='application_name', value=''
|
||||
server-->>213070643360904:-PARAMETER STATUS name='client_encoding', value='UTF8'
|
||||
server-->>213070643360904:-PARAMETER STATUS name='DateStyle', value='ISO, MDY'
|
||||
server-->>213070643360904:-PARAMETER STATUS name='integer_datetimes', value='on'
|
||||
server-->>213070643360904:-PARAMETER STATUS name='IntervalStyle', value='postgres'
|
||||
server-->>213070643360904:-PARAMETER STATUS name='is_superuser', value='on'
|
||||
server-->>213070643360904:-PARAMETER STATUS name='server_encoding', value='UTF8'
|
||||
server-->>213070643360904:-PARAMETER STATUS name='server_version', value='13.3 (Debian 13.3-1.pgdg100+1)'
|
||||
server-->>213070643360904:-PARAMETER STATUS name='session_authorization', value='docker'
|
||||
server-->>213070643360904:-PARAMETER STATUS name='standard_conforming_strings', value='on'
|
||||
server-->>213070643360904:-PARAMETER STATUS name='TimeZone', value='GMT'
|
||||
server-->>213070643360904:-BACKEND KEY DATA pid=101, key=2854304053
|
||||
server-->>213070643360904:-READY FOR QUERY type=<IDLE>
|
||||
213070643360904->>server:+PARSE name='', num_params=0, params_type=, query=SET extra_float_digits = 3
|
||||
213070643360904->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360904->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360904->>server:+SYNC
|
||||
server-->>213070643360904:-PARSE COMPLETE
|
||||
server-->>213070643360904:-BIND COMPLETE
|
||||
server-->>213070643360904:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643360904:-READY FOR QUERY type=<IDLE>
|
||||
213070643360904->>server:+PARSE name='', num_params=0, params_type=, query=SET application_name = 'PostgreSQL JDBC Driver'
|
||||
213070643360904->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360904->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360904->>server:+SYNC
|
||||
server-->>213070643360904:-PARSE COMPLETE
|
||||
server-->>213070643360904:-BIND COMPLETE
|
||||
server-->>213070643360904:-PARAMETER STATUS name='application_name', value='PostgreSQL JDBC Driver'
|
||||
server-->>213070643360904:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643360904:-READY FOR QUERY type=<IDLE>
|
||||
213070643360904->>server:+PARSE name='', num_params=0, params_type=, query=
|
||||
213070643360904->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360904->>server:+DESCRIBE kind='P', name=''
|
||||
213070643360904->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360904->>server:+SYNC
|
||||
server-->>213070643360904:-PARSE COMPLETE
|
||||
server-->>213070643360904:-BIND COMPLETE
|
||||
server-->>213070643360904:-NO DATA
|
||||
server-->>213070643360904:-EMPTY QUERY RESPONSE
|
||||
server-->>213070643360904:-READY FOR QUERY type=<IDLE>
|
||||
213070643360904->>server:+DISCONNECT
|
||||
213070643360908->>server:+SSL REQUEST
|
||||
server-->>213070643360908:-SSL BACKEND ANSWER: N
|
||||
213070643360908->>server:+STARTUP MESSAGE version: 3 database=trait_store extra_float_digits=2 TimeZone=GMT client_encoding=UTF8 user=docker DateStyle=ISO
|
||||
server-->>213070643360908:-AUTHENTIFICATION REQUEST code=5 (MD5 salt='be3afb9d')
|
||||
213070643360908->>server:+PASSWORD MESSAGE password=md57b5cfa30f89fc7733c814addcd548c03
|
||||
server-->>213070643360908:-AUTHENTIFICATION REQUEST code=0 (SUCCESS)
|
||||
server-->>213070643360908:-PARAMETER STATUS name='application_name', value=''
|
||||
server-->>213070643360908:-PARAMETER STATUS name='client_encoding', value='UTF8'
|
||||
server-->>213070643360908:-PARAMETER STATUS name='DateStyle', value='ISO, MDY'
|
||||
server-->>213070643360908:-PARAMETER STATUS name='integer_datetimes', value='on'
|
||||
server-->>213070643360908:-PARAMETER STATUS name='IntervalStyle', value='postgres'
|
||||
server-->>213070643360908:-PARAMETER STATUS name='is_superuser', value='on'
|
||||
server-->>213070643360908:-PARAMETER STATUS name='server_encoding', value='UTF8'
|
||||
server-->>213070643360908:-PARAMETER STATUS name='server_version', value='13.3 (Debian 13.3-1.pgdg100+1)'
|
||||
server-->>213070643360908:-PARAMETER STATUS name='session_authorization', value='docker'
|
||||
server-->>213070643360908:-PARAMETER STATUS name='standard_conforming_strings', value='on'
|
||||
server-->>213070643360908:-PARAMETER STATUS name='TimeZone', value='GMT'
|
||||
server-->>213070643360908:-BACKEND KEY DATA pid=102, key=3089396074
|
||||
server-->>213070643360908:-READY FOR QUERY type=<IDLE>
|
||||
213070643360908->>server:+PARSE name='', num_params=0, params_type=, query=SET extra_float_digits = 3
|
||||
213070643360908->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360908->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360908->>server:+SYNC
|
||||
server-->>213070643360908:-PARSE COMPLETE
|
||||
server-->>213070643360908:-BIND COMPLETE
|
||||
server-->>213070643360908:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643360908:-READY FOR QUERY type=<IDLE>
|
||||
213070643360908->>server:+PARSE name='', num_params=0, params_type=, query=SET application_name = 'PostgreSQL JDBC Driver'
|
||||
213070643360908->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360908->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360908->>server:+SYNC
|
||||
server-->>213070643360908:-PARSE COMPLETE
|
||||
server-->>213070643360908:-BIND COMPLETE
|
||||
server-->>213070643360908:-PARAMETER STATUS name='application_name', value='PostgreSQL JDBC Driver'
|
||||
server-->>213070643360908:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643360908:-READY FOR QUERY type=<IDLE>
|
||||
213070643360908->>server:+PARSE name='', num_params=0, params_type=, query=
|
||||
213070643360908->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360908->>server:+DESCRIBE kind='P', name=''
|
||||
213070643360908->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360908->>server:+SYNC
|
||||
server-->>213070643360908:-PARSE COMPLETE
|
||||
server-->>213070643360908:-BIND COMPLETE
|
||||
server-->>213070643360908:-NO DATA
|
||||
server-->>213070643360908:-EMPTY QUERY RESPONSE
|
||||
server-->>213070643360908:-READY FOR QUERY type=<IDLE>
|
||||
213070643360908->>server:+PARSE name='', num_params=0, params_type=, query=SELECT VERSION() AS version
|
||||
213070643360908->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360908->>server:+DESCRIBE kind='P', name=''
|
||||
213070643360908->>server:+EXECUTE name='', nb_rows=0
|
||||
213070643360908->>server:+SYNC
|
||||
server-->>213070643360908:-PARSE COMPLETE
|
||||
server-->>213070643360908:-BIND COMPLETE
|
||||
server-->>213070643360908:-ROW DESCRIPTION: num_fields=1 ---[Field 01]--- name='version' type=25 type_len=65535 type_mod=4294967295 relid=0 attnum=0 format=0
|
||||
server-->>213070643360908:-DATA ROW num_values=1 ---[Value 0001]--- length=112 value='PostgreSQL 13.3 (Debian 13.3-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit'
|
||||
server-->>213070643360908:-COMMAND COMPLETE command='SELECT 1'
|
||||
server-->>213070643360908:-READY FOR QUERY type=<IDLE>
|
||||
213070643360908->>server:+PARSE name='', num_params=0, params_type=, query=
|
||||
213070643360908->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360908->>server:+DESCRIBE kind='P', name=''
|
||||
213070643360908->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360908->>server:+SYNC
|
||||
server-->>213070643360908:-PARSE COMPLETE
|
||||
server-->>213070643360908:-BIND COMPLETE
|
||||
server-->>213070643360908:-NO DATA
|
||||
server-->>213070643360908:-EMPTY QUERY RESPONSE
|
||||
server-->>213070643360908:-READY FOR QUERY type=<IDLE>
|
||||
213070643360908->>server:+PARSE name='', num_params=0, params_type=, query= SELECT pid as id, query as stmt, EXTRACT(seconds from query_start - NOW()) as elapsed_time FROM pg_stat_activity WHERE usename='docker'
|
||||
213070643360908->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360908->>server:+DESCRIBE kind='P', name=''
|
||||
213070643360908->>server:+EXECUTE name='', nb_rows=0
|
||||
213070643360908->>server:+SYNC
|
||||
server-->>213070643360908:-PARSE COMPLETE
|
||||
server-->>213070643360908:-BIND COMPLETE
|
||||
server-->>213070643360908:-ROW DESCRIPTION: num_fields=3 ---[Field 01]--- name='id' type=23 type_len=4 type_mod=4294967295 relid=12250 attnum=3 format=0 ---[Field 02]--- name='stmt' type=25 type_len=65535 type_mod=4294967295 relid=12250 attnum=20 format=0 ---[Field 03]--- name='elapsed_time' type=701 type_len=8 type_mod=4294967295 relid=0 attnum=0 format=0
|
||||
server-->>213070643360908:-DATA ROW num_values=3 ---[Value 0001]--- length=2 value='81' ---[Value 0002]--- length=0 value='' ---[Value 0003]--- length=-1 value=NULL
|
||||
server-->>213070643360908:-DATA ROW num_values=3 ---[Value 0001]--- length=3 value='100' ---[Value 0002]--- length=148 value=' SELECT COUNT(*). FROM pg_type AS t0,. pg_aggregate AS t1,. pg_settings AS t2,. pg_settings AS t3.' ---[Value 0003]--- length=9 value='-1.155449'
|
||||
server-->>213070643360908:-DATA ROW num_values=3 ---[Value 0001]--- length=3 value='102' ---[Value 0002]--- length=190 value=' SELECT pid as id,. query as stmt,. EXTRACT(seconds from query_start - NOW()) as elapsed_time. FROM pg_stat_activity. WHERE usename='docker'.' ---[Value 0003]--- length=8 value='0.002903'
|
||||
server-->>213070643360908:-COMMAND COMPLETE command='SELECT 3'
|
||||
server-->>213070643360908:-READY FOR QUERY type=<IDLE>
|
||||
213070643360912->>server:+SSL REQUEST
|
||||
server-->>213070643360912:-SSL BACKEND ANSWER: N
|
||||
213070643360912->>server:+STARTUP MESSAGE version: 3 database=trait_store extra_float_digits=2 TimeZone=GMT client_encoding=UTF8 user=docker DateStyle=ISO
|
||||
server-->>213070643360912:-AUTHENTIFICATION REQUEST code=5 (MD5 salt='14444412')
|
||||
213070643360912->>server:+PASSWORD MESSAGE password=md59cef18c88b7988d7ac2f215fc1569c62
|
||||
server-->>213070643360912:-AUTHENTIFICATION REQUEST code=0 (SUCCESS)
|
||||
server-->>213070643360912:-PARAMETER STATUS name='application_name', value=''
|
||||
server-->>213070643360912:-PARAMETER STATUS name='client_encoding', value='UTF8'
|
||||
server-->>213070643360912:-PARAMETER STATUS name='DateStyle', value='ISO, MDY'
|
||||
server-->>213070643360912:-PARAMETER STATUS name='integer_datetimes', value='on'
|
||||
server-->>213070643360912:-PARAMETER STATUS name='IntervalStyle', value='postgres'
|
||||
server-->>213070643360912:-PARAMETER STATUS name='is_superuser', value='on'
|
||||
server-->>213070643360912:-PARAMETER STATUS name='server_encoding', value='UTF8'
|
||||
server-->>213070643360912:-PARAMETER STATUS name='server_version', value='13.3 (Debian 13.3-1.pgdg100+1)'
|
||||
server-->>213070643360912:-PARAMETER STATUS name='session_authorization', value='docker'
|
||||
server-->>213070643360912:-PARAMETER STATUS name='standard_conforming_strings', value='on'
|
||||
server-->>213070643360912:-PARAMETER STATUS name='TimeZone', value='GMT'
|
||||
server-->>213070643360912:-BACKEND KEY DATA pid=103, key=1911102642
|
||||
server-->>213070643360912:-READY FOR QUERY type=<IDLE>
|
||||
213070643360912->>server:+PARSE name='', num_params=0, params_type=, query=SET extra_float_digits = 3
|
||||
213070643360912->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360912->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360912->>server:+SYNC
|
||||
server-->>213070643360912:-PARSE COMPLETE
|
||||
server-->>213070643360912:-BIND COMPLETE
|
||||
server-->>213070643360912:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643360912:-READY FOR QUERY type=<IDLE>
|
||||
213070643360912->>server:+PARSE name='', num_params=0, params_type=, query=SET application_name = 'PostgreSQL JDBC Driver'
|
||||
213070643360912->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360912->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360912->>server:+SYNC
|
||||
server-->>213070643360912:-PARSE COMPLETE
|
||||
server-->>213070643360912:-BIND COMPLETE
|
||||
server-->>213070643360912:-PARAMETER STATUS name='application_name', value='PostgreSQL JDBC Driver'
|
||||
server-->>213070643360912:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643360912:-READY FOR QUERY type=<IDLE>
|
||||
213070643360912->>server:+PARSE name='', num_params=0, params_type=, query=
|
||||
213070643360912->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360912->>server:+DESCRIBE kind='P', name=''
|
||||
213070643360912->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360912->>server:+SYNC
|
||||
server-->>213070643360912:-PARSE COMPLETE
|
||||
server-->>213070643360912:-BIND COMPLETE
|
||||
server-->>213070643360912:-NO DATA
|
||||
server-->>213070643360912:-EMPTY QUERY RESPONSE
|
||||
server-->>213070643360912:-READY FOR QUERY type=<IDLE>
|
||||
213070643360912->>server:+DISCONNECT
|
||||
213070643360916->>server:+SSL REQUEST
|
||||
server-->>213070643360916:-SSL BACKEND ANSWER: N
|
||||
213070643360916->>server:+STARTUP MESSAGE version: 3 database=trait_store extra_float_digits=2 TimeZone=GMT client_encoding=UTF8 user=docker DateStyle=ISO
|
||||
server-->>213070643360916:-AUTHENTIFICATION REQUEST code=5 (MD5 salt='9eb7546f')
|
||||
213070643360916->>server:+PASSWORD MESSAGE password=md5c7655226306ab14fa17e44dba876a348
|
||||
server-->>213070643360916:-AUTHENTIFICATION REQUEST code=0 (SUCCESS)
|
||||
server-->>213070643360916:-PARAMETER STATUS name='application_name', value=''
|
||||
server-->>213070643360916:-PARAMETER STATUS name='client_encoding', value='UTF8'
|
||||
server-->>213070643360916:-PARAMETER STATUS name='DateStyle', value='ISO, MDY'
|
||||
server-->>213070643360916:-PARAMETER STATUS name='integer_datetimes', value='on'
|
||||
server-->>213070643360916:-PARAMETER STATUS name='IntervalStyle', value='postgres'
|
||||
server-->>213070643360916:-PARAMETER STATUS name='is_superuser', value='on'
|
||||
server-->>213070643360916:-PARAMETER STATUS name='server_encoding', value='UTF8'
|
||||
server-->>213070643360916:-PARAMETER STATUS name='server_version', value='13.3 (Debian 13.3-1.pgdg100+1)'
|
||||
server-->>213070643360916:-PARAMETER STATUS name='session_authorization', value='docker'
|
||||
server-->>213070643360916:-PARAMETER STATUS name='standard_conforming_strings', value='on'
|
||||
server-->>213070643360916:-PARAMETER STATUS name='TimeZone', value='GMT'
|
||||
server-->>213070643360916:-BACKEND KEY DATA pid=104, key=927987783
|
||||
server-->>213070643360916:-READY FOR QUERY type=<IDLE>
|
||||
213070643360916->>server:+PARSE name='', num_params=0, params_type=, query=SET extra_float_digits = 3
|
||||
213070643360916->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360916->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360916->>server:+SYNC
|
||||
server-->>213070643360916:-PARSE COMPLETE
|
||||
server-->>213070643360916:-BIND COMPLETE
|
||||
server-->>213070643360916:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643360916:-READY FOR QUERY type=<IDLE>
|
||||
213070643360916->>server:+PARSE name='', num_params=0, params_type=, query=SET application_name = 'PostgreSQL JDBC Driver'
|
||||
213070643360916->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360916->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360916->>server:+SYNC
|
||||
server-->>213070643360916:-PARSE COMPLETE
|
||||
server-->>213070643360916:-BIND COMPLETE
|
||||
server-->>213070643360916:-PARAMETER STATUS name='application_name', value='PostgreSQL JDBC Driver'
|
||||
server-->>213070643360916:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643360916:-READY FOR QUERY type=<IDLE>
|
||||
213070643360916->>server:+PARSE name='', num_params=0, params_type=, query=
|
||||
213070643360916->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360916->>server:+DESCRIBE kind='P', name=''
|
||||
213070643360916->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360916->>server:+SYNC
|
||||
server-->>213070643360916:-PARSE COMPLETE
|
||||
server-->>213070643360916:-BIND COMPLETE
|
||||
server-->>213070643360916:-NO DATA
|
||||
server-->>213070643360916:-EMPTY QUERY RESPONSE
|
||||
server-->>213070643360916:-READY FOR QUERY type=<IDLE>
|
||||
213070643360916->>server:+PARSE name='', num_params=0, params_type=, query=select pg_terminate_backend(100)
|
||||
213070643360916->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360916->>server:+DESCRIBE kind='P', name=''
|
||||
213070643360916->>server:+EXECUTE name='', nb_rows=0
|
||||
213070643360916->>server:+SYNC
|
||||
server-->>213070643360916:-PARSE COMPLETE
|
||||
server-->>213070643360916:-BIND COMPLETE
|
||||
server-->>213070643360916:-ROW DESCRIPTION: num_fields=1 ---[Field 01]--- name='pg_terminate_backend' type=16 type_len=1 type_mod=4294967295 relid=0 attnum=0 format=0
|
||||
server-->>213070643360916:-DATA ROW num_values=1 ---[Value 0001]--- length=1 value='t'
|
||||
server-->>213070643360916:-COMMAND COMPLETE command='SELECT 1'
|
||||
server-->>213070643360916:-READY FOR QUERY type=<IDLE>
|
||||
server-->>213070643360900:-PARSE COMPLETE
|
||||
server-->>213070643360900:-BIND COMPLETE
|
||||
server-->>213070643360900:-ROW DESCRIPTION: num_fields=1 ---[Field 01]--- name='count' type=20 type_len=8 type_mod=4294967295 relid=0 attnum=0 format=0
|
||||
server-->>213070643360900:-ERROR RESPONSE File: 'postgres.c' Severity: 'FATAL' Message: 'terminating connection due to administrator command' Code: '57P01' Routine: 'ProcessInterrupts' Line: '3090'
|
||||
213070643360908->>server:+DISCONNECT
|
||||
213070643360916->>server:+DISCONNECT
|
||||
213070643360920->>server:+SSL REQUEST
|
||||
server-->>213070643360920:-SSL BACKEND ANSWER: N
|
||||
213070643360920->>server:+STARTUP MESSAGE version: 3 database=trait_store extra_float_digits=2 TimeZone=GMT client_encoding=UTF8 user=docker DateStyle=ISO
|
||||
server-->>213070643360920:-AUTHENTIFICATION REQUEST code=5 (MD5 salt='1ad4dcf7')
|
||||
213070643360920->>server:+PASSWORD MESSAGE password=md554de511c5219f67a8bbe92da445fa5a2
|
||||
server-->>213070643360920:-AUTHENTIFICATION REQUEST code=0 (SUCCESS)
|
||||
server-->>213070643360920:-PARAMETER STATUS name='application_name', value=''
|
||||
server-->>213070643360920:-PARAMETER STATUS name='client_encoding', value='UTF8'
|
||||
server-->>213070643360920:-PARAMETER STATUS name='DateStyle', value='ISO, MDY'
|
||||
server-->>213070643360920:-PARAMETER STATUS name='integer_datetimes', value='on'
|
||||
server-->>213070643360920:-PARAMETER STATUS name='IntervalStyle', value='postgres'
|
||||
server-->>213070643360920:-PARAMETER STATUS name='is_superuser', value='on'
|
||||
server-->>213070643360920:-PARAMETER STATUS name='server_encoding', value='UTF8'
|
||||
server-->>213070643360920:-PARAMETER STATUS name='server_version', value='13.3 (Debian 13.3-1.pgdg100+1)'
|
||||
server-->>213070643360920:-PARAMETER STATUS name='session_authorization', value='docker'
|
||||
server-->>213070643360920:-PARAMETER STATUS name='standard_conforming_strings', value='on'
|
||||
server-->>213070643360920:-PARAMETER STATUS name='TimeZone', value='GMT'
|
||||
server-->>213070643360920:-BACKEND KEY DATA pid=105, key=3630332440
|
||||
server-->>213070643360920:-READY FOR QUERY type=<IDLE>
|
||||
213070643360920->>server:+PARSE name='', num_params=0, params_type=, query=SET extra_float_digits = 3
|
||||
213070643360920->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360920->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360920->>server:+SYNC
|
||||
server-->>213070643360920:-PARSE COMPLETE
|
||||
server-->>213070643360920:-BIND COMPLETE
|
||||
server-->>213070643360920:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643360920:-READY FOR QUERY type=<IDLE>
|
||||
213070643360920->>server:+PARSE name='', num_params=0, params_type=, query=SET application_name = 'PostgreSQL JDBC Driver'
|
||||
213070643360920->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360920->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360920->>server:+SYNC
|
||||
server-->>213070643360920:-PARSE COMPLETE
|
||||
server-->>213070643360920:-BIND COMPLETE
|
||||
server-->>213070643360920:-PARAMETER STATUS name='application_name', value='PostgreSQL JDBC Driver'
|
||||
server-->>213070643360920:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643360920:-READY FOR QUERY type=<IDLE>
|
||||
213070643360920->>server:+PARSE name='', num_params=0, params_type=, query=
|
||||
213070643360920->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360920->>server:+DESCRIBE kind='P', name=''
|
||||
213070643360920->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360920->>server:+SYNC
|
||||
server-->>213070643360920:-PARSE COMPLETE
|
||||
server-->>213070643360920:-BIND COMPLETE
|
||||
server-->>213070643360920:-NO DATA
|
||||
server-->>213070643360920:-EMPTY QUERY RESPONSE
|
||||
server-->>213070643360920:-READY FOR QUERY type=<IDLE>
|
||||
213070643360920->>server:+DISCONNECT
|
||||
213070643360924->>server:+SSL REQUEST
|
||||
server-->>213070643360924:-SSL BACKEND ANSWER: N
|
||||
213070643360924->>server:+STARTUP MESSAGE version: 3 database=trait_store extra_float_digits=2 TimeZone=GMT client_encoding=UTF8 user=docker DateStyle=ISO
|
||||
server-->>213070643360924:-AUTHENTIFICATION REQUEST code=5 (MD5 salt='494c352f')
|
||||
213070643360924->>server:+PASSWORD MESSAGE password=md5919fc9ed056904fa0d8e1dd00625a556
|
||||
server-->>213070643360924:-AUTHENTIFICATION REQUEST code=0 (SUCCESS)
|
||||
server-->>213070643360924:-PARAMETER STATUS name='application_name', value=''
|
||||
server-->>213070643360924:-PARAMETER STATUS name='client_encoding', value='UTF8'
|
||||
server-->>213070643360924:-PARAMETER STATUS name='DateStyle', value='ISO, MDY'
|
||||
server-->>213070643360924:-PARAMETER STATUS name='integer_datetimes', value='on'
|
||||
server-->>213070643360924:-PARAMETER STATUS name='IntervalStyle', value='postgres'
|
||||
server-->>213070643360924:-PARAMETER STATUS name='is_superuser', value='on'
|
||||
server-->>213070643360924:-PARAMETER STATUS name='server_encoding', value='UTF8'
|
||||
server-->>213070643360924:-PARAMETER STATUS name='server_version', value='13.3 (Debian 13.3-1.pgdg100+1)'
|
||||
server-->>213070643360924:-PARAMETER STATUS name='session_authorization', value='docker'
|
||||
server-->>213070643360924:-PARAMETER STATUS name='standard_conforming_strings', value='on'
|
||||
server-->>213070643360924:-PARAMETER STATUS name='TimeZone', value='GMT'
|
||||
server-->>213070643360924:-BACKEND KEY DATA pid=106, key=3364308023
|
||||
server-->>213070643360924:-READY FOR QUERY type=<IDLE>
|
||||
213070643360924->>server:+PARSE name='', num_params=0, params_type=, query=SET extra_float_digits = 3
|
||||
213070643360924->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360924->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360924->>server:+SYNC
|
||||
server-->>213070643360924:-PARSE COMPLETE
|
||||
server-->>213070643360924:-BIND COMPLETE
|
||||
server-->>213070643360924:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643360924:-READY FOR QUERY type=<IDLE>
|
||||
213070643360924->>server:+PARSE name='', num_params=0, params_type=, query=SET application_name = 'PostgreSQL JDBC Driver'
|
||||
213070643360924->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360924->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360924->>server:+SYNC
|
||||
server-->>213070643360924:-PARSE COMPLETE
|
||||
server-->>213070643360924:-BIND COMPLETE
|
||||
server-->>213070643360924:-PARAMETER STATUS name='application_name', value='PostgreSQL JDBC Driver'
|
||||
server-->>213070643360924:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643360924:-READY FOR QUERY type=<IDLE>
|
||||
213070643360924->>server:+PARSE name='', num_params=0, params_type=, query=
|
||||
213070643360924->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360924->>server:+DESCRIBE kind='P', name=''
|
||||
213070643360924->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360924->>server:+SYNC
|
||||
server-->>213070643360924:-PARSE COMPLETE
|
||||
server-->>213070643360924:-BIND COMPLETE
|
||||
server-->>213070643360924:-NO DATA
|
||||
server-->>213070643360924:-EMPTY QUERY RESPONSE
|
||||
server-->>213070643360924:-READY FOR QUERY type=<IDLE>
|
||||
213070643360924->>server:+PARSE name='', num_params=0, params_type=, query=SELECT 1
|
||||
213070643360924->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360924->>server:+DESCRIBE kind='P', name=''
|
||||
213070643360924->>server:+EXECUTE name='', nb_rows=0
|
||||
213070643360924->>server:+SYNC
|
||||
server-->>213070643360924:-PARSE COMPLETE
|
||||
server-->>213070643360924:-BIND COMPLETE
|
||||
server-->>213070643360924:-ROW DESCRIPTION: num_fields=1 ---[Field 01]--- name='?column?' type=23 type_len=4 type_mod=4294967295 relid=0 attnum=0 format=0
|
||||
server-->>213070643360924:-DATA ROW num_values=1 ---[Value 0001]--- length=1 value='1'
|
||||
server-->>213070643360924:-COMMAND COMPLETE command='SELECT 1'
|
||||
server-->>213070643360924:-READY FOR QUERY type=<IDLE>
|
||||
213070643360924->>server:+DISCONNECT
|
||||
213070643360928->>server:+SSL REQUEST
|
||||
server-->>213070643360928:-SSL BACKEND ANSWER: N
|
||||
213070643360928->>server:+STARTUP MESSAGE version: 3 database=trait_store extra_float_digits=2 TimeZone=GMT client_encoding=UTF8 user=docker DateStyle=ISO
|
||||
server-->>213070643360928:-AUTHENTIFICATION REQUEST code=5 (MD5 salt='4b2173db')
|
||||
213070643360928->>server:+PASSWORD MESSAGE password=md53977c39c5c7cdef7f80e74b256a8ce25
|
||||
server-->>213070643360928:-AUTHENTIFICATION REQUEST code=0 (SUCCESS)
|
||||
server-->>213070643360928:-PARAMETER STATUS name='application_name', value=''
|
||||
server-->>213070643360928:-PARAMETER STATUS name='client_encoding', value='UTF8'
|
||||
server-->>213070643360928:-PARAMETER STATUS name='DateStyle', value='ISO, MDY'
|
||||
server-->>213070643360928:-PARAMETER STATUS name='integer_datetimes', value='on'
|
||||
server-->>213070643360928:-PARAMETER STATUS name='IntervalStyle', value='postgres'
|
||||
server-->>213070643360928:-PARAMETER STATUS name='is_superuser', value='on'
|
||||
server-->>213070643360928:-PARAMETER STATUS name='server_encoding', value='UTF8'
|
||||
server-->>213070643360928:-PARAMETER STATUS name='server_version', value='13.3 (Debian 13.3-1.pgdg100+1)'
|
||||
server-->>213070643360928:-PARAMETER STATUS name='session_authorization', value='docker'
|
||||
server-->>213070643360928:-PARAMETER STATUS name='standard_conforming_strings', value='on'
|
||||
server-->>213070643360928:-PARAMETER STATUS name='TimeZone', value='GMT'
|
||||
server-->>213070643360928:-BACKEND KEY DATA pid=107, key=1988416582
|
||||
server-->>213070643360928:-READY FOR QUERY type=<IDLE>
|
||||
213070643360928->>server:+PARSE name='', num_params=0, params_type=, query=SET extra_float_digits = 3
|
||||
213070643360928->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360928->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360928->>server:+SYNC
|
||||
server-->>213070643360928:-PARSE COMPLETE
|
||||
server-->>213070643360928:-BIND COMPLETE
|
||||
server-->>213070643360928:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643360928:-READY FOR QUERY type=<IDLE>
|
||||
213070643360928->>server:+PARSE name='', num_params=0, params_type=, query=SET application_name = 'PostgreSQL JDBC Driver'
|
||||
213070643360928->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360928->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360928->>server:+SYNC
|
||||
server-->>213070643360928:-PARSE COMPLETE
|
||||
server-->>213070643360928:-BIND COMPLETE
|
||||
server-->>213070643360928:-PARAMETER STATUS name='application_name', value='PostgreSQL JDBC Driver'
|
||||
server-->>213070643360928:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643360928:-READY FOR QUERY type=<IDLE>
|
||||
213070643360928->>server:+PARSE name='', num_params=0, params_type=, query=
|
||||
213070643360928->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360928->>server:+DESCRIBE kind='P', name=''
|
||||
213070643360928->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360928->>server:+SYNC
|
||||
server-->>213070643360928:-PARSE COMPLETE
|
||||
server-->>213070643360928:-BIND COMPLETE
|
||||
server-->>213070643360928:-NO DATA
|
||||
server-->>213070643360928:-EMPTY QUERY RESPONSE
|
||||
server-->>213070643360928:-READY FOR QUERY type=<IDLE>
|
||||
213070643360928->>server:+DISCONNECT
|
||||
213070643360932->>server:+SSL REQUEST
|
||||
server-->>213070643360932:-SSL BACKEND ANSWER: N
|
||||
213070643360932->>server:+STARTUP MESSAGE version: 3 database=trait_store extra_float_digits=2 TimeZone=GMT client_encoding=UTF8 user=docker DateStyle=ISO
|
||||
server-->>213070643360932:-AUTHENTIFICATION REQUEST code=5 (MD5 salt='f6d0f51d')
|
||||
213070643360932->>server:+PASSWORD MESSAGE password=md5b5b322fe9bcc7c242c6b44cc8a7898e8
|
||||
server-->>213070643360932:-AUTHENTIFICATION REQUEST code=0 (SUCCESS)
|
||||
server-->>213070643360932:-PARAMETER STATUS name='application_name', value=''
|
||||
server-->>213070643360932:-PARAMETER STATUS name='client_encoding', value='UTF8'
|
||||
server-->>213070643360932:-PARAMETER STATUS name='DateStyle', value='ISO, MDY'
|
||||
server-->>213070643360932:-PARAMETER STATUS name='integer_datetimes', value='on'
|
||||
server-->>213070643360932:-PARAMETER STATUS name='IntervalStyle', value='postgres'
|
||||
server-->>213070643360932:-PARAMETER STATUS name='is_superuser', value='on'
|
||||
server-->>213070643360932:-PARAMETER STATUS name='server_encoding', value='UTF8'
|
||||
server-->>213070643360932:-PARAMETER STATUS name='server_version', value='13.3 (Debian 13.3-1.pgdg100+1)'
|
||||
server-->>213070643360932:-PARAMETER STATUS name='session_authorization', value='docker'
|
||||
server-->>213070643360932:-PARAMETER STATUS name='standard_conforming_strings', value='on'
|
||||
server-->>213070643360932:-PARAMETER STATUS name='TimeZone', value='GMT'
|
||||
server-->>213070643360932:-BACKEND KEY DATA pid=108, key=997991029
|
||||
server-->>213070643360932:-READY FOR QUERY type=<IDLE>
|
||||
213070643360932->>server:+PARSE name='', num_params=0, params_type=, query=SET extra_float_digits = 3
|
||||
213070643360932->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360932->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360932->>server:+SYNC
|
||||
server-->>213070643360932:-PARSE COMPLETE
|
||||
server-->>213070643360932:-BIND COMPLETE
|
||||
server-->>213070643360932:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643360932:-READY FOR QUERY type=<IDLE>
|
||||
213070643360932->>server:+PARSE name='', num_params=0, params_type=, query=SET application_name = 'PostgreSQL JDBC Driver'
|
||||
213070643360932->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360932->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360932->>server:+SYNC
|
||||
server-->>213070643360932:-PARSE COMPLETE
|
||||
server-->>213070643360932:-BIND COMPLETE
|
||||
server-->>213070643360932:-PARAMETER STATUS name='application_name', value='PostgreSQL JDBC Driver'
|
||||
server-->>213070643360932:-COMMAND COMPLETE command='SET'
|
||||
server-->>213070643360932:-READY FOR QUERY type=<IDLE>
|
||||
213070643360932->>server:+PARSE name='', num_params=0, params_type=, query=
|
||||
213070643360932->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360932->>server:+DESCRIBE kind='P', name=''
|
||||
213070643360932->>server:+EXECUTE name='', nb_rows=1
|
||||
213070643360932->>server:+SYNC
|
||||
server-->>213070643360932:-PARSE COMPLETE
|
||||
server-->>213070643360932:-BIND COMPLETE
|
||||
server-->>213070643360932:-NO DATA
|
||||
server-->>213070643360932:-EMPTY QUERY RESPONSE
|
||||
server-->>213070643360932:-READY FOR QUERY type=<IDLE>
|
||||
213070643360932->>server:+PARSE name='', num_params=0, params_type=, query=SELECT VERSION() AS version
|
||||
213070643360932->>server:+BIND portal='', name='', num_formats=0, formats=, num_params=0, params=
|
||||
213070643360932->>server:+DESCRIBE kind='P', name=''
|
||||
213070643360932->>server:+EXECUTE name='', nb_rows=0
|
||||
213070643360932->>server:+SYNC
|
||||
server-->>213070643360932:-PARSE COMPLETE
|
||||
server-->>213070643360932:-BIND COMPLETE
|
||||
server-->>213070643360932:-ROW DESCRIPTION: num_fields=1 ---[Field 01]--- name='version' type=25 type_len=65535 type_mod=4294967295 relid=0 attnum=0 format=0
|
||||
server-->>213070643360932:-DATA ROW num_values=1 ---[Value 0001]--- length=112 value='PostgreSQL 13.3 (Debian 13.3-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit'
|
||||
server-->>213070643360932:-COMMAND COMPLETE command='SELECT 1'
|
||||
server-->>213070643360932:-READY FOR QUERY type=<IDLE>
|
||||
213070643360932->>server:+DISCONNECT
|
||||
```
|
||||
|
|
@ -18,6 +18,7 @@ import (
|
|||
"bufio"
|
||||
"encoding/binary"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
)
|
||||
|
||||
|
|
@ -92,6 +93,7 @@ type WireWriter struct {
|
|||
|
||||
// WriteMessage writes a message onto the wire.
|
||||
func (w *WireWriter) WriteMessage(message Message) error {
|
||||
fmt.Printf("SendToClient %c (%d)\n", message.Type, len(message.Data))
|
||||
if uint(len(message.Data))+4 >= 1<<31 {
|
||||
return ErrMessageTooBig
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ package message
|
|||
import (
|
||||
"bytes"
|
||||
"encoding/binary"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
// Type is a byte indicating the type of a Postgres message.
|
||||
|
|
@ -29,11 +30,11 @@ const (
|
|||
// TypeReadyForQuery is a message used to indicate that the server is ready for another query.
|
||||
TypeReadyForQuery Type = 'Z'
|
||||
|
||||
// TypeCommandComplete is a message used to indicate that a query has completed.
|
||||
// TypeCommandComplete is a message used to indicate that a query has completed. Backend
|
||||
TypeCommandComplete Type = 'C'
|
||||
|
||||
// TypeError is an error message.
|
||||
TypeError Type = 'E'
|
||||
// TypeClos is a message used to indicate that a query has completed. Frontend
|
||||
TypeClose Type = 'C'
|
||||
|
||||
// TypeRowDescription is a message indicating the column types of the result rows from a query.
|
||||
TypeRowDescription Type = 'T'
|
||||
|
|
@ -52,6 +53,20 @@ const (
|
|||
|
||||
// TypeBackendKeyData contains a cancellation key for the client to use later.
|
||||
TypeBackendKeyData Type = 'K'
|
||||
|
||||
TypeParse Type = 'P'
|
||||
TypeParseComplete Type = '1'
|
||||
|
||||
TypeBind Type = 'B'
|
||||
TypeBindComplete Type = '2'
|
||||
|
||||
TypeExecute Type = 'E' // Frontend TODO(TWG)
|
||||
TypeError Type = 'E' // Backend SOMETHING NOT RIGHT HERE
|
||||
TypeSync Type = 'S' // Frontend
|
||||
TypeParameterStatus Type = 'S' // Backend
|
||||
TypeDescribe Type = 'D' // Frontend
|
||||
TypeNoData Type = 'n' // backend
|
||||
TypeEmptyQueryResponse Type = 'I' // backend
|
||||
)
|
||||
|
||||
// AuthenticationOK is a message indicating that authentication has completed.
|
||||
|
|
@ -59,6 +74,22 @@ var AuthenticationOK = Message{
|
|||
Type: TypeAuthentication,
|
||||
Data: []byte{0, 0, 0, 0},
|
||||
}
|
||||
var ParseOK = Message{
|
||||
Type: TypeParseComplete,
|
||||
Data: []byte{},
|
||||
}
|
||||
var BindComplete = Message{
|
||||
Type: TypeBindComplete,
|
||||
Data: []byte{},
|
||||
}
|
||||
var NoData = Message{
|
||||
Type: TypeNoData,
|
||||
Data: []byte{},
|
||||
}
|
||||
var EmptyQueryResponse = Message{
|
||||
Type: TypeEmptyQueryResponse,
|
||||
Data: []byte{},
|
||||
}
|
||||
|
||||
// Message is a Postgres message value.
|
||||
type Message struct {
|
||||
|
|
@ -66,6 +97,49 @@ type Message struct {
|
|||
Data []byte
|
||||
}
|
||||
|
||||
//debug tools
|
||||
func viewString(b []byte) string {
|
||||
r := []rune(string(b))
|
||||
for i := range r {
|
||||
if r[i] < 32 || r[i] > 126 {
|
||||
r[i] = '.'
|
||||
}
|
||||
}
|
||||
return string(r)
|
||||
}
|
||||
func min(a, b int) int {
|
||||
if a < b {
|
||||
return a
|
||||
}
|
||||
return b
|
||||
}
|
||||
func (m *Message) Dump(prefix string) {
|
||||
n := len(m.Data)
|
||||
rowcount := 0
|
||||
stop := (n / 8) * 8
|
||||
k := 0
|
||||
fmt.Printf("\n %s type: '%c'\n", prefix, m.Type)
|
||||
for i := 0; i <= stop; i += 8 {
|
||||
k++
|
||||
if i+8 < n {
|
||||
rowcount = 8
|
||||
} else {
|
||||
rowcount = min(k*8, n) % 8
|
||||
}
|
||||
|
||||
fmt.Printf("pos %02d hex: ", i)
|
||||
for j := 0; j < rowcount; j++ {
|
||||
fmt.Printf("%02x ", m.Data[i+j])
|
||||
}
|
||||
for j := rowcount; j < 8; j++ {
|
||||
fmt.Printf(" ")
|
||||
}
|
||||
fmt.Printf(" '%s'\n", viewString(m.Data[i:(i+rowcount)]))
|
||||
}
|
||||
}
|
||||
|
||||
//endTools
|
||||
|
||||
// TransactionStatus is the current transaction state.
|
||||
type TransactionStatus byte
|
||||
|
||||
|
|
@ -98,6 +172,12 @@ func (e *Encoder) i32(i int32) error {
|
|||
return err
|
||||
}
|
||||
|
||||
func (e *Encoder) u32(i uint32) error {
|
||||
binary.BigEndian.PutUint32(e.scratch[:], i)
|
||||
_, err := e.buf.Write(e.scratch[:])
|
||||
return err
|
||||
}
|
||||
|
||||
// ReadyForQuery encodes a "ready for query" message.
|
||||
func (e *Encoder) ReadyForQuery(status TransactionStatus) (Message, error) {
|
||||
e.buf.Reset()
|
||||
|
|
@ -149,6 +229,9 @@ const (
|
|||
|
||||
// NoticeFieldHint is a suggestion of how to address the issue.
|
||||
NoticeFieldHint NoticeFieldType = 'H'
|
||||
|
||||
// NoticeFieldHint the SQLSTATE code for the error (see Appendix A). Not localizable. Always present.
|
||||
NoticeFieldCode NoticeFieldType = 'C'
|
||||
)
|
||||
|
||||
// NoticeField is a field in an error or notice.
|
||||
|
|
@ -365,3 +448,95 @@ func (e *Encoder) BackendKeyData(pid, key int32) (Message, error) {
|
|||
Data: e.buf.Bytes(),
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (e *Encoder) ParameterStatus(param, value string) (Message, error) {
|
||||
e.buf.Reset()
|
||||
//param + NULL + value+ NULL
|
||||
_, err := e.buf.WriteString(param)
|
||||
if err != nil {
|
||||
return Message{}, err
|
||||
}
|
||||
err = e.buf.WriteByte(0)
|
||||
if err != nil {
|
||||
return Message{}, err
|
||||
}
|
||||
_, err = e.buf.WriteString(value)
|
||||
if err != nil {
|
||||
return Message{}, err
|
||||
}
|
||||
err = e.buf.WriteByte(0)
|
||||
if err != nil {
|
||||
return Message{}, err
|
||||
}
|
||||
return Message{
|
||||
Type: TypeParameterStatus,
|
||||
Data: e.buf.Bytes(),
|
||||
}, nil
|
||||
}
|
||||
|
||||
type SimpleColumn struct {
|
||||
Name string
|
||||
Typeid int32
|
||||
Typelen int16
|
||||
}
|
||||
|
||||
func (e *Encoder) EncodeColumn(name string, typeid int32, typelen int16) (Message, error) {
|
||||
return e.EncodeColumns(SimpleColumn{
|
||||
Name: name,
|
||||
Typeid: typeid,
|
||||
Typelen: typelen,
|
||||
})
|
||||
}
|
||||
func (e *Encoder) EncodeColumns(cols ...SimpleColumn) (Message, error) {
|
||||
|
||||
e.buf.Reset()
|
||||
err := e.i16(int16(len(cols))) // number of columns in result
|
||||
if err != nil {
|
||||
return Message{}, nil
|
||||
}
|
||||
for _, col := range cols {
|
||||
|
||||
_, err = e.buf.WriteString(col.Name) // column name
|
||||
if err != nil {
|
||||
return Message{}, err
|
||||
}
|
||||
err = e.buf.WriteByte(0) //null terminate
|
||||
if err != nil {
|
||||
return Message{}, err
|
||||
}
|
||||
|
||||
err = e.i32(0) //tabel id
|
||||
if err != nil {
|
||||
return Message{}, err
|
||||
}
|
||||
|
||||
err = e.i16(0) //field id(attnum)
|
||||
if err != nil {
|
||||
return Message{}, err
|
||||
}
|
||||
|
||||
err = e.i32(col.Typeid) //type_id
|
||||
if err != nil {
|
||||
return Message{}, err
|
||||
}
|
||||
|
||||
err = e.i16(col.Typelen) //type_len
|
||||
if err != nil {
|
||||
return Message{}, err
|
||||
}
|
||||
|
||||
err = e.i32(-1) //type_mod
|
||||
if err != nil {
|
||||
return Message{}, err
|
||||
}
|
||||
|
||||
err = e.i16(0) //format 0 text 1 binary
|
||||
if err != nil {
|
||||
return Message{}, err
|
||||
}
|
||||
}
|
||||
return Message{
|
||||
Type: TypeRowDescription,
|
||||
Data: e.buf.Bytes(),
|
||||
}, nil
|
||||
}
|
||||
|
|
|
|||
543
pg/protocol.go
543
pg/protocol.go
|
|
@ -30,7 +30,10 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/molecula/featurebase/v2/pg/message"
|
||||
"github.com/molecula/featurebase/v2/sql"
|
||||
"github.com/molecula/featurebase/v2/vprint"
|
||||
"github.com/pkg/errors"
|
||||
"vitess.io/vitess/go/vt/sqlparser"
|
||||
)
|
||||
|
||||
// Protocol is a Postgres protocol version.
|
||||
|
|
@ -48,6 +51,9 @@ const (
|
|||
|
||||
// ProtocolSupported is the main protocol version supported by this package.
|
||||
ProtocolSupported Protocol = ProtocolPostgres30
|
||||
|
||||
// PgServerVersion is the latest version of postgres that we claim to support.
|
||||
PgServerVersion = "13.0.0"
|
||||
)
|
||||
|
||||
// Major returns the major revision of the protocol.
|
||||
|
|
@ -170,6 +176,7 @@ startup:
|
|||
// Reject the unsecured connection.
|
||||
return errors.Errorf("client at %s attempted to initiate an unsecured postgres conenction", conn.RemoteAddr())
|
||||
}
|
||||
vprint.VV("TProcotcol: %v", proto)
|
||||
|
||||
switch proto {
|
||||
case ProtocolCancel:
|
||||
|
|
@ -209,6 +216,7 @@ func parseParams(data []byte) (map[string]string, error) {
|
|||
|
||||
// handleCancel handles cancel request connections.
|
||||
func (s *Server) handleCancel(ctx context.Context, conn net.Conn, data []byte) error {
|
||||
vprint.VV("handle cancel")
|
||||
if len(data) != 8 {
|
||||
return errors.New("malformed cancellation packet")
|
||||
}
|
||||
|
|
@ -220,6 +228,7 @@ func (s *Server) handleCancel(ctx context.Context, conn net.Conn, data []byte) e
|
|||
pid := int32(binary.BigEndian.Uint32(data[:4]))
|
||||
key := int32(binary.BigEndian.Uint32(data[4:]))
|
||||
|
||||
vprint.VV("cancel pid:%v key:%v", pid, key)
|
||||
err := s.CancellationManager.Cancel(CancellationToken{PID: pid, Key: key})
|
||||
switch err {
|
||||
case nil:
|
||||
|
|
@ -233,6 +242,370 @@ func (s *Server) handleCancel(ctx context.Context, conn net.Conn, data []byte) e
|
|||
|
||||
return nil
|
||||
}
|
||||
func (s *Server) SendParameterStatus(w *message.WireWriter, param, value string, encoder *message.Encoder) error {
|
||||
msg, err := encoder.ParameterStatus(param, value)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = w.WriteMessage(msg)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "sending parameter status")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type Result struct {
|
||||
}
|
||||
type PgType byte
|
||||
|
||||
const (
|
||||
pgNotPg PgType = 'x'
|
||||
pgBackendPid PgType = 'a'
|
||||
pgVersion PgType = 'b'
|
||||
pgCountType PgType = 'c'
|
||||
pgQueryTime PgType = 'd'
|
||||
pgTerminate PgType = 'e'
|
||||
pgEmpty PgType = 'f'
|
||||
pgSetApplication PgType = 'g'
|
||||
pgSelect1 PgType = 'h'
|
||||
pgSchema PgType = 'i'
|
||||
pgBegin PgType = 'j'
|
||||
)
|
||||
|
||||
type Portal struct {
|
||||
Name string
|
||||
Writer *message.WireWriter
|
||||
commands []message.Message
|
||||
Encoder *message.Encoder
|
||||
mapper *sql.Mapper
|
||||
results []Result
|
||||
sql string
|
||||
pgspecial PgType
|
||||
pid int32
|
||||
queryStart time.Time
|
||||
server *Server
|
||||
cancelNotify <-chan struct{}
|
||||
}
|
||||
|
||||
func (p *Portal) Reset() {
|
||||
vprint.VV("Portal Reset")
|
||||
p.Name = ""
|
||||
p.sql = ""
|
||||
p.pgspecial = pgNotPg
|
||||
p.commands = p.commands[:0]
|
||||
}
|
||||
|
||||
func (p *Portal) Bind() {
|
||||
p.Add(message.BindComplete)
|
||||
}
|
||||
func (p *Portal) Parse(data []byte) {
|
||||
p.queryStart = time.Now()
|
||||
b := bytes.Trim(data, "\x00")
|
||||
vprint.VV("PARSE RAW: (%v) (%d)", string(b), len(b))
|
||||
if strings.Contains(string(b), "EXTRACT") {
|
||||
// had to add this hack because the vitis parser doesn't handle...
|
||||
/*
|
||||
SELECT pid as id,
|
||||
query as stmt,
|
||||
EXTRACT(seconds from query_start - NOW()) as elapsed_time
|
||||
FROM pg_stat_activity
|
||||
WHERE usename='docker'`
|
||||
*/
|
||||
p.pgspecial = pgQueryTime
|
||||
p.Name = "SELECT"
|
||||
p.sql = string(b)
|
||||
p.Add(message.ParseOK)
|
||||
return
|
||||
}
|
||||
|
||||
if len(b) > 2 {
|
||||
|
||||
query, err := p.mapper.MapSQL(string(b))
|
||||
if err != nil {
|
||||
vprint.VV("Parse Err: '%v'", err)
|
||||
} else {
|
||||
|
||||
vprint.VV("TODD Query: %#v", query.SQL)
|
||||
if strings.Contains(strings.ToLower(query.SQL), "select 1") {
|
||||
vprint.VV("SQL1")
|
||||
p.pgspecial = pgSelect1
|
||||
p.Name = "SELECT"
|
||||
} else {
|
||||
switch query.SQLType {
|
||||
case sql.SQLTypeSet:
|
||||
p.Name = "SET"
|
||||
set := query.Statement.(*sqlparser.Set)
|
||||
for _, item := range set.Exprs {
|
||||
vprint.VV("SET name=(%v) ", item.Name)
|
||||
if item.Name.String() == "application_name" {
|
||||
vprint.VV("SET expr=(%#v) ", item.Expr)
|
||||
switch val := item.Expr.(type) {
|
||||
case *sqlparser.SQLVal:
|
||||
vprint.VV("getting %v (%v)", val.Type, string(val.Val))
|
||||
p.pgspecial = pgSetApplication
|
||||
}
|
||||
}
|
||||
}
|
||||
case sql.SQLTypeSelect:
|
||||
p.Name = "SELECT"
|
||||
p.pgspecial = pgNotPg
|
||||
stmt := query.Statement.(*sqlparser.Select)
|
||||
for _, item := range stmt.SelectExprs {
|
||||
switch expr := item.(type) {
|
||||
case *sqlparser.AliasedExpr:
|
||||
switch colExpr := expr.Expr.(type) {
|
||||
case *sqlparser.FuncExpr:
|
||||
funcName := strings.ToLower(colExpr.Name.String())
|
||||
switch funcName {
|
||||
case "pg_backend_pid":
|
||||
//SELECT pg_backend_pid()
|
||||
p.pgspecial = pgBackendPid
|
||||
//p.encoder.RowDescription() //TODO(twg) move to the right spt
|
||||
case "pg_terminate_backend":
|
||||
//need the arg 100
|
||||
//select pg_terminate_backend(100)
|
||||
vprint.VV("terminate %#v", colExpr.Exprs)
|
||||
//colExpr.Exprs[0]
|
||||
p.pgspecial = pgTerminate
|
||||
case "version":
|
||||
//SELECT VERSION() AS version
|
||||
p.pgspecial = pgVersion
|
||||
}
|
||||
//need to return the pid from the cancelation object
|
||||
//add row description object
|
||||
//add data row for item
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
for _, item := range stmt.From {
|
||||
switch from := item.(type) {
|
||||
case *sqlparser.AliasedTableExpr:
|
||||
tableName := from.Expr.(sqlparser.TableName).ToViewName().Name.String()
|
||||
vprint.VV("looking at (%v)", tableName)
|
||||
switch tableName {
|
||||
case "pg_type":
|
||||
p.pgspecial = pgCountType
|
||||
case "pg_stat_activity":
|
||||
p.pgspecial = pgQueryTime
|
||||
case "tables":
|
||||
p.pgspecial = pgSchema
|
||||
}
|
||||
}
|
||||
}
|
||||
p.sql = string(b)
|
||||
case sql.SQLTypeBegin:
|
||||
p.pgspecial = pgBegin
|
||||
// panic("TODO")
|
||||
// ingnore for now
|
||||
case sql.SQLTypeShow:
|
||||
p.Name = "SHOW"
|
||||
p.pgspecial = pgNotPg
|
||||
p.sql = string(b)
|
||||
}
|
||||
}
|
||||
}
|
||||
// TODO (twg) hack parsing for short term
|
||||
// parts := strings.Split(strings.TrimSuffix(string(data), "\x00"), " ")
|
||||
// p.Name = parts[0][1:] //TODO (twg) major hack
|
||||
vprint.VV("PG SET:(%v)", p.pgspecial)
|
||||
} else {
|
||||
vprint.VV("SETTING EMPTY")
|
||||
p.pgspecial = pgEmpty
|
||||
}
|
||||
p.Add(message.ParseOK)
|
||||
}
|
||||
func (p *Portal) Describe() {
|
||||
/*
|
||||
if p.pgspecial != pgNotPg {
|
||||
//do custom handling for setup
|
||||
}
|
||||
if len(p.results) == 0 {
|
||||
p.Add(&message.NoData)
|
||||
p.Add(&message.EmptyQueryResponse)
|
||||
return
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
func (p *Portal) Execute() (shouldTerminate bool, queryReady bool) {
|
||||
queryReady = true
|
||||
vprint.VV("port.Execute: (%v) q=(%v)", p.pgspecial, p.sql)
|
||||
switch p.pgspecial {
|
||||
case pgBackendPid:
|
||||
rowDescription, err := p.Encoder.EncodeColumn("pg_backend_pid", int32(23), 4)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
p.Add(rowDescription)
|
||||
pid := fmt.Sprintf("%v", p.pid)
|
||||
dataRow, _ := p.Encoder.TextRow(pid)
|
||||
p.Add(dataRow)
|
||||
//needs data row with cancel token
|
||||
case pgVersion:
|
||||
rowDescription, err := p.Encoder.EncodeColumn("version", int32(25), -1)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
p.Add(rowDescription)
|
||||
dataRow, _ := p.Encoder.TextRow("PostgresSQL 13.0 (molecula)")
|
||||
p.Add(dataRow)
|
||||
case pgSelect1:
|
||||
rowDescription, err := p.Encoder.EncodeColumn("?column?", int32(23), 4)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
p.Add(rowDescription)
|
||||
dataRow, _ := p.Encoder.TextRow("1")
|
||||
p.Add(dataRow)
|
||||
case pgCountType:
|
||||
//need to block
|
||||
vprint.VV("blocking til terminated")
|
||||
<-p.server.lookerChannel
|
||||
vprint.VV("Released")
|
||||
//now need to send ParseComplete,BindComplete,RowDescription,Error(Terminate)
|
||||
//TODO(twg) handle the error
|
||||
rowDescription, err := p.Encoder.EncodeColumn("count", int32(20), 8)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
p.Add(rowDescription)
|
||||
errorResponse, _ := p.Encoder.Error(
|
||||
message.NoticeField{
|
||||
Type: message.NoticeFieldSeverity,
|
||||
Data: "FATAL",
|
||||
},
|
||||
message.NoticeField{
|
||||
Type: message.NoticeFieldMessage,
|
||||
Data: "terminating connection due to administrator command",
|
||||
},
|
||||
message.NoticeField{
|
||||
Type: message.NoticeFieldCode,
|
||||
Data: "57P01",
|
||||
},
|
||||
)
|
||||
p.Add(errorResponse)
|
||||
p.Sync() //send and Reset
|
||||
return true, queryReady
|
||||
case pgQueryTime:
|
||||
// need to return something so that the id can be queried
|
||||
//need to return SELECT pid as id, query as stmt, EXTRACT(seconds from query_start - NOW()) as elapsed_time FROM pg_stat_activity
|
||||
//seems like we need a map of pids to querys
|
||||
p.server.dumpPortalsTo(p)
|
||||
case pgTerminate:
|
||||
//note just have 1 lock that blocks all who try to count the activities
|
||||
vprint.VV("removing the block ")
|
||||
//TODO (twg) lock this
|
||||
close(p.server.lookerChannel) //release all the other blockers and allow them to terminate
|
||||
p.server.lookerChannel = make(chan struct{}) //create a new one just in case
|
||||
// i think it needs to return boolean true
|
||||
rowDescription, err := p.Encoder.EncodeColumn("pg_terminate_backend", int32(16), 1)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
p.Add(rowDescription)
|
||||
dataRow, _ := p.Encoder.TextRow("t")
|
||||
p.Add(dataRow)
|
||||
commandComplete, _ := p.Encoder.CommandComplete("SELECT 1")
|
||||
p.Add(commandComplete)
|
||||
p.Sync()
|
||||
return false, queryReady
|
||||
case pgEmpty:
|
||||
p.Add(message.NoData)
|
||||
p.Add(message.EmptyQueryResponse)
|
||||
p.Sync()
|
||||
queryReady = true
|
||||
return false, queryReady
|
||||
case pgSetApplication:
|
||||
//needs to add/send status
|
||||
msg, err := p.Encoder.ParameterStatus("application_name", "PostgreSQL JDBC Driver") //TODO (twg) should be saved from parse
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
p.Add(msg)
|
||||
case pgSchema:
|
||||
//need to add the descrition for the 3 fields
|
||||
// ---[Field 01]--- name='table_schema' type=19 type_len=64 type_mod=4294967295 relid=13276 attnum=2 format=0
|
||||
// ---[Field 02]--- name='table_name' type=19 type_len=64 type_mod=4294967295 relid=13276 attnum=3 format=0
|
||||
parts := []message.SimpleColumn{
|
||||
{
|
||||
Name: "table_schema",
|
||||
Typeid: int32(19),
|
||||
Typelen: 64,
|
||||
},
|
||||
{
|
||||
Name: "table_name",
|
||||
Typeid: int32(19),
|
||||
Typelen: 64,
|
||||
},
|
||||
}
|
||||
rowDescription, err := p.Encoder.EncodeColumns(parts...)
|
||||
if err != nil { //TODO (twg) shadowing err
|
||||
return
|
||||
}
|
||||
p.Add(rowDescription)
|
||||
err = p.HandleSchema()
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
vprint.VV("SHOULd make schema")
|
||||
|
||||
case pgNotPg:
|
||||
vprint.VV("GOOOO>(%v)", p.sql)
|
||||
query := SimpleQuery(p.sql)
|
||||
err := p.server.handleQuery(p, query, p.cancelNotify)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
case pgBegin:
|
||||
vprint.VV("BEGIN")
|
||||
p.Name = "BEGIN"
|
||||
}
|
||||
|
||||
//maybe add in the number of items in select clause
|
||||
if len(p.Name) > 0 { //only send command complete for those that have names
|
||||
vprint.VV("EXECING NAME: '%v'", p.Name)
|
||||
message, _ := p.Encoder.CommandComplete(p.Name)
|
||||
vprint.VV("AFTER")
|
||||
p.Add(message)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// handleStandard handles a connection in the standard postgres wire protocol.
|
||||
func (p *Portal) Sync() {
|
||||
for _, m := range p.commands {
|
||||
vprint.VV("Sending: '%v'", m.Type)
|
||||
p.Writer.WriteMessage(m)
|
||||
}
|
||||
p.Writer.Flush()
|
||||
p.Reset()
|
||||
}
|
||||
func (p *Portal) Add(m message.Message) {
|
||||
cp := message.Message{Type: m.Type, Data: make([]byte, len(m.Data))}
|
||||
copy(cp.Data, m.Data)
|
||||
p.commands = append(p.commands, cp)
|
||||
}
|
||||
|
||||
func (p *Portal) DumpComands() {
|
||||
|
||||
for _, m := range p.commands {
|
||||
m.Dump("DUMPING:")
|
||||
}
|
||||
}
|
||||
func (p *Portal) HandleSchema() error {
|
||||
return p.server.QueryHandler.HandleSchema(context.Background(), p)
|
||||
}
|
||||
|
||||
//implement the QueryResultWriterqueryResultR
|
||||
func (p *Portal) WriteMessage(m message.Message) error {
|
||||
p.Add(m)
|
||||
return nil
|
||||
}
|
||||
func (p *Portal) Flush() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// handleStandard handles a connection in the standard postgres wire protocol.
|
||||
// The client is responsible for closing the connection when this finishes.
|
||||
|
|
@ -255,7 +628,7 @@ func (s *Server) handleStandard(ctx context.Context, proto Protocol, conn net.Co
|
|||
if err != nil {
|
||||
return errors.Wrap(err, "parsing parameters")
|
||||
}
|
||||
|
||||
fmt.Printf("postgres connection params\n%#v\n", params) //TODO (twg) remove
|
||||
if user, ok := params["user"]; ok {
|
||||
// Log the connection.
|
||||
s.Logger.Debugf("new postgres connection from user %q at %v", user, conn.RemoteAddr())
|
||||
|
|
@ -322,8 +695,57 @@ func (s *Server) handleStandard(ctx context.Context, proto Protocol, conn net.Co
|
|||
if err != nil {
|
||||
return errors.Wrap(err, "sending authentication confirmation")
|
||||
}
|
||||
err = s.SendParameterStatus(w, "application_name", "", &encoder)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "sending parameter status server version")
|
||||
}
|
||||
err = s.SendParameterStatus(w, "client_encoding", "UTF8", &encoder)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "sending parameter status server version")
|
||||
}
|
||||
err = s.SendParameterStatus(w, "DateStyle", "ISO, MDY", &encoder)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "sending parameter status server version")
|
||||
}
|
||||
err = s.SendParameterStatus(w, "integer_datetimes", "on", &encoder)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "sending parameter status server version")
|
||||
}
|
||||
err = s.SendParameterStatus(w, "IntervalStyle", "postgres", &encoder)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "sending parameter status server version")
|
||||
}
|
||||
err = s.SendParameterStatus(w, "is_superuser", "on", &encoder)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "sending parameter status server version")
|
||||
}
|
||||
err = s.SendParameterStatus(w, "server_encoding", "UTF8", &encoder)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "sending parameter status server version")
|
||||
}
|
||||
err = s.SendParameterStatus(w, "server_version", PgServerVersion, &encoder)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "sending parameter status server version")
|
||||
}
|
||||
/*
|
||||
-PARAMETER STATUS name='TimeZone', value='GMT'
|
||||
*/
|
||||
err = s.SendParameterStatus(w, "session_authorization", "docker", &encoder) //TODO(twg) figure out valid values here
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "sending parameter status server version")
|
||||
}
|
||||
err = s.SendParameterStatus(w, "standard_conforming_strings", "on", &encoder) //TODO(twg) figure out valid values here
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "sending parameter status server version")
|
||||
}
|
||||
err = s.SendParameterStatus(w, "TimeZone", "GMT", &encoder) //TODO(twg) figure out valid values here
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "sending parameter status server version")
|
||||
}
|
||||
|
||||
vprint.VV("CancellationManger: %v", s.CancellationManager)
|
||||
var cancelNotify <-chan struct{}
|
||||
var pid int32
|
||||
if s.CancellationManager != nil {
|
||||
notify, cancel, token, err := s.CancellationManager.Token()
|
||||
if err != nil {
|
||||
|
|
@ -332,6 +754,7 @@ func (s *Server) handleStandard(ctx context.Context, proto Protocol, conn net.Co
|
|||
defer cancel()
|
||||
|
||||
msg, err := encoder.BackendKeyData(token.PID, token.Key)
|
||||
pid = token.PID
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "encoding cancellation key data")
|
||||
}
|
||||
|
|
@ -343,11 +766,25 @@ func (s *Server) handleStandard(ctx context.Context, proto Protocol, conn net.Co
|
|||
}
|
||||
|
||||
var queryReady bool
|
||||
portal := &Portal{
|
||||
Writer: w,
|
||||
Encoder: &encoder,
|
||||
commands: make([]message.Message, 0),
|
||||
mapper: sql.NewMapper(),
|
||||
pid: pid,
|
||||
server: s,
|
||||
cancelNotify: cancelNotify,
|
||||
}
|
||||
s.addPortal(portal)
|
||||
defer s.removePortal(portal)
|
||||
//mapper.Logger = logger
|
||||
for {
|
||||
if !queryReady {
|
||||
// Indicate that we are ready for a query.
|
||||
// TODO: provide a valid transaction state.
|
||||
msg, err := encoder.ReadyForQuery(message.TransactionStatusActive)
|
||||
//msg, err := encoder.ReadyForQuery(message.TransactionStatusActive)
|
||||
portal.sql = ""
|
||||
msg, err := encoder.ReadyForQuery(message.TransactionStatusIdle)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "sending query ready status")
|
||||
}
|
||||
|
|
@ -373,10 +810,12 @@ func (s *Server) handleStandard(ctx context.Context, proto Protocol, conn net.Co
|
|||
// However, it seems that no clients completely follow the spec, so we shouldn't rely on anything that isn't entirely straightforward.
|
||||
s.Logger.Debugf("postgres client sent additional data without waiting for completion")
|
||||
}
|
||||
queryReady = true
|
||||
}
|
||||
|
||||
// Read the next packet.
|
||||
msg, err := r.ReadMessage()
|
||||
msg.Dump("start-") // TODO(twg) remove
|
||||
if err != nil {
|
||||
if err == errPreempted {
|
||||
// The server is shutting down.
|
||||
|
|
@ -406,6 +845,26 @@ func (s *Server) handleStandard(ctx context.Context, proto Protocol, conn net.Co
|
|||
// We are done.
|
||||
return w.Flush()
|
||||
|
||||
case message.TypeParse:
|
||||
fmt.Println("Type Parse", strings.Trim(string(msg.Data), "\x00"))
|
||||
portal.Parse(msg.Data)
|
||||
case message.TypeBind:
|
||||
fmt.Println("Type Bind", strings.Trim(string(msg.Data), "\x00"))
|
||||
//TODO(twg) apply values to bindings in the future
|
||||
// Parse the query message (a null-terminated string).
|
||||
portal.Bind()
|
||||
case message.TypeExecute:
|
||||
fmt.Println("Type Execute", strings.Trim(string(msg.Data), "\x00"))
|
||||
//term, qr := portal.Execute()
|
||||
term, qr := portal.Execute()
|
||||
if term {
|
||||
return w.Flush()
|
||||
}
|
||||
queryReady = qr
|
||||
case message.TypeSync:
|
||||
fmt.Println("Type Sync", strings.Trim(string(msg.Data), "\x00"))
|
||||
portal.Sync()
|
||||
queryReady = false
|
||||
case message.TypeSimpleQuery:
|
||||
// Execute a simple query.
|
||||
|
||||
|
|
@ -419,10 +878,23 @@ func (s *Server) handleStandard(ctx context.Context, proto Protocol, conn net.Co
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
label := "N/A"
|
||||
switch msg.Data[0] {
|
||||
case 'S': //prepared statement
|
||||
label = "prepared statement"
|
||||
case 'P': //portal
|
||||
label = "portal"
|
||||
}
|
||||
vprint.VV("describe %v:'%v'", label, msg.Data[1:])
|
||||
case message.TypeDescribe:
|
||||
//TODO (twg) major hack alet
|
||||
portal.Describe()
|
||||
case message.TypeClose:
|
||||
return w.Flush()
|
||||
default:
|
||||
// The message is not supported yet.
|
||||
// Send an error.
|
||||
vprint.VV("unrecognized postgres packet %v", msg)
|
||||
s.Logger.Errorf("unrecognized postgres packet %v", msg)
|
||||
msg, err = encoder.Error(
|
||||
message.NoticeField{
|
||||
|
|
@ -452,6 +924,71 @@ func (s *Server) handleStandard(ctx context.Context, proto Protocol, conn net.Co
|
|||
}
|
||||
}
|
||||
}
|
||||
func (s *Server) addPortal(p *Portal) {
|
||||
s.mu.Lock()
|
||||
defer s.mu.Unlock()
|
||||
s.portals = append(s.portals, p)
|
||||
}
|
||||
func (s *Server) removePortal(p *Portal) {
|
||||
s.mu.Lock()
|
||||
defer s.mu.Unlock()
|
||||
for i, portal := range s.portals {
|
||||
if portal.pid == p.pid {
|
||||
//remove i
|
||||
s.portals = append(s.portals[:i], s.portals[i+1:]...)
|
||||
return
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
func (s *Server) dumpPortalsTo(p *Portal) error {
|
||||
s.mu.Lock()
|
||||
defer s.mu.Unlock()
|
||||
//need to add the descrition for the 3 fields
|
||||
// <-:-ROW DESCRIPTION: num_fields=3
|
||||
//---[Field 01]--- name='id' type=23 type_len=4 type_mod=4294967295 relid=12250 attnum=3 format=0
|
||||
//---[Field 02]--- name='stmt' type=25 type_len=65535 type_mod=4294967295 relid=12250 attnum=20 format=0 -
|
||||
//--[Field 03]--- name='elapsed_time' type=701 type_len=8 type_mod=4294967295 relid=0 attnum=0 format=0
|
||||
parts := []message.SimpleColumn{
|
||||
{
|
||||
Name: "id",
|
||||
Typeid: int32(23),
|
||||
Typelen: 4,
|
||||
},
|
||||
{
|
||||
Name: "stmt",
|
||||
Typeid: int32(25),
|
||||
Typelen: -1,
|
||||
},
|
||||
{
|
||||
Name: "elapsed_time",
|
||||
Typeid: int32(701),
|
||||
Typelen: 8,
|
||||
},
|
||||
}
|
||||
rowDescription, err := p.Encoder.EncodeColumns(parts...)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
p.Add(rowDescription)
|
||||
|
||||
for _, portal := range s.portals {
|
||||
vprint.VV("port: %v (%v) %v", portal.pid, portal.sql, time.Since(portal.queryStart))
|
||||
dataRow, err := p.Encoder.TextRow(
|
||||
fmt.Sprintf("%v", portal.pid),
|
||||
portal.sql,
|
||||
fmt.Sprintf("%v", time.Since(portal.queryStart).Seconds()))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
//if sql == "" need to put in a null record
|
||||
//need to add the dararow
|
||||
//also need to figure out null types
|
||||
p.Add(dataRow)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// handleQuery processes a single query on a connection.
|
||||
func (s *Server) handleQuery(w message.Writer, query Query, cancelNotify <-chan struct{}) error {
|
||||
|
|
|
|||
|
|
@ -60,6 +60,7 @@ type QueryResultWriter interface {
|
|||
type QueryHandler interface {
|
||||
// HandleQuery executes a query and writes the results back.
|
||||
HandleQuery(context.Context, QueryResultWriter, Query) error
|
||||
HandleSchema(context.Context, *Portal) error
|
||||
}
|
||||
|
||||
// queryResultWriter implements QueryResultWrtiter over postgres wire protocol.
|
||||
|
|
|
|||
|
|
@ -59,6 +59,9 @@ type Server struct {
|
|||
// CancellationManager is the cancellation manager to use.
|
||||
// If this is not set, no cancellations will be applied.
|
||||
CancellationManager CancellationManager
|
||||
lookerChannel chan struct{}
|
||||
mu sync.Mutex
|
||||
portals []*Portal
|
||||
}
|
||||
|
||||
// ServeConn serves a single connection.
|
||||
|
|
@ -79,6 +82,8 @@ func (s *Server) Serve(ctx context.Context, l net.Listener) (err error) {
|
|||
err = cerr
|
||||
}
|
||||
}(ctx)
|
||||
// TODO (twg) added for looker
|
||||
s.lookerChannel = make(chan struct{})
|
||||
|
||||
// Wait for the listener to be closed and all connections to shut down.
|
||||
var wg sync.WaitGroup
|
||||
|
|
|
|||
49
server/pg.go
49
server/pg.go
|
|
@ -25,7 +25,7 @@ import (
|
|||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/molecula/featurebase/v2"
|
||||
pilosa "github.com/molecula/featurebase/v2"
|
||||
"github.com/molecula/featurebase/v2/logger"
|
||||
"github.com/molecula/featurebase/v2/pg"
|
||||
"github.com/molecula/featurebase/v2/pql"
|
||||
|
|
@ -67,9 +67,9 @@ func NewPostgresServer(api *pilosa.API, logger logger.Logger, tls *tls.Config) *
|
|||
|
||||
// NewPostgresHandler creates a postgres query handler wrapping the pilosa API.
|
||||
func NewPostgresHandler(api *pilosa.API, logger logger.Logger) pg.QueryHandler {
|
||||
return &queryDecodeHandler{
|
||||
child: &pilosaQueryHandler{
|
||||
api: api,
|
||||
return &QueryDecodeHandler{
|
||||
Child: &PilosaQueryHandler{
|
||||
Api: api,
|
||||
logger: logger,
|
||||
},
|
||||
}
|
||||
|
|
@ -107,6 +107,10 @@ func (s *PostgresServer) Close() error {
|
|||
return s.eg.Wait()
|
||||
}
|
||||
|
||||
func (s *PostgresServer) GetAPI() *pilosa.API {
|
||||
return s.api
|
||||
}
|
||||
|
||||
type pgPQLQuery struct {
|
||||
index string
|
||||
query string
|
||||
|
|
@ -135,8 +139,8 @@ func pgDecodePQL(str string) (q pg.Query, err error) {
|
|||
}, nil
|
||||
}
|
||||
|
||||
type pilosaQueryHandler struct {
|
||||
api *pilosa.API
|
||||
type PilosaQueryHandler struct {
|
||||
Api *pilosa.API
|
||||
logger logger.Logger
|
||||
}
|
||||
|
||||
|
|
@ -449,10 +453,10 @@ func pgWriteResult(w pg.QueryResultWriter, result interface{}) error {
|
|||
}
|
||||
}
|
||||
|
||||
func (pqh *pilosaQueryHandler) HandleQuery(ctx context.Context, w pg.QueryResultWriter, q pg.Query) error {
|
||||
func (pqh *PilosaQueryHandler) HandleQuery(ctx context.Context, w pg.QueryResultWriter, q pg.Query) error {
|
||||
switch q := q.(type) {
|
||||
case pgPQLQuery:
|
||||
resp, err := pqh.api.Query(ctx, &pilosa.QueryRequest{
|
||||
resp, err := pqh.Api.Query(ctx, &pilosa.QueryRequest{
|
||||
Index: q.index,
|
||||
Query: q.query,
|
||||
})
|
||||
|
|
@ -465,7 +469,7 @@ func (pqh *pilosaQueryHandler) HandleQuery(ctx context.Context, w pg.QueryResult
|
|||
return errors.Wrap(pgWriteResult(w, resp.Results[0]), "writing query result")
|
||||
|
||||
case pg.SimpleQuery:
|
||||
resp, err := execSQL(ctx, pqh.api, pqh.logger, string(q))
|
||||
resp, err := execSQL(ctx, pqh.Api, pqh.logger, string(q))
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "executing query")
|
||||
}
|
||||
|
|
@ -476,11 +480,11 @@ func (pqh *pilosaQueryHandler) HandleQuery(ctx context.Context, w pg.QueryResult
|
|||
}
|
||||
}
|
||||
|
||||
type queryDecodeHandler struct {
|
||||
child pg.QueryHandler
|
||||
type QueryDecodeHandler struct {
|
||||
Child pg.QueryHandler
|
||||
}
|
||||
|
||||
func (qdh *queryDecodeHandler) HandleQuery(ctx context.Context, w pg.QueryResultWriter, q pg.Query) error {
|
||||
func (qdh *QueryDecodeHandler) HandleQuery(ctx context.Context, w pg.QueryResultWriter, q pg.Query) error {
|
||||
switch qv := q.(type) {
|
||||
case pg.SimpleQuery:
|
||||
if strings.HasPrefix(string(qv), "[") {
|
||||
|
|
@ -492,5 +496,24 @@ func (qdh *queryDecodeHandler) HandleQuery(ctx context.Context, w pg.QueryResult
|
|||
}
|
||||
}
|
||||
|
||||
return qdh.child.HandleQuery(ctx, w, q)
|
||||
return qdh.Child.HandleQuery(ctx, w, q)
|
||||
}
|
||||
|
||||
func (pqh *PilosaQueryHandler) HandleSchema(ctx context.Context, portal *pg.Portal) error {
|
||||
schema, err := pqh.Api.Schema(context.Background(), false)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for _, ii := range schema {
|
||||
dataRow, err := portal.Encoder.TextRow("featurebase", ii.Name)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
portal.Add(dataRow)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (qdh *QueryDecodeHandler) HandleSchema(ctx context.Context, portal *pg.Portal) error {
|
||||
return qdh.Child.HandleSchema(ctx, portal)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,6 +25,8 @@ import (
|
|||
const (
|
||||
SQLTypeSelect = "select"
|
||||
SQLTypeShow = "show"
|
||||
SQLTypeSet = "set"
|
||||
SQLTypeBegin = "begin"
|
||||
SQLTypeEmpty = ""
|
||||
)
|
||||
|
||||
|
|
@ -101,6 +103,10 @@ func (m *Mapper) MapSQL(sql string) (*MappedSQL, error) {
|
|||
}
|
||||
case *sqlparser.Show:
|
||||
sqlType = SQLTypeShow
|
||||
case *sqlparser.Set:
|
||||
sqlType = SQLTypeSet
|
||||
case *sqlparser.Begin:
|
||||
sqlType = SQLTypeBegin
|
||||
}
|
||||
|
||||
return &MappedSQL{
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue