[{"data":1,"prerenderedAt":1340},["ShallowReactive",2],{"docs-\u002Fdocs\u002Ffaq":3},{"id":4,"title":5,"body":6,"description":1331,"extension":1332,"meta":1333,"navigation":1334,"path":1335,"redirect":1336,"seo":1337,"stem":1338,"__hash__":1339},"docs\u002Fdocs\u002Ffaq.md","FAQ",{"type":7,"value":8,"toc":1278},"minimark",[9,13,18,23,27,33,52,57,70,79,83,105,113,117,123,127,139,143,146,208,216,220,308,312,318,329,333,338,355,359,366,428,435,439,444,448,451,508,512,524,528,532,546,553,557,567,575,578,588,592,598,606,613,622,628,642,650,654,659,693,759,763,770,778,785,789,793,796,810,821,825,836,839,853,863,867,879,883,888,911,915,919,922,957,964,968,974,978,999,1003,1009,1013,1018,1026,1032,1036,1040,1046,1050,1053,1076,1084,1088,1095,1101,1105,1123,1127,1131,1138,1142,1188,1194,1198,1202,1207,1224,1229,1242,1246,1274],[10,11,5],"h1",{"id":12},"faq",[14,15,17],"h2",{"id":16},"getting-started","Getting Started",[19,20,22],"h3",{"id":21},"what-are-the-system-requirements","What are the system requirements?",[24,25,26],"p",{},"Requirements depend on your deployment method:",[24,28,29],{},[30,31,32],"strong",{},"Docker deployment:",[34,35,36,40,43,46,49],"ul",{},[37,38,39],"li",{},"Docker Engine 24.0 or newer",[37,41,42],{},"Docker Compose v2.20 or newer",[37,44,45],{},"2 GB RAM minimum",[37,47,48],{},"2 GB free disk space",[37,50,51],{},"2 CPU cores minimum (3+ recommended)",[24,53,54],{},[30,55,56],{},"Desktop application:",[34,58,59,62,65,68],{},[37,60,61],{},"Windows, macOS, or Linux",[37,63,64],{},"1 GB RAM minimum",[37,66,67],{},"1 GB free disk space",[37,69,51],{},[24,71,72,73,78],{},"See the ",[74,75,77],"a",{"href":76},"\u002Fdocs\u002Fdeployment\u002Fos-compatibility","OS Compatibility Guide"," for supported Linux distributions.",[19,80,82],{"id":81},"what-deployment-options-are-available","What deployment options are available?",[84,85,86,99],"ol",{},[37,87,88,91,92,98],{},[30,89,90],{},"Docker deployment"," (recommended) — containerized solution with all infrastructure components included. Also available as a ",[74,93,97],{"href":94,"rel":95},"https:\u002F\u002Fmarketplace.digitalocean.com\u002Fapps\u002Fdbconvert-streams",[96],"nofollow","DigitalOcean 1-Click App",".",[37,100,101,104],{},[30,102,103],{},"Desktop application"," — native app for Windows, macOS, and Linux that bundles all services into a single process.",[24,106,107,108,112],{},"See ",[74,109,111],{"href":110},"\u002Fdocs\u002Fdeployment\u002Fdocker","Deployment"," for setup instructions.",[19,114,116],{"id":115},"can-i-transfer-data-between-different-operating-systems","Can I transfer data between different operating systems?",[24,118,119,122],{},[30,120,121],{},"Yes."," DBConvert Streams connects to databases over the network, so the OS running the source or target database does not matter. You can transfer data between a Windows-hosted PostgreSQL and a Linux-hosted PostgreSQL in either direction.",[14,124,126],{"id":125},"choosing-dbconvert-streams","Choosing DBConvert Streams",[128,129,132],"alert",{"title":130,"type":131},"At a glance","info",[24,133,134,135,138],{},"DBConvert Streams is a single tool for ",[30,136,137],{},"exploring, migrating, and replicating"," databases — sitting between database IDEs (DBeaver, DataGrip) and CDC pipelines (Debezium, AWS DMS). No Kafka, no Kubernetes, no cloud account. Runs as a Docker Compose stack on any Linux server, or as a desktop app on Windows, macOS, and Linux.",[19,140,142],{"id":141},"which-category-does-dbconvert-streams-fit-into","Which category does DBConvert Streams fit into?",[24,144,145],{},"Three at once:",[147,148,149,165],"table",{},[150,151,152],"thead",{},[153,154,155,159,162],"tr",{},[156,157,158],"th",{},"Category",[156,160,161],{},"Typical tools",[156,163,164],{},"What DBConvert Streams does",[166,167,168,182,195],"tbody",{},[153,169,170,176,179],{},[171,172,173],"td",{},[30,174,175],{},"Database IDE",[171,177,178],{},"DBeaver, DataGrip, Navicat, TablePlus, DbForge",[171,180,181],{},"Data Explorer, SQL Console, ER diagrams, federated queries",[153,183,184,189,192],{},[171,185,186],{},[30,187,188],{},"Data migration \u002F ETL",[171,190,191],{},"Airbyte, Fivetran, Stitch, Hevo, Apache Hop",[171,193,194],{},"Load mode for one-time bulk loads and schema conversion",[153,196,197,202,205],{},[171,198,199],{},[30,200,201],{},"CDC \u002F streaming",[171,203,204],{},"Debezium, AWS DMS, Estuary, StreamSets, Striim",[171,206,207],{},"CDC mode for real-time replication from WAL \u002F binlog",[24,209,210,211,215],{},"See the full ",[74,212,214],{"href":213},"\u002Fvs","comparison hub"," for side-by-side pages.",[19,217,219],{"id":218},"how-does-dbconvert-streams-compare-on-pricing-and-infrastructure","How does DBConvert Streams compare on pricing and infrastructure?",[147,221,222,238],{},[150,223,224],{},[153,225,226,229,232,235],{},[156,227,228],{},"Tool",[156,230,231],{},"Hosting",[156,233,234],{},"Infrastructure",[156,236,237],{},"Pricing model",[166,239,240,256,270,283,295],{},[153,241,242,247,250,253],{},[171,243,244],{},[30,245,246],{},"DBConvert Streams",[171,248,249],{},"Self-hosted",[171,251,252],{},"Docker Compose or desktop app",[171,254,255],{},"Per-seat license",[153,257,258,261,264,267],{},[171,259,260],{},"Fivetran",[171,262,263],{},"Managed cloud (SaaS)",[171,265,266],{},"None (provider-managed)",[171,268,269],{},"Usage-based (per row \u002F MAR)",[153,271,272,275,277,280],{},[171,273,274],{},"Airbyte OSS",[171,276,249],{},[171,278,279],{},"Typically Kubernetes + workers",[171,281,282],{},"Free (infrastructure cost)",[153,284,285,288,290,293],{},[171,286,287],{},"Debezium",[171,289,249],{},[171,291,292],{},"Kafka + Kafka Connect + sink",[171,294,282],{},[153,296,297,300,303,306],{},[171,298,299],{},"DBeaver \u002F DataGrip",[171,301,302],{},"Desktop",[171,304,305],{},"None (client-only)",[171,307,255],{},[19,309,311],{"id":310},"do-i-need-kafka-or-kubernetes-to-run-cdc-replication","Do I need Kafka or Kubernetes to run CDC replication?",[24,313,314,317],{},[30,315,316],{},"No."," DBConvert Streams runs CDC without Kafka, Zookeeper, or Kubernetes.",[34,319,320,323,326],{},[37,321,322],{},"The only required message broker is NATS.",[37,324,325],{},"NATS ships with the product — embedded into a single process in the desktop app, included as a container in the Docker Compose stack.",[37,327,328],{},"No separate installation, configuration, or scaling.",[19,330,332],{"id":331},"is-there-a-self-hosted-alternative-to-fivetran-or-airbyte","Is there a self-hosted alternative to Fivetran or Airbyte?",[24,334,335,337],{},[30,336,121],{}," DBConvert Streams is built for this.",[34,339,340,346,352],{},[37,341,342,345],{},[30,343,344],{},"vs Fivetran"," — no cloud account, no usage-based fees.",[37,347,348,351],{},[30,349,350],{},"vs Airbyte"," — no Kubernetes, no separate worker pool, single-stack install.",[37,353,354],{},"Runs on any Linux server, your own hardware, or a desktop machine with Docker.",[19,356,358],{"id":357},"how-does-dbconvert-streams-compare-to-database-ides-like-dbeaver-or-datagrip","How does DBConvert Streams compare to database IDEs like DBeaver or DataGrip?",[24,360,361,362,365],{},"Traditional IDEs are great for browsing and editing, but they don't move data between systems or support real-time replication. DBConvert Streams includes a full database IDE ",[30,363,364],{},"plus"," migration and CDC in the same workflow.",[147,367,368,379],{},[150,369,370],{},[153,371,372,375,377],{},[156,373,374],{},"Capability",[156,376,299],{},[156,378,246],{},[166,380,381,391,401,410,419],{},[153,382,383,386,389],{},[171,384,385],{},"SQL editor, table browsing, ER diagrams",[171,387,388],{},"✓",[171,390,388],{},[153,392,393,396,399],{},[171,394,395],{},"Query files and S3 with SQL (DuckDB)",[171,397,398],{},"✗",[171,400,388],{},[153,402,403,406,408],{},[171,404,405],{},"Federated queries across connections",[171,407,398],{},[171,409,388],{},[153,411,412,415,417],{},[171,413,414],{},"Bulk migration between heterogeneous databases",[171,416,398],{},[171,418,388],{},[153,420,421,424,426],{},[171,422,423],{},"Real-time CDC replication",[171,425,398],{},[171,427,388],{},[24,429,107,430,434],{},[74,431,433],{"href":432},"\u002Fdata-explorer","Data Explorer"," for the IDE workflow.",[19,436,438],{"id":437},"can-i-run-database-replication-without-managed-infrastructure","Can I run database replication without managed infrastructure?",[24,440,441,443],{},[30,442,121],{}," DBConvert Streams deploys on a plain Linux VPS, your own hardware, or a desktop machine. It does not require cloud-managed services, external queues, or third-party connectors. If you can run Docker, you can run DBS.",[19,445,447],{"id":446},"what-is-the-difference-between-dbconvert-streams-and-debezium","What is the difference between DBConvert Streams and Debezium?",[24,449,450],{},"Debezium captures changes but, in typical deployments, only publishes them to Kafka — separate sink connectors or consumers are needed to land the data. DBConvert Streams handles the full pipeline.",[147,452,453,464],{},[150,454,455],{},[153,456,457,459,462],{},[156,458],{},[156,460,461],{},"Debezium (typical setup)",[156,463,246],{},[166,465,466,475,486,497],{},[153,467,468,471,473],{},[171,469,470],{},"Source capture",[171,472,388],{},[171,474,388],{},[153,476,477,480,483],{},[171,478,479],{},"Message transport",[171,481,482],{},"Kafka required",[171,484,485],{},"NATS (bundled)",[153,487,488,491,494],{},[171,489,490],{},"Target writer",[171,492,493],{},"Separate sink connector",[171,495,496],{},"Built-in",[153,498,499,502,505],{},[171,500,501],{},"Pipeline scope",[171,503,504],{},"Capture only",[171,506,507],{},"End-to-end",[19,509,511],{"id":510},"how-much-does-it-cost-to-replicate-mysql-to-postgresql-in-real-time","How much does it cost to replicate MySQL to PostgreSQL in real time?",[24,513,514,515,518,519,523],{},"DBConvert Streams is licensed ",[30,516,517],{},"per seat",", not per row or per connector. There are no usage-based fees. See the ",[74,520,522],{"href":521},"\u002Fpricing","Pricing page"," for current plans.",[14,525,527],{"id":526},"streams-and-data-transfer","Streams and Data Transfer",[19,529,531],{"id":530},"how-do-i-choose-between-load-and-cdc-mode","How do I choose between Load and CDC mode?",[34,533,534,540],{},[37,535,536,539],{},[30,537,538],{},"Load mode"," reads existing data in bulk. Use it for initial loads, one-time migrations, or when you do not need continuous replication.",[37,541,542,545],{},[30,543,544],{},"CDC mode"," captures ongoing changes from transaction logs (WAL \u002F binlog). Use it for real-time replication after the initial load.",[24,547,107,548,552],{},[74,549,551],{"href":550},"\u002Fdocs\u002Fstreams\u002Ftype-of-streams-cdc-conversion","CDC vs Load"," for a detailed comparison.",[19,554,556],{"id":555},"can-i-do-initial-load-and-cdc-in-one-stream","Can I do initial load and CDC in one stream?",[24,558,559,562,563,566],{},[30,560,561],{},"Yes, when supported."," Use a CDC stream with ",[30,564,565],{},"Initial Load + CDC"," enabled.",[34,568,569,572],{},[37,570,571],{},"The stream first copies existing rows (initial snapshot).",[37,573,574],{},"After bootstrap completes, it continues with ongoing CDC changes in the same stream.",[24,576,577],{},"If Initial Load + CDC is not supported for your source-target shape, use the two-step pattern: run Load first, then start CDC.",[24,579,107,580,583,584,98],{},[74,581,565],{"href":582},"\u002Fdocs\u002Fstreams\u002Finitial-load-and-cdc"," and the ",[74,585,587],{"href":586},"\u002Fdocs\u002Fguide\u002Fintro#capability-matrix","Capability Matrix",[19,589,591],{"id":590},"does-dbconvert-streams-support-resumable-initial-load-continuation","Does DBConvert Streams support resumable initial-load continuation?",[24,593,594,597],{},[30,595,596],{},"Yes, for eligible flows."," DBConvert Streams supports resumable chunked snapshot copy for large bootstrap\u002Fload paths where the route is eligible.",[34,599,600,603],{},[37,601,602],{},"On interruption, the stream can continue from saved chunk state instead of restarting the whole table copy.",[37,604,605],{},"Eligibility depends on source\u002Ftarget path and execution mode.",[24,607,107,608,612],{},[74,609,611],{"href":610},"\u002Fdocs\u002Fstreams\u002Fresumable-load","Resumable Load"," for exact routing and limits.",[19,614,616,617,621],{"id":615},"what-does-the-databundlesize-parameter-control","What does the ",[618,619,620],"code",{},"dataBundleSize"," parameter control?",[24,623,624,625,627],{},"The ",[618,626,620],{}," parameter sets how many rows are grouped per event during transfer (default: 100).",[34,629,630,636],{},[37,631,632,635],{},[30,633,634],{},"Simple tables with few columns:"," increase for higher throughput.",[37,637,638,641],{},[30,639,640],{},"Wide tables or tables with binary\u002FLOB data:"," decrease to stay within message size limits.",[24,643,644,645,649],{},"Adjust based on record size, available memory, and network capacity. See ",[74,646,648],{"href":647},"\u002Fdocs\u002Fstreams\u002Fstream-configuration-guide","Stream Configuration Guide"," for details.",[19,651,653],{"id":652},"can-i-set-limits-on-stream-operations","Can I set limits on stream operations?",[24,655,656,658],{},[30,657,121],{}," Two limit types are available:",[147,660,661,671],{},[150,662,663],{},[153,664,665,668],{},[156,666,667],{},"Parameter",[156,669,670],{},"Effect",[166,672,673,683],{},[153,674,675,680],{},[171,676,677],{},[618,678,679],{},"numberOfEvents",[171,681,682],{},"Stop after processing this many events",[153,684,685,690],{},[171,686,687],{},[618,688,689],{},"elapsedTime",[171,691,692],{},"Stop after this many seconds",[694,695,700],"pre",{"className":696,"code":697,"language":698,"meta":699,"style":699},"language-json shiki shiki-themes github-light github-dark","{\n  \"limits\": {\n    \"numberOfEvents\": 1000000,\n    \"elapsedTime\": 3600\n  }\n}\n","json","",[618,701,702,711,721,736,747,753],{"__ignoreMap":699},[703,704,707],"span",{"class":705,"line":706},"line",1,[703,708,710],{"class":709},"sVt8B","{\n",[703,712,714,718],{"class":705,"line":713},2,[703,715,717],{"class":716},"sj4cs","  \"limits\"",[703,719,720],{"class":709},": {\n",[703,722,724,727,730,733],{"class":705,"line":723},3,[703,725,726],{"class":716},"    \"numberOfEvents\"",[703,728,729],{"class":709},": ",[703,731,732],{"class":716},"1000000",[703,734,735],{"class":709},",\n",[703,737,739,742,744],{"class":705,"line":738},4,[703,740,741],{"class":716},"    \"elapsedTime\"",[703,743,729],{"class":709},[703,745,746],{"class":716},"3600\n",[703,748,750],{"class":705,"line":749},5,[703,751,752],{"class":709},"  }\n",[703,754,756],{"class":705,"line":755},6,[703,757,758],{"class":709},"}\n",[19,760,762],{"id":761},"how-does-table-structure-creation-work-on-the-target","How does table structure creation work on the target?",[24,764,765,766,769],{},"DBConvert Streams can automatically create tables on the target using ",[618,767,768],{},"structureOptions",":",[34,771,772,775],{},[37,773,774],{},"Automatically maps data types between different databases",[37,776,777],{},"Creates corresponding indexes",[24,779,780,781,784],{},"To speed up initial loads, set ",[618,782,783],{},"structureOptions.indexes: \"disabled\""," and create indexes after the data transfer completes.",[14,786,788],{"id":787},"common-migrations","Common Migrations",[19,790,792],{"id":791},"how-do-i-migrate-from-mysql-to-postgresql","How do I migrate from MySQL to PostgreSQL?",[24,794,795],{},"Two steps:",[84,797,798,804],{},[37,799,800,803],{},[30,801,802],{},"Initial load"," — use Load mode. Schema is mapped automatically from MySQL types to PostgreSQL equivalents.",[37,805,806,809],{},[30,807,808],{},"Ongoing changes"," — switch to CDC mode to replicate with minimal lag.",[24,811,107,812,816,817,98],{},[74,813,815],{"href":814},"\u002Fdocs\u002Fintegration\u002Fmysql-conversion-configuration","MySQL Load Configuration"," and ",[74,818,820],{"href":819},"\u002Fdocs\u002Fintegration\u002Fmysql-cdc-source-configuration","MySQL CDC Configuration",[19,822,824],{"id":823},"how-do-i-replicate-postgresql-changes-to-s3","How do I replicate PostgreSQL changes to S3?",[24,826,827,828,831,832,835],{},"Set PostgreSQL as the CDC source and an S3-compatible bucket as the target. Change events are written as ",[30,829,830],{},"JSONL"," or ",[30,833,834],{},"Parquet"," files.",[24,837,838],{},"Supported providers:",[34,840,841,844,847,850],{},[37,842,843],{},"AWS S3",[37,845,846],{},"MinIO",[37,848,849],{},"Cloudflare R2",[37,851,852],{},"Any S3-compatible API",[24,854,107,855,816,859,98],{},[74,856,858],{"href":857},"\u002Fdocs\u002Fintegration\u002Fpostgres-cdc-source-configuration","PostgreSQL CDC Configuration",[74,860,862],{"href":861},"\u002Fdocs\u002Fconnections\u002Fs3-compatible-storage","S3-Compatible Storage",[19,864,866],{"id":865},"can-i-sync-mysql-or-postgresql-to-snowflake","Can I sync MySQL or PostgreSQL to Snowflake?",[128,868,871],{"title":869,"type":870},"Coming soon","warning",[24,872,873,874,878],{},"Snowflake target support is in active development. Subscribe to updates on the ",[74,875,877],{"href":876},"\u002Fwhats-new","What's New"," page to be notified when it ships.",[19,880,882],{"id":881},"can-i-migrate-only-specific-tables-or-rows","Can I migrate only specific tables or rows?",[24,884,885,887],{},[30,886,121],{}," Two levels of filtering are available:",[34,889,890,896],{},[37,891,892,895],{},[30,893,894],{},"Tables"," — schema selection settings include or exclude specific tables.",[37,897,898,901,902,831,906,910],{},[30,899,900],{},"Rows"," — ",[74,903,905],{"href":904},"\u002Fdocs\u002Fstreams\u002Fdata-filter-guide","Data Filters",[74,907,909],{"href":908},"\u002Fdocs\u002Fstreams\u002Fcustom-sql-queries","Custom SQL Queries"," limit which rows get transferred.",[14,912,914],{"id":913},"database-explorer","Database Explorer",[19,916,918],{"id":917},"what-can-i-do-with-data-explorer","What can I do with Data Explorer?",[24,920,921],{},"Data Explorer lets you browse and work with connected databases directly within DBConvert Streams:",[34,923,924,927,930,933,936,939,946,949],{},[37,925,926],{},"Browse tables, views, and functions across connections",[37,928,929],{},"Examine column definitions, keys, and indexes",[37,931,932],{},"View and edit table data",[37,934,935],{},"View DDL statements",[37,937,938],{},"Visualize table relationships through ER diagrams",[37,940,941,942],{},"Run SQL queries via the ",[74,943,945],{"href":944},"\u002Fdocs\u002Fdatabase-explorer\u002Fsql-console","SQL Console",[37,947,948],{},"Query local files and S3 objects using DuckDB",[37,950,951,952,956],{},"Run ",[74,953,955],{"href":954},"\u002Fdocs\u002Fdatabase-explorer\u002Ffederated-queries","federated queries"," across multiple sources",[24,958,107,959,963],{},[74,960,962],{"href":961},"\u002Fdocs\u002Fdatabase-explorer\u002F","Data Explorer documentation"," for full details.",[19,965,967],{"id":966},"how-do-i-access-data-explorer","How do I access Data Explorer?",[24,969,970,971,973],{},"Click the ",[30,972,433],{}," icon in the left sidebar. It opens a full workspace with a connection tree, tabs for tables and queries, and a bottom logs panel.",[19,975,977],{"id":976},"can-i-query-files-and-s3-storage-with-sql","Can I query files and S3 storage with SQL?",[24,979,980,982,983,986,987,990,991,994,995,98],{},[30,981,121],{}," Select a file or S3 connection in Data Explorer, and the SQL Console switches to DuckDB mode. Use ",[618,984,985],{},"read_parquet()",", ",[618,988,989],{},"read_csv_auto()",", and ",[618,992,993],{},"read_json_auto()"," to query files directly. See ",[74,996,998],{"href":997},"\u002Fdocs\u002Fdatabase-explorer\u002Fsql-console#file-and-s3-sql-console","SQL Console — File and S3",[19,1000,1002],{"id":1001},"what-are-federated-queries","What are federated queries?",[24,1004,1005,1006,98],{},"Federated queries let you JOIN data across multiple databases and file sources in a single SQL statement. Select two or more connections, assign aliases, and write alias-qualified queries — all powered by DuckDB. See ",[74,1007,1008],{"href":954},"Federated Queries",[19,1010,1012],{"id":1011},"can-i-run-one-federated-sql-query-across-mysql-postgresql-and-s3","Can I run one federated SQL query across MySQL, PostgreSQL, and S3?",[24,1014,1015,1017],{},[30,1016,121],{}," In Data Explorer, federated queries can combine multiple database and file\u002Fobject sources in one SQL statement.",[34,1019,1020,1023],{},[37,1021,1022],{},"Typical pattern: JOIN MySQL and PostgreSQL tables with data from S3 in a single query.",[37,1024,1025],{},"For file\u002Fobject inputs, common formats include CSV, JSON, and Parquet.",[24,1027,107,1028,816,1030,98],{},[74,1029,1008],{"href":954},[74,1031,998],{"href":997},[14,1033,1035],{"id":1034},"troubleshooting","Troubleshooting",[19,1037,1039],{"id":1038},"slow-consumer-messages-dropped-error","\"Slow consumer, messages dropped\" error",[24,1041,1042,1043,1045],{},"This NATS error means the target writer cannot keep up with incoming messages. Reduce ",[618,1044,620],{}," to send smaller payloads per message. For tables with wide or binary-heavy rows, start with a low value (e.g., 10) and increase gradually.",[19,1047,1049],{"id":1048},"data-size-exceeds-max-payload-error","\"Data size exceeds max payload\" error",[24,1051,1052],{},"This occurs when a single message exceeds the NATS payload limit (default: 1 MB). To resolve:",[84,1054,1055,1065],{},[37,1056,1057,1058,1060,1061,1064],{},"Reduce ",[618,1059,620],{}," — even to ",[618,1062,1063],{},"1"," if rows are very large.",[37,1066,1067,1068,1071,1072,1075],{},"If the error persists at ",[618,1069,1070],{},"dataBundleSize=1",", increase the NATS ",[618,1073,1074],{},"max_payload"," setting:",[694,1077,1082],{"className":1078,"code":1080,"language":1081},[1079],"language-text","port: 4222\n\njetstream = {\n  store_dir: \"\u002Fdata\u002Fnats-server\u002F\"\n}\n\nmax_payload: 8MB\n","text",[618,1083,1080],{"__ignoreMap":699},[19,1085,1087],{"id":1086},"postgresql-connection-timeout-after-inactivity","PostgreSQL connection timeout after inactivity",[24,1089,1090,1091,1094],{},"The error ",[618,1092,1093],{},"SendStandbyStatusUpdate failed: write failed: closed"," appears when a connection times out after roughly 30 minutes of inactivity. Extend the idle timeout in your connection string:",[694,1096,1099],{"className":1097,"code":1098,"language":1081},[1079],"postgres:\u002F\u002Fpostgres:passw0rd@pghost.com:5432\u002Fmydb?pool_max_conn_idle_time=10h\n",[618,1100,1098],{"__ignoreMap":699},[19,1102,1104],{"id":1103},"postgresql-checkpoint-frequency-warnings","PostgreSQL checkpoint frequency warnings",[24,1106,1107,1108,1111,1112,831,1115,1118,1119,1122],{},"If you see ",[618,1109,1110],{},"checkpoints are occurring too frequently",", increase ",[618,1113,1114],{},"max_wal_size",[618,1116,1117],{},"checkpoint_timeout"," in ",[618,1120,1121],{},"postgresql.conf",". This is common during large bulk transfers that generate heavy WAL activity.",[14,1124,1126],{"id":1125},"security","Security",[19,1128,1130],{"id":1129},"how-are-credentials-managed","How are credentials managed?",[24,1132,1133,1134,649],{},"DBConvert Streams encrypts all sensitive information (database passwords, SSL\u002FTLS certificates, client certificates, API keys). The desktop app stores secrets in an encrypted file under its app data directory. Docker deployments can optionally use HashiCorp Vault. See ",[74,1135,1137],{"href":1136},"\u002Fdocs\u002Fnetwork-security\u002Fcredential-management","Credential Management",[19,1139,1141],{"id":1140},"what-ssltls-modes-are-supported","What SSL\u002FTLS modes are supported?",[147,1143,1144,1154],{},[150,1145,1146],{},[153,1147,1148,1151],{},[156,1149,1150],{},"Mode",[156,1152,1153],{},"Description",[166,1155,1156,1164,1172,1180],{},[153,1157,1158,1161],{},[171,1159,1160],{},"Disable",[171,1162,1163],{},"No encryption (development only)",[153,1165,1166,1169],{},[171,1167,1168],{},"Require",[171,1170,1171],{},"Encrypted connection, no certificate verification",[153,1173,1174,1177],{},[171,1175,1176],{},"Verify-CA",[171,1178,1179],{},"Server certificate verified against CA",[153,1181,1182,1185],{},[171,1183,1184],{},"Verify-Full",[171,1186,1187],{},"Full verification including hostname validation",[24,1189,107,1190,112],{},[74,1191,1193],{"href":1192},"\u002Fdocs\u002Fnetwork-security\u002Fssl-configuration","SSL Configuration",[14,1195,1197],{"id":1196},"performance","Performance",[19,1199,1201],{"id":1200},"how-can-i-optimize-large-data-transfers","How can I optimize large data transfers?",[24,1203,1204],{},[30,1205,1206],{},"For initial bulk loads:",[34,1208,1209,1212,1218],{},[37,1210,1211],{},"Use Load mode",[37,1213,1214,1215,1217],{},"Disable index creation (",[618,1216,783],{},") and create indexes after the transfer",[37,1219,1220,1221,1223],{},"Increase ",[618,1222,620],{}," for simple tables",[24,1225,1226],{},[30,1227,1228],{},"For continuous replication:",[34,1230,1231,1234],{},[37,1232,1233],{},"Use CDC mode for minimal source impact",[37,1235,1236,1237,1241],{},"Monitor resource usage through the ",[74,1238,1240],{"href":1239},"\u002Fdocs\u002Foperations\u002Fobservability","Observability"," dashboard",[14,1243,1245],{"id":1244},"additional-resources","Additional Resources",[34,1247,1248,1252,1258,1264,1268],{},[37,1249,1250],{},[74,1251,648],{"href":647},[37,1253,1254],{},[74,1255,1257],{"href":1256},"\u002Fdocs\u002Fconnections\u002Fpostgresql-server","PostgreSQL Connection Setup",[37,1259,1260],{},[74,1261,1263],{"href":1262},"\u002Fdocs\u002Fconnections\u002Fmysql-server","MySQL Connection Setup",[37,1265,1266],{},[74,1267,1193],{"href":1192},[37,1269,1270],{},[74,1271,1273],{"href":1272},"\u002Fdocs\u002Fglossary","Glossary",[1275,1276,1277],"style",{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":699,"searchDepth":713,"depth":713,"links":1279},[1280,1285,1295,1304,1310,1317,1323,1327,1330],{"id":16,"depth":713,"text":17,"children":1281},[1282,1283,1284],{"id":21,"depth":723,"text":22},{"id":81,"depth":723,"text":82},{"id":115,"depth":723,"text":116},{"id":125,"depth":713,"text":126,"children":1286},[1287,1288,1289,1290,1291,1292,1293,1294],{"id":141,"depth":723,"text":142},{"id":218,"depth":723,"text":219},{"id":310,"depth":723,"text":311},{"id":331,"depth":723,"text":332},{"id":357,"depth":723,"text":358},{"id":437,"depth":723,"text":438},{"id":446,"depth":723,"text":447},{"id":510,"depth":723,"text":511},{"id":526,"depth":713,"text":527,"children":1296},[1297,1298,1299,1300,1302,1303],{"id":530,"depth":723,"text":531},{"id":555,"depth":723,"text":556},{"id":590,"depth":723,"text":591},{"id":615,"depth":723,"text":1301},"What does the dataBundleSize parameter control?",{"id":652,"depth":723,"text":653},{"id":761,"depth":723,"text":762},{"id":787,"depth":713,"text":788,"children":1305},[1306,1307,1308,1309],{"id":791,"depth":723,"text":792},{"id":823,"depth":723,"text":824},{"id":865,"depth":723,"text":866},{"id":881,"depth":723,"text":882},{"id":913,"depth":713,"text":914,"children":1311},[1312,1313,1314,1315,1316],{"id":917,"depth":723,"text":918},{"id":966,"depth":723,"text":967},{"id":976,"depth":723,"text":977},{"id":1001,"depth":723,"text":1002},{"id":1011,"depth":723,"text":1012},{"id":1034,"depth":713,"text":1035,"children":1318},[1319,1320,1321,1322],{"id":1038,"depth":723,"text":1039},{"id":1048,"depth":723,"text":1049},{"id":1086,"depth":723,"text":1087},{"id":1103,"depth":723,"text":1104},{"id":1125,"depth":713,"text":1126,"children":1324},[1325,1326],{"id":1129,"depth":723,"text":1130},{"id":1140,"depth":723,"text":1141},{"id":1196,"depth":713,"text":1197,"children":1328},[1329],{"id":1200,"depth":723,"text":1201},{"id":1244,"depth":713,"text":1245},"Frequently asked questions about DBConvert Streams.","md",{},false,"\u002Fdocs\u002Ffaq",null,{"title":5,"description":1331},"docs\u002Ffaq","wt2Z3ZNPGWl6ftZQymuxi7oQEM-Yovh25hGAq3GIsHk",1783896284350]