Re: [HACKERS] Logical replication existing data copy - Mailing list pgsql-hackers
| From | Erik Rijkers |
|---|---|
| Subject | Re: [HACKERS] Logical replication existing data copy |
| Date | |
| Msg-id | e312e4096bff9773e57c1c397558f8e4@xs4all.nl Whole thread Raw |
| In response to | Re: [HACKERS] Logical replication existing data copy (Erik Rijkers <er@xs4all.nl>) |
| Responses |
Re: [HACKERS] Logical replication existing data copy
|
| List | pgsql-hackers |
On 2017-02-22 18:13, Erik Rijkers wrote:
> On 2017-02-22 14:48, Erik Rijkers wrote:
>> On 2017-02-22 13:03, Petr Jelinek wrote:
>>
>>> 0001-Skip-unnecessary-snapshot-builds.patch
>>> 0002-Don-t-use-on-disk-snapshots-for-snapshot-export-in-l.patch
>>> 0003-Fix-xl_running_xacts-usage-in-snapshot-builder.patch
>>> 0001-Use-asynchronous-connect-API-in-libpqwalreceiver.patch
>>> 0002-Fix-after-trigger-execution-in-logical-replication.patch
>>> 0003-Add-RENAME-support-for-PUBLICATIONs-and-SUBSCRIPTION.patch
>>> 0001-Logical-replication-support-for-initial-data-copy-v5.patch
>>
>> It works well now, or at least my particular test case seems now
>> solved.
>
> Cried victory too early, I'm afraid.
>
I got into a 'hung' state while repeating pgbench_derail2.sh.
Below is some state. I notice that master pg_stat_replication.syaye is
'startup'.
Maybe I should only start the test after that state has changed. Any of
the
other possible values (catchup, streaming) wuold be OK, I would think.
$ ( dbactivity.sh ; echo "; table pg_subscription; table
pg_subscription_rel;" ) | psql -qXp 6973 now | pid | app |
state | wt_evt | wt_evt_type | query_start
| duration | query
---------------------+-------+---------------------------------------------+--------+------------------------+-------------+---------------------+----------+----------------------------------
2017-02-2300:37:57 | 31352 | logical replication worker 47435 | active | relation | Lock
|
| | 2017-02-23 00:37:57 | 397 | psql | active | BgWorkerShutdown
| IPC | 2017-02-23 00:22:14
| 00:15:42 | drop subscription if exists sub1 2017-02-23 00:37:57 | 31369 | logical replication worker 47435 sync
47423 | | LogicalSyncStateChange | IPC | | | 2017-02-23 00:37:57 | 398 |
logicalreplication worker 47435 sync
47418 | | transactionid | Lock | | |
(4 rows)
subdbid | subname | subowner | subenabled | subconninfo | subslotname |
subpublications
---------+---------+----------+------------+-------------+-------------+----------------- 16384 | sub1 | 10
|t | port=6972 | sub1 |
{pub1}
(1 row)
srsubid | srrelid | srsubstate | srsublsn
---------+---------+------------+------------ 47435 | 47423 | w | 2/CB078260 47435 | 47412 | r
| 47435 | 47415 | r | 47435 | 47418 | c | 2/CB06E158
(4 rows)
Replica (port 6973):
[bulldog aardvark] [local]:6973 (Thu) 00:52:47 [pid:5401] [testdb] #
table pg_stat_subscription ; subid | subname | pid | relid | received_lsn |
last_msg_send_time | last_msg_receipt_time |
latest_end_lsn | latest_end_time
-------+---------+-------+-------+--------------+-------------------------------+-------------------------------+----------------+-------------------------------
47435| sub1 | 31369 | 47423 | | 2017-02-23
00:20:45.758072+01 | 2017-02-23 00:20:45.758072+01 | |
2017-02-23 00:20:45.758072+01 47435 | sub1 | 398 | 47418 | | 2017-02-23
00:22:14.896471+01 | 2017-02-23 00:22:14.896471+01 | |
2017-02-23 00:22:14.896471+01 47435 | sub1 | 31352 | | 2/CB06E158 | |
2017-02-2300:20:47.034664+01 | | 2017-02-23
00:20:45.679245+01
(3 rows)
Master (port 6972):
[bulldog aardvark] [local]:6972 (Thu) 00:48:27 [pid:5307] [testdb] # \x
on \\ table pg_stat_replication ;
Expanded display is on.
-[ RECORD 1 ]----+------------------------------
pid | 399
usesysid | 10
usename | aardvark
application_name | sub1_47435_sync_47418
client_addr |
client_hostname |
client_port | -1
backend_start | 2017-02-23 00:22:14.902701+01
backend_xmin |
state | startup
sent_location |
write_location |
flush_location |
replay_location |
sync_priority | 0
sync_state | async
-[ RECORD 2 ]----+------------------------------
pid | 31371
usesysid | 10
usename | aardvark
application_name | sub1_47435_sync_47423
client_addr |
client_hostname |
client_port | -1
backend_start | 2017-02-23 00:20:45.762852+01
backend_xmin |
state | startup
sent_location |
write_location |
flush_location |
replay_location |
sync_priority | 0
sync_state | async
( above 'dbactivity.sh' is:
select rpad(now()::text,19) as now , pid as pid , application_name as app , state
as state , wait_event as wt_evt , wait_event_type as wt_evt_type , date_trunc('second',
query_start::timestamp) as query_start , substring((now() - query_start)::text, 1, position('.' in (now() -
query_start)::text)-1) as duration , query
from pg_stat_activity
where query !~ 'pg_stat_activity' ;
)
pgsql-hackers by date: