相关文章推荐
小百科
›
Timescale Documentation | Troubleshooting known issues
table
帅气的煎饼果子
2 年前
</noscript><div id="___gatsby"><div style="outline:none" tabindex="-1" id="gatsby-focus-wrapper"><div class="h-screen w-screen grid grid-rows-[auto_1fr]"><div class="my-0 w-full overflow-y-hidden"><a id="skip" href="#main-content">Skip to content</a><div class="h-full grid grid-rows-[auto_1fr]"><header class="ts-header"><div class="w-full grid grid-cols-[4px_161px_1fr_4px] show-sidebar:grid-cols-[4px_320px_1fr_4px] xl:grid-cols-[4px_400px_1fr_4px] max-screen:grid-cols-[1fr_400px_1168px_1fr] py-4 gap-4"><div class="ts-header__logo col-start-2"><a class="" section="main nav" subsection="logo" contains="logo" href="/"><img src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYxIiBoZWlnaHQ9IjM2IiB2aWV3Qm94PSIwIDAgMTYxIDM2IiBmaWxsPSJub25lIgogICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF81MjlfMjE5MikiPgogICAgICAgIDxwYXRoCiAgICAgICAgICAgIGQ9Ik0zNi4wOTAyIDE4LjAwOEMzNi4wOTAyIDI1LjM0OTkgMzEuNjg3MSAzMS42NjU4IDI1LjM3MzUgMzQuNDY5N0wxOS4zNzg0IDI4LjQ0NDFDMTkuMTI4MSAyOC4xOTI0IDE4Ljk4NzYgMjcuODUyNCAxOC45ODc2IDI3LjQ5ODFWMjQuOTIzN0MxOC45ODc2IDI0LjU1MjcgMTkuMjg5MSAyNC4yNTIzIDE5LjY2MDggMjQuMjUyM0gyNS40NDkxTDI3LjAzMjkgMjQuOTQwN0MyNy4zMTkgMjUuMDY0OSAyNy42NTM5IDI0Ljk1MDcgMjcuODAzOSAyNC42NzcyTDMxLjIzOTggMTguNDMyOUMzMS4zNDg4IDE4LjIzNDggMzEuNDA2IDE4LjAxMjYgMzEuNDA2IDE3Ljc4NjhWMTYuMzE3OUMzMS40MDYgMTYuMTUwMSAzMS4zMzcgMTUuOTg4OSAzMS4yMTU5IDE1Ljg3M0wyNC4yNzI4IDguOTY0MTVDMjQuMjE1NyA4LjkwODczIDI0LjE0MzEgOC44Njg0NSAyNC4wNjQyIDguODQ5OTdMMTcuMzA0OCA3LjI0NzM0QzE3LjA5MzYgNy4xOTczMSAxNi44OTc2IDcuMDk2OTggMTYuNzMzNSA2Ljk1NDgzTDE2LjMwNjQgNi41ODUxTDE0LjEzODUgNC43MTE1MUMxNC4wNjM2IDQuNjQ2ODUgMTMuOTQ3NiA0LjY1MDE5IDEzLjg3NCA0LjcxNjY0QzEzLjAzNyA1LjQ3MzA2IDEyLjU4MzIgNi4wOTU1MyAxMi4zNjQzIDYuOTIwOTdDMTEuOTk5IDguMjEwMzEgMTIuMzEyMSA5LjM1MzY1IDEyLjgyNzMgMTAuMDQ2OUMxMi44NTkyIDEwLjA5MDYgMTIuODkxNCAxMC4xMzI2IDEyLjkyNDggMTAuMTcxMUwxNS41MTAzIDEyLjc1NDlDMTUuNjM2NiAxMi44NzkxIDE1LjcwNTUgMTMuMDQ4NyAxNS43MDU1IDEzLjIyNjhMMTUuNzA3MyAxNi4yMDU4QzE1LjcwNzMgMTYuMzk5NSAxNS40NzI3IDE2LjQ5NjUgMTUuMzM1NCAxNi4zNTk3TDExLjEyMTMgMTIuMTU2M0MxMS4wMDc2IDEyLjA0MjkgMTAuODIzMiAxMi4wNDI3IDEwLjcwOTIgMTIuMTU2MUw4Ljk3NDcgMTMuODgwOEM4Ljg2MDQ5IDEzLjk5NDUgOC44NjA0OSAxNC4xNzg3IDguOTc0NDQgMTQuMjkyN0wxNC45NjM3IDIwLjI2NjdDMTUuNjUzMyAyMC45NTQ2IDE2LjA0MSAyMS44ODc4IDE2LjA0MSAyMi44NjA4VjI4Ljc5NTZDMTYuMDQxIDI5LjE5MzMgMTYuMTk5NCAyOS41NzQ5IDE2LjQ4MTQgMjkuODU2MUwyMi4xODEyIDM1LjU0MzNDMjEuMTAzOSAzNS43OTUgMTkuOTg5OCAzNS45NTEyIDE4Ljg0NjkgMzZMMTQuMzQ3NiAzMS41MTIxQzEzLjcyMDQgMzAuODg2NSAxMy4zNjggMzAuMDM4IDEzLjM2OCAyOS4xNTMzVjIzLjAxMTlDMTMuMzY4IDIyLjY1ODEgMTMuMjI3MSAyMi4zMTg5IDEyLjk3NjUgMjIuMDY5TDcuMDc1NTIgMTYuMTgyOUM2Ljk2MTgyIDE2LjA2OTUgNi43NzcxMyAxNi4wNjkyIDYuNjYzNDMgMTYuMTgyOUw0LjkxNjggMTcuOTIxQzQuODAyNTggMTguMDM0NyA0LjgwMjU4IDE4LjIxODkgNC45MTY4IDE4LjMzMjZMOS45OTcyMSAyMy40MDAxQzEwLjEyMTcgMjMuNTI2MSAxMC4xOTI1IDIzLjY5NTcgMTAuMTkyNSAyMy44NzJWMjYuODQzNUMxMC4xOTI1IDI3LjAzNjcgOS45NTgzNyAyNy4xMzM3IDkuODIxMjYgMjYuOTk2OUwzLjA5OTk0IDIwLjI5OTFDMi45OTQ0NyAyMC4xOTQxIDIuODE0NDEgMjAuMjY4MyAyLjgxNDE1IDIwLjQxNjhMMi44MDU5MiAyMy45NzQ2QzIuODA1NCAyNC4xOTc5IDIuODk0MTUgMjQuNDExOSAzLjA1MjM1IDI0LjU2OTlMMTQuMDkxNiAzNS41ODI4QzUuODEwOTUgMzMuNzM2MSAtMC4zMjIwNzYgMjYuMjA5MiAwLjAxMzEwMjcgMTcuMzEzMkMwLjM1NjUxMyA4LjIwMTg0IDcuNjQ0NTMgMC42NzI2MDggMTYuNzYzOCAwLjA0NDIzMTJDMjcuMzA5MiAtMC42ODI0MTcgMzYuMDkwMiA3LjYzOTE1IDM2LjA5MDIgMTguMDA3NyIKICAgICAgICAgICAgZmlsbD0iYmxhY2siIC8+CiAgICA8L2c+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgICAgICBkPSJNNjMuNDk1NSAxMi4xMjExQzYzLjg2OTcgMTIuNDc3NSA2NC4zMTgzIDEyLjY1NTUgNjQuODQxOCAxMi42NTU1QzY1LjM2NTMgMTIuNjU1NSA2NS44MDY2IDEyLjQ3NzUgNjYuMTY1NiAxMi4xMjExQzY2LjUyNDQgMTEuNzQ5OSA2Ni43MDQgMTEuMjk3MSA2Ni43MDQgMTAuNzYyNkM2Ni43MDQgMTAuMjI4MSA2Ni41MjQ3IDkuODEyMzUgNjYuMTY1NiA5LjQ3MDk5QzY1LjgwNjYgOS4xMTQ1OCA2NS4zNjUzIDguOTM2NTIgNjQuODQxOCA4LjkzNjUyQzY0LjMxODMgOC45MzY1MiA2My44Njk3IDkuMTE0NTggNjMuNDk1NSA5LjQ3MDk5QzYzLjEzNjggOS44MTIzNSA2Mi45NTcxIDEwLjI0MzIgNjIuOTU3MSAxMC43NjI2QzYyLjk1NzEgMTEuMjgyIDYzLjEzNjUgMTEuNzQ5OSA2My40OTU1IDEyLjEyMTFaIgogICAgICAgIGZpbGw9ImJsYWNrIiAvPgogICAgPHBhdGggZD0iTTY2LjQwNDMgMTQuMTQzNkg2My4yNTY5VjI2LjYzOTRINjYuNDA0M1YxNC4xNDM2WiIgZmlsbD0iYmxhY2siIC8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgICAgICBkPSJNNTIuODY0OSAyNi42MzlINTYuMTEzMlYxMi4yNjI3SDYxLjE1ODZWOS4zODI4MUg0Ny44MTk1VjEyLjI2MjdINTIuODY0OVYyNi42MzlaIgogICAgICAgIGZpbGw9ImJsYWNrIiAvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICAgICAgZD0iTTY4Ljk1MjIgMjYuNjM5MVYxNC4yNDM1SDcxLjU0NDRMNzEuNzgwMSAxNS45MDRDNzIuMTU3MyAxNS4yOTYgNzIuNzA3MyAxNC44MDQ4IDczLjQyOTkgMTQuNDMwNEM3NC4xNTI2IDE0LjA0MDYgNzQuOTY5NyAxMy44NDU3IDc1Ljg4MDkgMTMuODQ1N0M3Ni43OTIyIDEzLjg0NTcgNzcuNTIyOSAxNC4wNDA2IDc4LjE2NzMgMTQuNDMwNEM3OC44MTE0IDE0LjgyMDIgNzkuMzA2MSAxNS4zNzM3IDc5LjY1MjEgMTYuMDkwOUM4MC4wMTM1IDE1LjQzNTkgODAuNTYzNCAxNC44OTgyIDgxLjMwMTkgMTQuNDc3MUM4Mi4wNTYgMTQuMDU2MSA4Mi45MTI0IDEzLjg0NTcgODMuODcwOCAxMy44NDU3Qzg1LjE1OTIgMTMuODQ1NyA4Ni4xODggMTQuMjY2OCA4Ni45NTggMTUuMTA4NkM4Ny43NDM2IDE1LjkzNDkgODguMTM2NSAxNy4wNDE5IDg4LjEzNjUgMTguNDI5N1YyNi42Mzg4SDg0LjkzMTNWMTguNTcwMkM4NC45MzEzIDE3Ljk2MiA4NC43NTA4IDE3LjQ3ODcgODQuMzg5MiAxNy4xMjAxQzg0LjA0MzggMTYuNzQ1OCA4My41NzI0IDE2LjU1ODkgODIuOTc1NCAxNi41NTg5QzgyLjE0MjcgMTYuNTU4OSA4MS40NTkzIDE2LjgwMDYgODAuOTI1IDE3LjI4MzhDODAuNDA2NSAxNy43NjcxIDgwLjE0NzUgMTguMzgzIDgwLjE0NzUgMTkuMTMxNFYyNi42Mzg4SDc2Ljk0MjNWMTguNTcwMkM3Ni45NDIzIDE3Ljk2MiA3Ni43NjE4IDE3LjQ3ODcgNzYuNDAwMiAxNy4xMjAxQzc2LjA1NDggMTYuNzQ1OCA3NS41ODM0IDE2LjU1ODkgNzQuOTg2NCAxNi41NTg5Qzc0LjE1MzQgMTYuNTU4OSA3My40NzgxIDE2LjgwMDYgNzIuOTU5NyAxNy4yODM4QzcyLjQ0MTMgMTcuNzY3MSA3Mi4xODIyIDE4LjM4MyA3Mi4xODIyIDE5LjEzMTRWMjYuNjM4OEg2OC45NTM0TDY4Ljk1MjIgMjYuNjM5MVoiCiAgICAgICAgZmlsbD0iYmxhY2siIC8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgICAgICBkPSJNMTAyLjIyNSAyMC4zNTZDMTAyLjIwOSAxOS4wMzg2IDEwMS45NDEgMTcuODkxMyAxMDEuNDIyIDE2LjkxNDdDMTAwLjkwMyAxNS45MjI4IDEwMC4xODcgMTUuMTYzMSA5OS4yNzQxIDE0LjYzNjJDOTguMzYxNCAxNC4xMDkzIDk3LjMwNzMgMTMuODQ1NyA5Ni4xMTExIDEzLjg0NTdDOTQuOTE0OSAxMy44NDU3IDkzLjgxMzYgMTQuMTI0NyA5Mi44NTM4IDE0LjY4MjlDOTEuODkzOSAxNS4yMjU1IDkxLjEzODMgMTYuMDAwMyA5MC41ODc1IDE3LjAwODJDOTAuMDUyNiAxOC4wMDAyIDg5Ljc4NSAxOS4xNDc0IDg5Ljc4NSAyMC40NDk0Qzg5Ljc4NSAyMS43NTE0IDkwLjA2MDQgMjIuODI4NiA5MC42MTEyIDIzLjgyMDhDOTEuMTYyIDI0Ljc5NzQgOTEuOTMzIDI1LjU2NDUgOTIuOTI0MyAyNi4xMjI3QzkzLjkzMTYgMjYuNjY1MyA5NS4wNzIzIDI2LjkzNjYgOTYuMzQ3MSAyNi45MzY2Qzk3Ljg0MTkgMjYuOTM2NiA5OS4xMDA4IDI2LjU2NDQgMTAwLjEyNCAyNS44MjA3QzEwMC44NTQgMjUuMjc4NCAxMDEuNDEyIDI0LjU4MjIgMTAxLjc5NyAyMy43MzIyTDk4LjkwOTYgMjIuOTcwMkM5OC43MDM5IDIzLjM1MzIgOTguNDE2MSAyMy42NTk4IDk4LjA0NjcgMjMuODkwOUM5Ny41OTAyIDI0LjE2OTkgOTcuMDMxNiAyNC4zMDkyIDk2LjM3MDkgMjQuMzA5MkM5NS40NDIzIDI0LjMwOTIgOTQuNjcxMyAyNC4wMTQ2IDk0LjA1NzggMjMuNDI1NkM5My40NDM5IDIyLjgzNjggOTMuMDc0MiAyMi4wNjE1IDkyLjk0ODEgMjEuMTAwNkgxMDIuMjI1VjIwLjM1NjJWMjAuMzU2Wk05My4wODk1IDE4Ljk4NDFDOTMuMjk0MyAxOC4yMDkgOTMuNjY0IDE3LjYwNDYgOTQuMTk5MiAxNy4xNzA0Qzk0LjczNDEgMTYuNzIwNyA5NS4zNzE0IDE2LjQ5NjEgOTYuMTExMSAxNi40OTYxQzk2Ljg1MDggMTYuNDk2MSA5Ny40NDA5IDE2LjcxMzMgOTcuOTI4NyAxNy4xNDczQzk4LjQxNjcgMTcuNTgxMyA5OC43NDcgMTguMTkzNCA5OC45MiAxOC45ODQxSDkzLjA4OThIOTMuMDg5NVoiCiAgICAgICAgZmlsbD0iYmxhY2siIC8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgICAgICBkPSJNMTA5LjAxMyAyNi45MzYzQzEwNy4xOTcgMjYuOTM2MyAxMDUuOCAyNi41NjQxIDEwNC44MjEgMjUuODIwMUMxMDQuMTQyIDI1LjMwNCAxMDMuNjggMjQuNjMxMiAxMDMuNDMzIDIzLjgwMkwxMDYuMzg0IDIzLjAyNThDMTA2LjQ5IDIzLjQxNTkgMTA2LjcwMyAyMy43MjczIDEwNy4wMjMgMjMuOTU5OUMxMDcuNDY1IDI0LjI1NDUgMTA4LjA1IDI0LjQwMTYgMTA4Ljc3NiAyNC40MDE2QzEwOS4zOTIgMjQuNDAxNiAxMDkuODY1IDI0LjI5MyAxMTAuMTk3IDI0LjA3NjFDMTEwLjUyOCAyMy44NDM2IDExMC42OTQgMjMuNTI1OSAxMTAuNjk0IDIzLjEyMjlDMTEwLjY5NCAyMi44NTkzIDExMC42MjQgMjIuNjU3OSAxMTAuNDgxIDIyLjUxODVDMTEwLjM1NSAyMi4zNjM1IDExMC4yMDUgMjIuMjU0OSAxMTAuMDMxIDIyLjE5MzFDMTA5Ljg1OCAyMi4xMTU2IDEwOS41MSAyMS45OTE2IDEwOC45ODkgMjEuODIwOUwxMDcuNDAzIDIxLjMwOTRDMTA2LjU1IDIxLjA0NTggMTA1LjgzOSAyMC43NzQ2IDEwNS4yNzEgMjAuNDk1NkMxMDQuNzE5IDIwLjIwMTIgMTA0LjI2OSAxOS44MjE0IDEwMy45MjEgMTkuMzU2M0MxMDMuNTkgMTguODc1OSAxMDMuNDI0IDE4LjI3ODkgMTAzLjQyNCAxNy41NjU5QzEwMy40MjQgMTYuNDM0MyAxMDMuODUgMTUuNTM1MiAxMDQuNzAzIDE0Ljg2ODdDMTA1LjU1NSAxNC4xODY1IDEwNi43NTUgMTMuODQ1NyAxMDguMzAzIDEzLjg0NTdDMTA5Ljg1IDEzLjg0NTcgMTExLjA0MiAxNC4yMjU2IDExMS45NzMgMTQuOTg1QzExMi42OTIgMTUuNTQ5OCAxMTMuMTg0IDE2LjMwMTggMTEzLjQ0OCAxNy4yNDE2TDExMC42MTcgMTcuOTg2MkMxMTAuNTI2IDE3LjQ4NTIgMTEwLjI5OSAxNy4xMDQ4IDEwOS45MzcgMTYuODQ1MkMxMDkuNTI2IDE2LjUzNTIgMTA4Ljk4MSAxNi4zODAyIDEwOC4zMDIgMTYuMzgwMkMxMDcuNzY1IDE2LjM4MDIgMTA3LjM0NyAxNi40ODEgMTA3LjA0NyAxNi42ODI1QzEwNi43NDcgMTYuODg0IDEwNi41OTcgMTcuMTYzIDEwNi41OTcgMTcuNTE5NEMxMDYuNTk3IDE3Ljc2NzQgMTA2LjY3NiAxNy45NzY4IDEwNi44MzQgMTguMTQ3MkMxMDcuMDA4IDE4LjMwMjIgMTA3LjE4OSAxOC40MTg1IDEwNy4zNzkgMTguNDk2QzEwNy41NjggMTguNTczNSAxMDcuOSAxOC42ODk4IDEwOC4zNzMgMTguODQ0OEwxMDkuODE4IDE5LjMzMzJDMTEwLjc5NyAxOS42NDMzIDExMS41NzEgMTkuOTUzMyAxMTIuMTM5IDIwLjI2MzNDMTEyLjcwNyAyMC41NTc3IDExMy4xNDEgMjAuOTM3NiAxMTMuNDQyIDIxLjQwMjZDMTEzLjc1NyAyMS44NTIzIDExMy45MTUgMjIuNDQxMyAxMTMuOTE1IDIzLjE2OTdDMTEzLjkxNSAyNC4zNDc3IDExMy40ODEgMjUuMjcwMSAxMTIuNjEzIDI1LjkzNjdDMTExLjc0NCAyNi42MDMyIDExMC41NDQgMjYuOTM2NiAxMDkuMDEzIDI2LjkzNjYiCiAgICAgICAgZmlsbD0iYmxhY2siIC8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgICAgICBkPSJNMTE3Ljg3MyAyNi4wOTk0QzExOC44NjEgMjYuNjU3NiAxMjAuMDIyIDI2LjkzNjYgMTIxLjM1NSAyNi45MzY2QzEyMy4wMzMgMjYuOTM2NiAxMjQuNDEzIDI2LjQ2MzggMTI1LjQ5NiAyNS41MTgzQzEyNi4xNjkgMjQuOTI5OSAxMjYuNjY0IDI0LjIxNTUgMTI2Ljk3OSAyMy4zNzQ4TDEyMy45NzkgMjIuNTgwNEMxMjMuODA5IDIyLjk3NDUgMTIzLjU3IDIzLjMxMDQgMTIzLjI2MSAyMy41ODgzQzEyMi43NTkgMjQuMDM4IDEyMi4xMjMgMjQuMjYyNSAxMjEuMzU1IDI0LjI2MjVDMTIwLjM2NyAyNC4yNjI1IDExOS41NjcgMjMuOTA2IDExOC45NTUgMjMuMTkzQzExOC4zNDMgMjIuNDgwMSAxMTguMDM3IDIxLjUxODkgMTE4LjAzNyAyMC4zMDk4QzExOC4wMzcgMTkuMTAwNyAxMTguMzM2IDE4LjIyNDcgMTE4LjkzMiAxNy41NDI4QzExOS41MjggMTYuODQ1MiAxMjAuMzEyIDE2LjQ5NjQgMTIxLjI4NCAxNi40OTY0QzEyMi4wNjggMTYuNDk2NCAxMjIuNzI3IDE2LjcyOSAxMjMuMjYxIDE3LjE5NEMxMjMuNjM3IDE3LjUxMTUgMTIzLjkwOCAxNy45MDU4IDEyNC4wNzMgMTguMzc3N0wxMjcuMTA0IDE3LjU3NUMxMjYuOTY0IDE3LjEzMjUgMTI2Ljc2NCAxNi43MTg3IDEyNi41MDcgMTYuMzMzN0MxMjUuOTkgMTUuNTQzMiAxMjUuMjg0IDE0LjkzMDggMTI0LjM5IDE0LjQ5NjhDMTIzLjQ5NiAxNC4wNjI4IDEyMi40NjkgMTMuODQ1NyAxMjEuMzA4IDEzLjg0NTdDMTIwLjA1MyAxMy44NDU3IDExOC45MzIgMTQuMTA5MyAxMTcuOTQzIDE0LjYzNjJDMTE2Ljk3MSAxNS4xNjMxIDExNi4yMDIgMTUuOTE1MSAxMTUuNjM4IDE2Ljg5MTdDMTE1LjA4OSAxNy44NjgyIDExNC44MTQgMTkuMDA3NSAxMTQuODE0IDIwLjMwOThDMTE0LjgxNCAyMS42MTIxIDExNS4wNzMgMjIuNzIwMyAxMTUuNTkxIDIzLjcyNzlDMTE2LjEyNCAyNC43MzU1IDExNi44ODUgMjUuNTI2IDExNy44NzMgMjYuMDk5NyIKICAgICAgICBmaWxsPSJibGFjayIgLz4KICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICAgIGQ9Ik0xMzguMTQ3IDE0LjI0MDdMMTM3Ljg2MyAxNi4xMDA5QzEzNy41MDEgMTUuNDAzMyAxMzYuOTM1IDE0Ljg1MyAxMzYuMTY0IDE0LjQ1MDFDMTM1LjQwOCAxNC4wNDcyIDEzNC41NTEgMTMuODQ1NyAxMzMuNTkgMTMuODQ1N0MxMzIuNDg5IDEzLjg0NTcgMTMxLjQ5NyAxNC4xMjQ3IDEzMC42MTYgMTQuNjgyOUMxMjkuNzUxIDE1LjIyNTUgMTI5LjA3NCAxNS45OTI2IDEyOC41ODYgMTYuOTg0OEMxMjguMDk4IDE3Ljk2MTQgMTI3Ljg1NCAxOS4wNzczIDEyNy44NTQgMjAuMzMyOUMxMjcuODU0IDIxLjU4ODQgMTI4LjEwNiAyMi43NjY3IDEyOC42MDkgMjMuNzc0MUMxMjkuMTEzIDI0Ljc2NjMgMTI5LjgwNSAyNS41NDExIDEzMC42ODcgMjYuMDk5NEMxMzEuNTg0IDI2LjY1NzYgMTMyLjU5MSAyNi45MzY2IDEzMy43MDggMjYuOTM2NkMxMzQuNTU4IDI2LjkzNjYgMTM1LjMxNCAyNi43NzM5IDEzNS45NzUgMjYuNDQ4MkMxMzYuNjM2IDI2LjEyMjcgMTM3LjE1NSAyNS42NzMxIDEzNy41MzMgMjUuMDk5NFYyNi41NjQ0SDE0MC43NDNWMTQuMjQwOUgxMzguMTQ3VjE0LjI0MDdaTTEzNi42MzYgMjMuMjE2MUMxMzYuMDU0IDIzLjk2MDIgMTM1LjI4MiAyNC4zMzIgMTM0LjMyMyAyNC4zMzJDMTMzLjM2MyAyNC4zMzIgMTMyLjYwNyAyMy45Njc2IDEzMi4wMDkgMjMuMjM5MkMxMzEuNDExIDIyLjQ5NDkgMTMxLjExMiAyMS41MzQgMTMxLjExMiAyMC4zNTU3QzEzMS4xMTIgMTkuMTc3MyAxMzEuNDExIDE4LjI3ODMgMTMyLjAwOSAxNy41NjUzQzEzMi42MDcgMTYuODM2NyAxMzMuMzg2IDE2LjQ3MjUgMTM0LjM0NiAxNi40NzI1QzEzNS4zMDYgMTYuNDcyNSAxMzYuMDU0IDE2LjgyOSAxMzYuNjM2IDE3LjU0MTlDMTM3LjIzNCAxOC4yNTUyIDEzNy41MzMgMTkuMTg1MyAxMzcuNTMzIDIwLjMzMjNDMTM3LjUzMyAyMS40NzkzIDEzNy4yMzQgMjIuNDcxNSAxMzYuNjM2IDIzLjIxNTgiCiAgICAgICAgZmlsbD0iYmxhY2siIC8+CiAgICA8cGF0aCBkPSJNMTQ2LjEzOSA5LjM4MjgxSDE0Mi45OTFWMjYuNjM5SDE0Ni4xMzlWOS4zODI4MVoiIGZpbGw9ImJsYWNrIiAvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICAgICAgZD0iTTE2MC4zMDEgMjAuMzU2QzE2MC4yODUgMTkuMDM4NiAxNjAuMDE3IDE3Ljg5MTMgMTU5LjQ5OCAxNi45MTQ3QzE1OC45NzkgMTUuOTIyOCAxNTguMjYzIDE1LjE2MzEgMTU3LjM1IDE0LjYzNjJDMTU2LjQzNyAxNC4xMDkzIDE1NS4zODMgMTMuODQ1NyAxNTQuMTg3IDEzLjg0NTdDMTUyLjk5MSAxMy44NDU3IDE1MS44OSAxNC4xMjQ3IDE1MC45MyAxNC42ODI5QzE0OS45NyAxNS4yMjU1IDE0OS4yMTQgMTYuMDAwMyAxNDguNjYzIDE3LjAwODJDMTQ4LjEyOSAxOC4wMDAyIDE0Ny44NjEgMTkuMTQ3NCAxNDcuODYxIDIwLjQ0OTRDMTQ3Ljg2MSAyMS43NTE0IDE0OC4xMzYgMjIuODI4NiAxNDguNjg3IDIzLjgyMDhDMTQ5LjIzOCAyNC43OTc0IDE1MC4wMDkgMjUuNTY0NSAxNTEgMjYuMTIyN0MxNTIuMDA4IDI2LjY2NTMgMTUzLjE0OCAyNi45MzY2IDE1NC40MjMgMjYuOTM2NkMxNTUuOTE4IDI2LjkzNjYgMTU3LjE3NyAyNi41NjQ0IDE1OC4yIDI1LjgyMDdDMTU4LjkzIDI1LjI3ODQgMTU5LjQ4OCAyNC41ODIyIDE1OS44NzMgMjMuNzMyMkwxNTYuOTg2IDIyLjk3MDJDMTU2Ljc4IDIzLjM1MzIgMTU2LjQ5MiAyMy42NTk4IDE1Ni4xMjMgMjMuODkwOUMxNTUuNjY2IDI0LjE2OTkgMTU1LjEwOCAyNC4zMDkyIDE1NC40NDcgMjQuMzA5MkMxNTMuNTE4IDI0LjMwOTIgMTUyLjc0NyAyNC4wMTQ2IDE1Mi4xMzQgMjMuNDI1NkMxNTEuNTIgMjIuODM2OCAxNTEuMTUgMjIuMDYxNSAxNTEuMDI0IDIxLjEwMDZIMTYwLjMwMVYyMC4zNTYyVjIwLjM1NlpNMTUxLjE2NSAxOC45ODQxQzE1MS4zNyAxOC4yMDkgMTUxLjc0IDE3LjYwNDYgMTUyLjI3NSAxNy4xNzA0QzE1Mi44MSAxNi43MjA3IDE1My40NDcgMTYuNDk2MSAxNTQuMTg3IDE2LjQ5NjFDMTU0LjkyNyAxNi40OTYxIDE1NS41MTcgMTYuNzEzMyAxNTYuMDA1IDE3LjE0NzNDMTU2LjQ5MyAxNy41ODEzIDE1Ni44MjMgMTguMTkzNCAxNTYuOTk2IDE4Ljk4NDFIMTUxLjE2NkgxNTEuMTY1WiIKICAgICAgICBmaWxsPSJibGFjayIgLz4KICAgIDxkZWZzPgogICAgICAgIDxjbGlwUGF0aCBpZD0iY2xpcDBfNTI5XzIxOTIiPgogICAgICAgICAgICA8cmVjdCB3aWR0aD0iMzYuMDkwMiIgaGVpZ2h0PSIzNiIgcng9IjE4IiBmaWxsPSJ3aGl0ZSIgLz4KICAgICAgICA8L2NsaXBQYXRoPgogICAgPC9kZWZzPgo8L3N2Zz4=" alt="TimescaleDB - Timeseries database for PostgreSQL" title="TimescaleDB" width="161" height="36"/></a></div><div class="ts-header__content justify-between col-start-3"><div class="ts-header__search-container"/><div class="ts-header__nav-container"><input type="checkbox" class="ts-header__mobile-nav--trigger" id="mobile-nav-trigger"/><label class="ts-header__mobile-nav--label" for="mobile-nav-trigger">Toggle Sidebar</label><div class="ts-header__mobile-nav__menu"><span/><span/><span/></div><nav aria-label="header" class="ts-header__nav"><ul class="ts-header__nav__list"><li class="ts-header__nav__timescale-link"><a href="https://www.timescale.com" target="_blank" rel="noreferrer" class="text-button-lg">Timescale.com</a></li><li class="ts-header__nav__list__item ts-header__nav__list__item__cta"><a href="https://console.cloud.timescale.com/signup" target="_blank" class="outboundlink inline-block text-button text-center px-7 py-[0.765625rem] rounded-[9999px] text-grayscale-0 bg-grayscale-900 undefined" rel="noopener">Try for free</a></li></ul></nav></div></div></div></header><div class="block relative show-sidebar:grid show-sidebar:gap-4 show-sidebar:grid-cols-[4px_320px_1fr] xl:grid-cols-[4px_400px_1fr] max-screen:grid-cols-[1fr_400px_1168px_1fr] gap-4 overflow-hidden ts-site__body__inner"><div style="--translate-x:-100%" class="z-50 absolute show-sidebar:static translate-x-[var(--translate-x)] show-sidebar:translate-x-0 transition-transform bg-grayscale-0 w-full overflow-y-auto h-full col-start-2"><nav aria-label="sidebar" class="py-8"><div class="grow-0 border-b border-grayscale-200"><div><div style="--padding-left:calc(1rem * 1)" class="flex items-center pl-[var(--padding-left)] pr-4 py-2 text-grayscale-800 hover:text-primary-900 text-sm leading-loose [&_a]:!text-grayscale-800 [&:hover_a]:!text-primary-900 border-b border-grayscale-200"><div aria-label="icon" class="ts-svg-icon ts-svg-icon--normal mr-[0.375rem]" aria-hidden="true"><svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M10.7786 1.94931L3.00664 8.70731C2.98094 8.72957 2.96265 8.75916 2.95424 8.79211C2.94584 8.82505 2.94771 8.85979 2.95961 8.89164C2.97151 8.92349 2.99287 8.95094 3.02082 8.97031C3.04877 8.98968 3.08197 9.00003 3.11598 8.99998H6.74931C6.83182 8.9999 6.91307 9.02024 6.98581 9.05918C7.05856 9.09813 7.12053 9.15447 7.16621 9.22318C7.21188 9.2919 7.23985 9.37085 7.2476 9.453C7.25535 9.53514 7.24266 9.61793 7.21064 9.69398L5.50464 13.738L12.9813 7.29265C13.007 7.27039 13.0253 7.2408 13.0337 7.20785C13.0421 7.17491 13.0402 7.14017 13.0283 7.10832C13.0164 7.07647 12.9951 7.04902 12.9671 7.02965C12.9392 7.01028 12.906 6.99993 12.872 6.99998H9.33331C9.25031 6.99994 9.16863 6.97923 9.09563 6.93973C9.02263 6.90024 8.96061 6.84319 8.91517 6.77373C8.86972 6.70428 8.84229 6.6246 8.83533 6.5419C8.82837 6.45919 8.84211 6.37605 8.87531 6.29998L10.7786 1.94931ZM10.4773 0.88598C10.6305 0.752465 10.8246 0.675111 11.0276 0.666666C11.2306 0.658221 11.4304 0.719189 11.5942 0.839522C11.7579 0.959856 11.8758 1.13238 11.9283 1.32866C11.9809 1.52494 11.965 1.73326 11.8833 1.91931L10.098 5.99998H12.872C13.954 5.99998 14.4533 7.34398 13.634 8.04998L5.40131 15.1473C5.27049 15.2606 5.10518 15.3262 4.9323 15.3335C4.75942 15.3408 4.58916 15.2894 4.44924 15.1876C4.30932 15.0858 4.208 14.9396 4.16177 14.7729C4.11554 14.6061 4.12712 14.4286 4.19464 14.2693L5.99731 9.99998H3.11598C2.03664 9.99998 1.53598 8.66131 2.35064 7.95331L10.4773 0.886647V0.88598Z" fill="currentColor"/></svg></div><a class="grow" href="/getting-started/latest/"><span>Getting started</span></a><div class="ts-svg-icon ts-svg-icon--normal -rotate-90 motion-safe:transition-transform"><button aria-label="click to expand" aria-expanded="false"><svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.73 5.563a.5.5 0 000 .707l4.167 4.167a.5.5 0 00.707 0L12.77 6.27a.5.5 0 00-.707-.707L8.25 9.376 4.437 5.563a.5.5 0 00-.707 0z" fill="currentColor"/></svg></button></div></div></div><div><div style="--padding-left:calc(1rem * 1)" class="flex items-center pl-[var(--padding-left)] pr-4 py-2 text-grayscale-800 hover:text-primary-900 text-sm leading-loose [&_a]:!text-grayscale-800 [&:hover_a]:!text-primary-900 border-b border-grayscale-200"><div aria-label="icon" class="ts-svg-icon ts-svg-icon--normal mr-[0.375rem]" aria-hidden="true"><svg width="16" height="16" viewbox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.3779 1.63429C10.8877 1.53028 10.3792 1.52192 9.88101 1.6127C9.10708 1.75371 8.39451 2.12723 7.83826 2.68348C7.282 3.23974 6.90848 3.95231 6.76747 4.72623C6.62646 5.50015 6.72466 6.29867 7.04898 7.01537C7.14336 7.22393 7.09868 7.46915 6.9368 7.63103L1.84656 12.7213C1.65664 12.9112 1.54995 13.1688 1.54995 13.4373C1.54995 13.7059 1.65664 13.9635 1.84656 14.1534C2.03647 14.3433 2.29404 14.45 2.56262 14.45C2.8312 14.45 3.08877 14.3433 3.27869 14.1534L8.36894 9.06316C8.53081 8.90129 8.77603 8.85661 8.9846 8.95099C9.70129 9.27531 10.4998 9.3735 11.2737 9.23249C12.0477 9.09148 12.7602 8.71796 13.3165 8.16171C13.8727 7.60545 14.2463 6.89288 14.3873 6.11896C14.478 5.62072 14.4697 5.11229 14.3657 4.62206L12.2147 6.77304C11.9742 7.00879 11.6508 7.14082 11.314 7.14082C10.9772 7.14082 10.6539 7.00877 10.4134 6.77302L10.4101 6.76986L9.22763 5.58732C8.99189 5.34681 8.85915 5.02272 8.85915 4.68594C8.85915 4.34916 8.9912 4.0258 9.22695 3.78529L9.2308 3.78136L11.3779 1.63429ZM9.68383 0.530511C10.6777 0.349419 11.7032 0.47553 12.6236 0.892036C12.7881 0.966473 12.9056 1.1169 12.938 1.29453C12.9703 1.47216 12.9135 1.65436 12.7858 1.78203L10.0117 4.5561C9.97833 4.59085 9.95915 4.63771 9.95915 4.68594C9.95915 4.73418 9.97782 4.78052 10.0112 4.81527L11.1842 5.98824C11.2189 6.02164 11.2658 6.04082 11.314 6.04082C11.3623 6.04082 11.4086 6.02215 11.4433 5.98876L14.2179 3.21416C14.3456 3.08649 14.5278 3.02961 14.7054 3.06198C14.8831 3.09434 15.0335 3.21183 15.1079 3.37632C15.5244 4.29674 15.6505 5.32223 15.4695 6.31613C15.2884 7.31004 14.8087 8.22515 14.0943 8.93952C13.3799 9.65389 12.4648 10.1336 11.4709 10.3147C10.6041 10.4726 9.71328 10.3969 8.88907 10.0987L4.0565 14.9312C3.6603 15.3274 3.12294 15.55 2.56262 15.55C2.00231 15.55 1.46494 15.3274 1.06874 14.9312C0.672535 14.535 0.449951 13.9977 0.449951 13.4373C0.449951 12.877 0.672536 12.3397 1.06874 11.9435L5.90131 7.11089C5.60308 6.28669 5.52735 5.39586 5.68529 4.52905C5.86638 3.53515 6.34607 2.62003 7.06044 1.90567C7.77481 1.1913 8.68992 0.711603 9.68383 0.530511Z"/></svg></div><a class="grow" href="/use-timescale/latest/"><span>Use Timescale</span></a><div class="ts-svg-icon ts-svg-icon--normal -rotate-90 motion-safe:transition-transform"><button aria-label="click to expand" aria-expanded="false"><svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.73 5.563a.5.5 0 000 .707l4.167 4.167a.5.5 0 00.707 0L12.77 6.27a.5.5 0 00-.707-.707L8.25 9.376 4.437 5.563a.5.5 0 00-.707 0z" fill="currentColor"/></svg></button></div></div></div><div><div style="--padding-left:calc(1rem * 1)" class="flex items-center pl-[var(--padding-left)] pr-4 py-2 text-grayscale-800 hover:text-primary-900 text-sm leading-loose [&_a]:!text-grayscale-800 [&:hover_a]:!text-primary-900 border-b border-grayscale-200"><div aria-label="icon" class="ts-svg-icon ts-svg-icon--normal mr-[0.375rem]" aria-hidden="true"><svg width="16" height="16" viewbox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.99999 14.5C8.2451 14.5 8.44901 14.3237 8.49175 14.0909C8.52613 14.0751 8.54999 14.0403 8.54999 14C8.54999 13.6154 8.70276 13.2466 8.97469 12.9747C9.24661 12.7028 9.61543 12.55 9.99999 12.55H14.6667C14.9704 12.55 15.2167 12.3038 15.2167 12V2.00001C15.2167 1.69626 14.9704 1.45001 14.6667 1.45001H10.6667C9.81355 1.45001 8.99537 1.78891 8.39213 2.39215C8.24543 2.53886 8.11436 2.69827 7.99999 2.86781C7.88563 2.69827 7.75456 2.53886 7.60785 2.39215C7.00461 1.78891 6.18644 1.45001 5.33332 1.45001H1.33333C1.02957 1.45001 0.783325 1.69626 0.783325 2.00001V12C0.783325 12.3038 1.02957 12.55 1.33333 12.55H5.99999C6.38456 12.55 6.75337 12.7028 7.0253 12.9747C7.29722 13.2466 7.44999 13.6154 7.44999 14C7.44999 14.0403 7.47386 14.0751 7.50823 14.0909C7.55098 14.3237 7.75489 14.5 7.99999 14.5ZM7.44999 4.66668V11.9024C7.02679 11.6098 6.52163 11.45 5.99999 11.45H1.88333V2.55001H5.33332C5.8947 2.55001 6.43308 2.77302 6.83003 3.16997C7.22699 3.56692 7.44999 4.1053 7.44999 4.66668ZM9.99999 11.45C9.47835 11.45 8.9732 11.6098 8.54999 11.9024V4.66668C8.54999 4.1053 8.773 3.56692 9.16995 3.16997C9.5669 2.77302 10.1053 2.55001 10.6667 2.55001H14.1167V11.45H9.99999Z"/></svg></div><a class="grow" href="/tutorials/latest/"><span>Tutorials</span></a><div class="ts-svg-icon ts-svg-icon--normal -rotate-90 motion-safe:transition-transform"><button aria-label="click to expand" aria-expanded="false"><svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.73 5.563a.5.5 0 000 .707l4.167 4.167a.5.5 0 00.707 0L12.77 6.27a.5.5 0 00-.707-.707L8.25 9.376 4.437 5.563a.5.5 0 00-.707 0z" fill="currentColor"/></svg></button></div></div></div><div><div style="--padding-left:calc(1rem * 1)" class="flex items-center pl-[var(--padding-left)] pr-4 py-2 text-grayscale-800 hover:text-primary-900 text-sm leading-loose [&_a]:!text-grayscale-800 [&:hover_a]:!text-primary-900 border-b border-grayscale-200"><div aria-label="icon" class="ts-svg-icon ts-svg-icon--normal mr-[0.375rem]" aria-hidden="true"><svg width="16" height="16" viewbox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M6.40715 4.84841C6.58598 4.7527 6.80298 4.76319 6.97175 4.8757L10.9718 7.54237C11.1248 7.64437 11.2167 7.8161 11.2167 8C11.2167 8.18389 11.1248 8.35562 10.9718 8.45762L6.97175 11.1243C6.80298 11.2368 6.58598 11.2473 6.40715 11.1516C6.22831 11.0559 6.11667 10.8695 6.11667 10.6667V5.33333C6.11667 5.13049 6.22831 4.94412 6.40715 4.84841ZM7.21667 9.63898L9.67514 8L7.21667 6.36101V9.63898Z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M8.00011 1.88333C4.62197 1.88333 1.88345 4.62185 1.88345 7.99999C1.88345 11.3781 4.62197 14.1167 8.00011 14.1167C11.3783 14.1167 14.1168 11.3781 14.1168 7.99999C14.1168 4.62185 11.3783 1.88333 8.00011 1.88333ZM0.783447 7.99999C0.783447 4.01434 4.01446 0.783325 8.00011 0.783325C11.9858 0.783325 15.2168 4.01434 15.2168 7.99999C15.2168 11.9856 11.9858 15.2167 8.00011 15.2167C4.01446 15.2167 0.783447 11.9856 0.783447 7.99999Z"/></svg></div><a class="grow" href="/quick-start/latest/"><span>Code quick starts</span></a><div class="ts-svg-icon ts-svg-icon--normal -rotate-90 motion-safe:transition-transform"><button aria-label="click to expand" aria-expanded="false"><svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.73 5.563a.5.5 0 000 .707l4.167 4.167a.5.5 0 00.707 0L12.77 6.27a.5.5 0 00-.707-.707L8.25 9.376 4.437 5.563a.5.5 0 00-.707 0z" fill="currentColor"/></svg></button></div></div></div><div><div style="--padding-left:calc(1rem * 1)" class="flex items-center pl-[var(--padding-left)] pr-4 py-2 text-grayscale-800 hover:text-primary-900 text-sm leading-loose [&_a]:!text-grayscale-800 [&:hover_a]:!text-primary-900 border-b border-grayscale-200"><div aria-label="icon" class="ts-svg-icon ts-svg-icon--normal mr-[0.375rem]" aria-hidden="true"><svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M5.853 3.313a.5.5 0 010 .707L1.873 8l3.98 3.98a.5.5 0 11-.707.707L.813 8.354a.5.5 0 010-.707l4.333-4.334a.5.5 0 01.707 0zM10.147 3.313a.5.5 0 000 .707L14.127 8l-3.98 3.98a.5.5 0 00.707.707l4.333-4.333a.5.5 0 000-.707l-4.333-4.334a.5.5 0 00-.707 0z" fill="currentColor"/></svg></div><a class="grow" href="/api/latest/"><span>API Reference</span></a><div class="ts-svg-icon ts-svg-icon--normal -rotate-90 motion-safe:transition-transform"><button aria-label="click to expand" aria-expanded="false"><svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.73 5.563a.5.5 0 000 .707l4.167 4.167a.5.5 0 00.707 0L12.77 6.27a.5.5 0 00-.707-.707L8.25 9.376 4.437 5.563a.5.5 0 00-.707 0z" fill="currentColor"/></svg></button></div></div></div><div><div style="--padding-left:calc(1rem * 1)" class="flex items-center pl-[var(--padding-left)] pr-4 py-2 text-grayscale-800 hover:text-primary-900 text-sm leading-loose [&_a]:!text-grayscale-800 [&:hover_a]:!text-primary-900 border-b border-grayscale-200"><div aria-label="icon" class="ts-svg-icon ts-svg-icon--normal mr-[0.375rem]" aria-hidden="true"><svg width="16" height="16" viewbox="0 0 107 106" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M80.1,77.4c0-1.7-1.4-3-3-3h-64l17.4-17.2c0.6-0.6,0.9-1.3,0.9-2.2s-0.3-1.6-0.9-2.2c-1.2-1.2-3.1-1.2-4.3,0L1.4,77.4L26.3,102c1.2,1.2,3.1,1.2,4.3,0c0.6-0.6,0.9-1.3,0.9-2.1c0-0.8-0.3-1.6-0.9-2.1L13.1,80.4h64C78.8,80.4,80.1,79.1,80.1,77.4z" fill="currentColor"/><path d="M80.2,51.8l25.1-24.2L80.2,3.4c-1.2-1.1-3-1.1-4.2,0c-0.6,0.6-0.9,1.3-0.9,2.2c0,0.8,0.3,1.6,0.9,2.2l17.5,16.9H29c-1.6,0-2.9,1.3-2.9,2.9s1.3,2.9,2.9,2.9h64.6L76.1,47.5c-0.6,0.6-0.9,1.3-0.9,2.2c0,0.8,0.3,1.6,0.9,2.2C77.2,53,79.1,53,80.2,51.8z" fill="currentColor"/></svg></div><a class="grow font-semibold" href="/migrate/latest/"><span>Migrate</span></a><div class="ts-svg-icon ts-svg-icon--normal motion-safe:transition-transform"><button aria-label="click to collapse" aria-expanded="true"><svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.73 5.563a.5.5 0 000 .707l4.167 4.167a.5.5 0 00.707 0L12.77 6.27a.5.5 0 00-.707-.707L8.25 9.376 4.437 5.563a.5.5 0 00-.707 0z" fill="currentColor"/></svg></button></div></div><div><div><div style="--padding-left:calc(1rem * 2 + 1.5rem)" class="flex items-center pl-[var(--padding-left)] pr-4 py-1 text-grayscale-800 hover:text-primary-900 text-sm leading-loose [&_a]:!text-grayscale-800 [&:hover_a]:!text-primary-900 bg-grayscale-100"><a class="grow" href="/migrate/latest/pg-dump-and-restore/"><span>With downtime: pg_dump/restore</span></a><div class="ts-svg-icon ts-svg-icon--normal -rotate-90 motion-safe:transition-transform"><button aria-label="click to expand" aria-expanded="false"><svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.73 5.563a.5.5 0 000 .707l4.167 4.167a.5.5 0 00.707 0L12.77 6.27a.5.5 0 00-.707-.707L8.25 9.376 4.437 5.563a.5.5 0 00-.707 0z" fill="currentColor"/></svg></button></div></div></div><div><div style="--padding-left:calc(1rem * 2 + 1.5rem)" class="flex items-center pl-[var(--padding-left)] pr-4 py-1 text-grayscale-800 hover:text-primary-900 text-sm leading-loose [&_a]:!text-grayscale-800 [&:hover_a]:!text-primary-900 bg-grayscale-100"><a class="grow" href="/migrate/latest/dual-write-and-backfill/"><span>Low-downtime: Dual-write and backfill</span></a><div class="ts-svg-icon ts-svg-icon--normal -rotate-90 motion-safe:transition-transform"><button aria-label="click to expand" aria-expanded="false"><svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.73 5.563a.5.5 0 000 .707l4.167 4.167a.5.5 0 00.707 0L12.77 6.27a.5.5 0 00-.707-.707L8.25 9.376 4.437 5.563a.5.5 0 00-.707 0z" fill="currentColor"/></svg></button></div></div></div><div><div style="--padding-left:calc(1rem * 2 + 1.5rem)" class="flex items-center pl-[var(--padding-left)] pr-4 py-1 text-grayscale-800 hover:text-primary-900 text-sm leading-loose [&_a]:!text-grayscale-800 [&:hover_a]:!text-primary-900 bg-grayscale-100"><a aria-current="page" class="grow font-semibold" href="/migrate/latest/troubleshooting/"><span>Troubleshooting</span></a></div></div></div></div><div><div style="--padding-left:calc(1rem * 1)" class="flex items-center pl-[var(--padding-left)] pr-4 py-2 text-grayscale-800 hover:text-primary-900 text-sm leading-loose [&_a]:!text-grayscale-800 [&:hover_a]:!text-primary-900 border-b border-grayscale-200"><div aria-label="icon" class="ts-svg-icon ts-svg-icon--normal mr-[0.375rem]" aria-hidden="true"><svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M8 .833c-1.658 0-3.183.268-4.31.72-.563.225-1.052.505-1.409.842-.357.338-.615.768-.615 1.272v8.658l.018.008h-.017c0 .504.257.934.614 1.272.357.337.846.617 1.408.842 1.128.452 2.653.72 4.31.72 1.659 0 3.183-.268 4.311-.72.563-.224 1.052-.505 1.408-.842.358-.338.615-.768.615-1.272h-.017l.017-.008V3.667c0-.504-.257-.934-.615-1.272-.356-.337-.845-.617-1.408-.842C11.182 1.1 9.658.833 8 .833zM2.667 3.667c0-.14.069-.325.301-.545.234-.221.6-.444 1.093-.641.983-.393 2.375-.648 3.939-.648 1.563 0 2.956.255 3.939.648.493.197.858.42 1.092.64.233.221.302.405.302.546 0 .14-.069.324-.302.545-.234.22-.6.443-1.092.64-.983.394-2.376.648-3.94.648-1.563 0-2.955-.254-3.938-.648-.493-.197-.859-.42-1.093-.64-.232-.22-.301-.405-.301-.545zM13.332 8V5.247a5.231 5.231 0 01-1.023.534C11.182 6.232 9.658 6.5 8 6.5c-1.658 0-3.183-.268-4.31-.72a5.229 5.229 0 01-1.023-.533V8c0 .14.069.325.301.545.234.221.6.444 1.093.64.983.394 2.375.648 3.939.648 1.563 0 2.956-.254 3.939-.647.493-.197.858-.42 1.092-.641.233-.22.302-.405.302-.545zM2.666 9.58a5.23 5.23 0 001.023.534c1.128.451 2.653.72 4.31.72 1.659 0 3.183-.269 4.311-.72.381-.152.728-.33 1.023-.533v2.744l.009.008h-.009c0 .14-.069.325-.302.545-.234.222-.6.444-1.092.641-.983.393-2.376.648-3.94.648-1.563 0-2.955-.255-3.938-.648-.493-.197-.859-.42-1.093-.64-.232-.22-.301-.405-.301-.546h-.01l.01-.008V9.58z" fill="currentColor"/></svg></div><a class="grow" href="/self-hosted/latest/"><span>Other deployment options</span></a><div class="ts-svg-icon ts-svg-icon--normal -rotate-90 motion-safe:transition-transform"><button aria-label="click to expand" aria-expanded="false"><svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.73 5.563a.5.5 0 000 .707l4.167 4.167a.5.5 0 00.707 0L12.77 6.27a.5.5 0 00-.707-.707L8.25 9.376 4.437 5.563a.5.5 0 00-.707 0z" fill="currentColor"/></svg></button></div></div></div><div><div style="--padding-left:calc(1rem * 1)" class="flex items-center pl-[var(--padding-left)] pr-4 py-2 text-grayscale-800 hover:text-primary-900 text-sm leading-loose [&_a]:!text-grayscale-800 [&:hover_a]:!text-primary-900 border-b border-grayscale-200"><div aria-label="icon" class="ts-svg-icon ts-svg-icon--normal mr-[0.375rem]" aria-hidden="true"><svg width="16" height="16" viewbox="0 0 14 14" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M2.513 1.058c.31-.094.693-.066 1.037.109l1.423.722a.502.502 0 0 0 .455-.896L4.005.271A2.421 2.421 0 0 0 2.22.097a1.891 1.891 0 0 0-1.287 1.27 5.284 5.284 0 0 0 .016 3.221c.086.264.269.693.634.322a.502.502 0 0 0 .321-.634 4.28 4.28 0 0 1-.01-2.616.887.887 0 0 1 .62-.602ZM11.64 1.058a1.418 1.418 0 0 0-1.036.109l-1.423.722a.502.502 0 0 1-.455-.896L10.15.271a2.421 2.421 0 0 1 1.785-.174c.58.177 1.084.604 1.287 1.27a5.284 5.284 0 0 1-.016 3.221c-.086.264-.269.693-.634.322a.502.502 0 0 1-.322-.634 4.28 4.28 0 0 0 .011-2.616.887.887 0 0 0-.62-.602Z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M1.244 7.905v-.172c0-3.622 2.655-6.357 5.777-6.357 3.122 0 5.777 2.735 5.777 6.357v.155l.05.146c.297.873.26 1.513.078 1.991-.184.486-.56.915-1.133 1.28-1.178.75-3.003 1.109-4.772 1.109-1.763 0-3.626-.374-4.825-1.137-.585-.372-.96-.802-1.137-1.277-.172-.464-.2-1.085.124-1.935l.061-.16Zm12.487-.172c1.41 4.139-3.004 5.614-6.71 5.614S-1.238 11.8.311 7.733c0-4.067 3.004-7.29 6.71-7.29s6.71 3.223 6.71 7.29Z"/><path d="M8.507 6.367c0 .372.314.681.715.681.401 0 .716-.3.716-.681 0-.382-.315-.681-.716-.681-.4 0-.715.299-.715.68ZM4.18 6.367c0 .372.314.681.715.681.401 0 .716-.3.716-.681 0-.382-.315-.681-.716-.681-.4 0-.715.299-.715.68Z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M11.412 8.703h2.2v-.516l-.389-.517h-1.81c-.538.135-.538.898 0 1.033ZM2.629 8.703H.388V7.67h2.24c.538.135.538.898 0 1.033ZM9.047 3.025V1.033H8.015v1.992c.113.564.92.564 1.032 0ZM5.95 3.025V1.033H4.916v1.992c.113.564.92.564 1.032 0ZM11.535 6.624l2.014-.455-.227-1.007-2.014.455c-.495.25-.327.995.227 1.007ZM2.525 6.626l-2.02-.423.211-1.01 2.02.423c.5.242.343.99-.21 1.01ZM6.54 8.748c.142-.035.324-.06.534-.06.21 0 .392.025.534.06-.017.02-.035.042-.055.062-.195.207-.374.278-.479.278-.105 0-.284-.071-.48-.278a1.41 1.41 0 0 1-.054-.062Zm.534 1.14c-.828 0-1.5-.965-1.5-1.333s.672-.667 1.5-.667 1.5.299 1.5.667c0 .368-.672 1.333-1.5 1.333Z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M7.573 11.888v-2.5h-1v2.5h1Z"/></svg></div><a class="grow" href="/about/latest/"><span>About Timescale</span></a><div class="ts-svg-icon ts-svg-icon--normal -rotate-90 motion-safe:transition-transform"><button aria-label="click to expand" aria-expanded="false"><svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.73 5.563a.5.5 0 000 .707l4.167 4.167a.5.5 0 00.707 0L12.77 6.27a.5.5 0 00-.707-.707L8.25 9.376 4.437 5.563a.5.5 0 00-.707 0z" fill="currentColor"/></svg></button></div></div></div><div><div style="--padding-left:calc(1rem * 1)" class="flex items-center pl-[var(--padding-left)] pr-4 py-2 text-grayscale-800 hover:text-primary-900 text-sm leading-loose [&_a]:!text-grayscale-800 [&:hover_a]:!text-primary-900 border-b border-grayscale-200"><div aria-label="icon" class="ts-svg-icon ts-svg-icon--normal mr-[0.375rem]" aria-hidden="true"><svg width="16" height="16" viewbox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M1.375 7.33333C1.375 4.04264 4.04264 1.375 7.33333 1.375C10.624 1.375 13.2917 4.04264 13.2917 7.33333C13.2917 8.75338 12.7947 10.0578 11.9653 11.0815L14.4419 13.5581C14.686 13.8021 14.686 14.1979 14.4419 14.4419C14.1979 14.686 13.8021 14.686 13.5581 14.4419L11.0815 11.9653C10.0578 12.7947 8.75338 13.2917 7.33333 13.2917C4.04264 13.2917 1.375 10.624 1.375 7.33333ZM7.33333 2.525C4.67776 2.525 2.525 4.67776 2.525 7.33333C2.525 9.9889 4.67776 12.1417 7.33333 12.1417C8.63296 12.1417 9.81203 11.6262 10.6775 10.7883C10.6929 10.7675 10.71 10.7476 10.7288 10.7288C10.7476 10.71 10.7675 10.6929 10.7883 10.6775C11.6262 9.81203 12.1417 8.63296 12.1417 7.33333C12.1417 4.67776 9.9889 2.525 7.33333 2.525Z"/></svg></div><a class="grow" href="/navigation/latest/"><span>Find a docs page</span></a><div class="ts-svg-icon ts-svg-icon--normal -rotate-90 motion-safe:transition-transform"><button aria-label="click to expand" aria-expanded="false"><svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.73 5.563a.5.5 0 000 .707l4.167 4.167a.5.5 0 00.707 0L12.77 6.27a.5.5 0 00-.707-.707L8.25 9.376 4.437 5.563a.5.5 0 00-.707 0z" fill="currentColor"/></svg></button></div></div></div></div></nav></div><div class="col-start-3 max-screen:col-span-2 h-full overflow-auto"><div class="px-6 show-sidebar:pl-4 show-sidebar:pr-1 pt-0 md:pt-8 pb-8 md:py-10 max-screen:pr-[calc((100vw-1572px)/2-24px)] text-navy-900 text-normal"><div class="gap-6 grid grid-cols-1 show-toc:grid-cols-[1fr_minmax(60px,_160px)] 3xl:grid-cols-[1fr_minmax(160px,_260px)]"><div class="ts-site__content w-full" id="main-content"><div class="ts-site__content__wrapper"><div class="ts-site__content__text"><div class="ts-site__content__helpers"><div class=" ts-breadcrumbs__wrapper"><a class=" ts-breadcrumbs__item ts-breadcrumbs__item--link" href="/migrate/latest/">Migrate your data to Timescale</a></div></div><div class="prose max-w-none mb-8"><div class="ts-site__content__text-page"><main><div class="flex flex-wrap gap-x-2 gap-y-4 items-center [&>*]:my-0 mb-7"><h1 id="troubleshooting-known-issues" class="max-w-full" data-label="Troubleshooting known issues" tab-index="-1"><a href="#troubleshooting-known-issues" class="![all:unset]"><span class="[overflow-wrap:break-word] cursor-pointer relative hover:before:bg-paperclip hover:before:absolute hover:before:-translate-x-6 hover:before:top-[0.5em] hover:before:-translate-y-1/2 hover:before:w-[17px] hover:before:h-[11px]">Troubleshooting known issues</span></a></h1></div><div class="flex flex-wrap gap-x-2 gap-y-4 items-center [&>*]:my-0 mt-20"><h2 id="large-migrations-blocked" class="max-w-full" data-label="Large migrations blocked" tab-index="-1"><a href="#large-migrations-blocked" class="![all:unset]"><span class="[overflow-wrap:break-word] cursor-pointer relative hover:before:bg-paperclip hover:before:absolute hover:before:-translate-x-6 hover:before:top-[0.5em] hover:before:-translate-y-1/2 hover:before:w-[17px] hover:before:h-[11px]">Large migrations blocked</span></a></h2></div><p>Timescale's platform automatically manages the underlying disk volume. Due to platform limitations, it is only possible to resize the disk once every six hours. Depending on the rate at which you're able to copy data, you may be affected by this restriction. Affected instances are unable to accept new data and error with: <code>FATAL: terminating connection due to administrator command</code>.</p><p>If you intend on migrating more than 400<!-- --> <!-- -->GB of data to Timescale, open a support request requesting the required storage to be pre-allocated in your Timescale instance.</p><p>You can open a support request directly from the <a href="https://console.cloud.timescale.com/dashboard/support" target="_blank" class="outboundlink" rel="noopener">Timescale console</a>, or by email to <a href="/cdn-cgi/l/email-protection#5f2c2a2f2f302d2b1f2b36323a2c3c3e333a713c3032" target="_blank" class="outboundlink" rel="noreferrer noopener"><span class="__cf_email__" data-cfemail="4e3d3b3e3e213c3a0e3a27232b3d2d2f222b602d2123">[email protected]</span></a>.</p><div class="flex flex-wrap gap-x-2 gap-y-4 items-center [&>*]:my-0 mt-20"><h2 id="dumping-and-locks" class="max-w-full" data-label="Dumping and locks" tab-index="-1"><a href="#dumping-and-locks" class="![all:unset]"><span class="[overflow-wrap:break-word] cursor-pointer relative hover:before:bg-paperclip hover:before:absolute hover:before:-translate-x-6 hover:before:top-[0.5em] hover:before:-translate-y-1/2 hover:before:w-[17px] hover:before:h-[11px]">Dumping and locks</span></a></h2></div><p>When <code>pg_dump</code> starts, it takes an <code>ACCESS SHARE</code> lock on all tables which it dumps. This ensures that tables aren't dropped before <code>pg_dump</code> is able to drop them. A side effect of this is that any query which tries to take an <code>ACCESS EXCLUSIVE</code> lock on a table is be blocked by the <code>ACCESS SHARE</code> lock.</p><p>A number of timescale-internal processes require taking <code>ACCESS EXCLUSIVE</code> locks to ensure consistency of the data. The following is a non-exhaustive list of potentially affected operations:</p><ul><li>compress/decompress/recompress chunk</li><li>continuous aggregate refresh (before 2.12)</li><li>create hypertable with foreign keys, truncate hypertable</li><li>enable compression on hypertable</li><li>drop chunks</li></ul><p>The most likely impact of the above is that background jobs for retention policies, compression policies, and continuous aggregate refresh policies are blocked for the duration of the <code>pg_dump</code> command. This may have unintended consequences for your database performance.</p><div class="flex flex-wrap gap-x-2 gap-y-4 items-center [&>*]:my-0 mt-20"><h2 id="dumping-with-concurrency" class="max-w-full" data-label="Dumping with concurrency" tab-index="-1"><a href="#dumping-with-concurrency" class="![all:unset]"><span class="[overflow-wrap:break-word] cursor-pointer relative hover:before:bg-paperclip hover:before:absolute hover:before:-translate-x-6 hover:before:top-[0.5em] hover:before:-translate-y-1/2 hover:before:w-[17px] hover:before:h-[11px]">Dumping with concurrency</span></a></h2></div><p>When using the <code>pg_dump</code> directory format, it is possible to use concurrency to use multiple connections to the source database to dump data. This speeds up the dump process. Due to the fact that there are multiple connections, it is possible for <code>pg_dump</code> to end up in a deadlock situation. When it detects a deadlock it aborts the dump.</p><p>In principle, any query which takes an <code>ACCESS EXCLUSIVE</code> lock on a table causes such a deadlock. As mentioned above, some common operations which take an <code>ACCESS EXCLUSIVE</code> lock are:</p><ul><li>retention policies</li><li>compression policies</li><li>continuous aggregate refresh policies</li></ul><p>If you would like to use concurrency nonetheless, turn off all background jobs in the source database before running <code>pg_dump</code>, and turn them on once the dump is complete. If the dump procedure takes longer than the continuous aggregate refresh policy's window, you must manually refresh the continuous aggregate in the correct time range. For more information, consult the <a class="" href="/use-timescale/latest/continuous-aggregates/refresh-policies/">refresh policies documentation</a>.</p><p>To turn off the jobs:</p><div class="example-code-block group relative " data-testid="code-block" originaltype="code"><pre class="prism-code language-sql code-block " style="color:#FFFFFF;background-color:#444444"><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token keyword" style="color:#BF96FF">SELECT</span><span class="token plain"> </span><span class="token keyword" style="color:#BF96FF">public</span><span class="token punctuation" style="color:#FFFFFF">.</span><span class="token plain">alter_job</span><span class="token punctuation" style="color:#FFFFFF">(</span><span class="token plain">id::</span><span class="token keyword" style="color:#BF96FF">integer</span><span class="token punctuation" style="color:#FFFFFF">,</span><span class="token plain"> scheduled</span><span class="token operator" style="color:#BF96FF">=</span><span class="token operator" style="color:#BF96FF">></span><span class="token boolean" style="color:#A8DFF5">false</span><span class="token punctuation" style="color:#FFFFFF">)</span><span class="token plain"/></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token plain"/><span class="token keyword" style="color:#BF96FF">FROM</span><span class="token plain"> _timescaledb_config</span><span class="token punctuation" style="color:#FFFFFF">.</span><span class="token plain">bgw_job</span></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token plain"/><span class="token keyword" style="color:#BF96FF">WHERE</span><span class="token plain"> id </span><span class="token operator" style="color:#BF96FF">>=</span><span class="token plain"> </span><span class="token number" style="color:#A8DFF5">1000</span><span class="token punctuation" style="color:#FFFFFF">;</span></span></div></pre><button class="absolute top-3 right-5 invisible group-hover:visible bg-grayscale-0 flex items-center gap-1 px-2 py-1 rounded-3xl border border-solid border-grayscale-900" data-tracking="code-block-copy-button"><img src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yLjY2NjY2IDEuODgzNDVDMi40NTg5MSAxLjg4MzQ1IDIuMjU5NjYgMS45NjU5OCAyLjExMjc2IDIuMTEyODhDMS45NjU4NSAyLjI1OTc4IDEuODgzMzMgMi40NTkwMyAxLjg4MzMzIDIuNjY2NzhWOC42NjY3OEMxLjg4MzMzIDguODc0NTMgMS45NjU4NSA5LjA3Mzc4IDIuMTEyNzYgOS4yMjA2OEMyLjI1OTY2IDkuMzY3NTkgMi40NTg5MSA5LjQ1MDExIDIuNjY2NjYgOS40NTAxMUgzLjMzMzMzQzMuNjM3MDggOS40NTAxMSAzLjg4MzMzIDkuNjk2MzYgMy44ODMzMyAxMC4wMDAxQzMuODgzMzMgMTAuMzAzOSAzLjYzNzA4IDEwLjU1MDEgMy4zMzMzMyAxMC41NTAxSDIuNjY2NjZDMi4xNjcxNyAxMC41NTAxIDEuNjg4MTMgMTAuMzUxNyAxLjMzNDk0IDkuOTk4NUMwLjk4MTc0NyA5LjY0NTMgMC43ODMzMjUgOS4xNjYyNyAwLjc4MzMyNSA4LjY2Njc4VjIuNjY2NzhDMC43ODMzMjUgMi4xNjcyOSAwLjk4MTc0NyAxLjY4ODI2IDEuMzM0OTQgMS4zMzUwNkMxLjY4ODEzIDAuOTgxODY5IDIuMTY3MTcgMC43ODM0NDcgMi42NjY2NiAwLjc4MzQ0N0g4LjY2NjY2QzkuMTY2MTUgMC43ODM0NDcgOS42NDUxOCAwLjk4MTg2OSA5Ljk5ODM4IDEuMzM1MDZDMTAuMzUxNiAxLjY4ODI2IDEwLjU1IDIuMTY3MjkgMTAuNTUgMi42NjY3OFYzLjMzMzQ1QzEwLjU1IDMuNjM3MiAxMC4zMDM3IDMuODgzNDUgOS45OTk5OSAzLjg4MzQ1QzkuNjk2MjQgMy44ODM0NSA5LjQ0OTk5IDMuNjM3MiA5LjQ0OTk5IDMuMzMzNDVWMi42NjY3OEM5LjQ0OTk5IDIuNDU5MDMgOS4zNjc0NiAyLjI1OTc4IDkuMjIwNTYgMi4xMTI4OEM5LjA3MzY2IDEuOTY1OTggOC44NzQ0MSAxLjg4MzQ1IDguNjY2NjYgMS44ODM0NUgyLjY2NjY2Wk03LjMzMzMzIDYuNTUwMTFDNi45MDA3IDYuNTUwMTEgNi41NDk5OSA2LjkwMDgyIDYuNTQ5OTkgNy4zMzM0NFYxMy4zMzM0QzYuNTQ5OTkgMTMuNzY2MSA2LjkwMDcgMTQuMTE2OCA3LjMzMzMzIDE0LjExNjhIMTMuMzMzM0MxMy43NjYgMTQuMTE2OCAxNC4xMTY3IDEzLjc2NjEgMTQuMTE2NyAxMy4zMzM0VjcuMzMzNDRDMTQuMTE2NyA2LjkwMDgyIDEzLjc2NiA2LjU1MDExIDEzLjMzMzMgNi41NTAxMUg3LjMzMzMzWk01LjQ0OTk5IDcuMzMzNDRDNS40NDk5OSA2LjI5MzMxIDYuMjkzMTkgNS40NTAxMSA3LjMzMzMzIDUuNDUwMTFIMTMuMzMzM0MxNC4zNzM1IDUuNDUwMTEgMTUuMjE2NyA2LjI5MzMxIDE1LjIxNjcgNy4zMzM0NFYxMy4zMzM0QzE1LjIxNjcgMTQuMzczNiAxNC4zNzM1IDE1LjIxNjggMTMuMzMzMyAxNS4yMTY4SDcuMzMzMzNDNi4yOTMxOSAxNS4yMTY4IDUuNDQ5OTkgMTQuMzczNiA1LjQ0OTk5IDEzLjMzMzRWNy4zMzM0NFoiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=" class="my-0"/><span class="font-medium text-sm leading-none">Copy</span></button></div><p>To turn on the jobs:</p><div class="example-code-block group relative " data-testid="code-block" originaltype="code"><pre class="prism-code language-sql code-block " style="color:#FFFFFF;background-color:#444444"><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token keyword" style="color:#BF96FF">SELECT</span><span class="token plain"> </span><span class="token keyword" style="color:#BF96FF">public</span><span class="token punctuation" style="color:#FFFFFF">.</span><span class="token plain">alter_job</span><span class="token punctuation" style="color:#FFFFFF">(</span><span class="token plain">id::</span><span class="token keyword" style="color:#BF96FF">integer</span><span class="token punctuation" style="color:#FFFFFF">,</span><span class="token plain"> scheduled</span><span class="token operator" style="color:#BF96FF">=</span><span class="token operator" style="color:#BF96FF">></span><span class="token boolean" style="color:#A8DFF5">true</span><span class="token punctuation" style="color:#FFFFFF">)</span><span class="token plain"/></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token plain"/><span class="token keyword" style="color:#BF96FF">FROM</span><span class="token plain"> _timescaledb_config</span><span class="token punctuation" style="color:#FFFFFF">.</span><span class="token plain">bgw_job</span></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token plain"/><span class="token keyword" style="color:#BF96FF">WHERE</span><span class="token plain"> id </span><span class="token operator" style="color:#BF96FF">>=</span><span class="token plain"> </span><span class="token number" style="color:#A8DFF5">1000</span><span class="token punctuation" style="color:#FFFFFF">;</span></span></div></pre><button class="absolute top-3 right-5 invisible group-hover:visible bg-grayscale-0 flex items-center gap-1 px-2 py-1 rounded-3xl border border-solid border-grayscale-900" data-tracking="code-block-copy-button"><img src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yLjY2NjY2IDEuODgzNDVDMi40NTg5MSAxLjg4MzQ1IDIuMjU5NjYgMS45NjU5OCAyLjExMjc2IDIuMTEyODhDMS45NjU4NSAyLjI1OTc4IDEuODgzMzMgMi40NTkwMyAxLjg4MzMzIDIuNjY2NzhWOC42NjY3OEMxLjg4MzMzIDguODc0NTMgMS45NjU4NSA5LjA3Mzc4IDIuMTEyNzYgOS4yMjA2OEMyLjI1OTY2IDkuMzY3NTkgMi40NTg5MSA5LjQ1MDExIDIuNjY2NjYgOS40NTAxMUgzLjMzMzMzQzMuNjM3MDggOS40NTAxMSAzLjg4MzMzIDkuNjk2MzYgMy44ODMzMyAxMC4wMDAxQzMuODgzMzMgMTAuMzAzOSAzLjYzNzA4IDEwLjU1MDEgMy4zMzMzMyAxMC41NTAxSDIuNjY2NjZDMi4xNjcxNyAxMC41NTAxIDEuNjg4MTMgMTAuMzUxNyAxLjMzNDk0IDkuOTk4NUMwLjk4MTc0NyA5LjY0NTMgMC43ODMzMjUgOS4xNjYyNyAwLjc4MzMyNSA4LjY2Njc4VjIuNjY2NzhDMC43ODMzMjUgMi4xNjcyOSAwLjk4MTc0NyAxLjY4ODI2IDEuMzM0OTQgMS4zMzUwNkMxLjY4ODEzIDAuOTgxODY5IDIuMTY3MTcgMC43ODM0NDcgMi42NjY2NiAwLjc4MzQ0N0g4LjY2NjY2QzkuMTY2MTUgMC43ODM0NDcgOS42NDUxOCAwLjk4MTg2OSA5Ljk5ODM4IDEuMzM1MDZDMTAuMzUxNiAxLjY4ODI2IDEwLjU1IDIuMTY3MjkgMTAuNTUgMi42NjY3OFYzLjMzMzQ1QzEwLjU1IDMuNjM3MiAxMC4zMDM3IDMuODgzNDUgOS45OTk5OSAzLjg4MzQ1QzkuNjk2MjQgMy44ODM0NSA5LjQ0OTk5IDMuNjM3MiA5LjQ0OTk5IDMuMzMzNDVWMi42NjY3OEM5LjQ0OTk5IDIuNDU5MDMgOS4zNjc0NiAyLjI1OTc4IDkuMjIwNTYgMi4xMTI4OEM5LjA3MzY2IDEuOTY1OTggOC44NzQ0MSAxLjg4MzQ1IDguNjY2NjYgMS44ODM0NUgyLjY2NjY2Wk03LjMzMzMzIDYuNTUwMTFDNi45MDA3IDYuNTUwMTEgNi41NDk5OSA2LjkwMDgyIDYuNTQ5OTkgNy4zMzM0NFYxMy4zMzM0QzYuNTQ5OTkgMTMuNzY2MSA2LjkwMDcgMTQuMTE2OCA3LjMzMzMzIDE0LjExNjhIMTMuMzMzM0MxMy43NjYgMTQuMTE2OCAxNC4xMTY3IDEzLjc2NjEgMTQuMTE2NyAxMy4zMzM0VjcuMzMzNDRDMTQuMTE2NyA2LjkwMDgyIDEzLjc2NiA2LjU1MDExIDEzLjMzMzMgNi41NTAxMUg3LjMzMzMzWk01LjQ0OTk5IDcuMzMzNDRDNS40NDk5OSA2LjI5MzMxIDYuMjkzMTkgNS40NTAxMSA3LjMzMzMzIDUuNDUwMTFIMTMuMzMzM0MxNC4zNzM1IDUuNDUwMTEgMTUuMjE2NyA2LjI5MzMxIDE1LjIxNjcgNy4zMzM0NFYxMy4zMzM0QzE1LjIxNjcgMTQuMzczNiAxNC4zNzM1IDE1LjIxNjggMTMuMzMzMyAxNS4yMTY4SDcuMzMzMzNDNi4yOTMxOSAxNS4yMTY4IDUuNDQ5OTkgMTQuMzczNiA1LjQ0OTk5IDEzLjMzMzRWNy4zMzM0NFoiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=" class="my-0"/><span class="font-medium text-sm leading-none">Copy</span></button></div><div class="flex flex-wrap gap-x-2 gap-y-4 items-center [&>*]:my-0 mt-20"><h2 id="restoring-with-concurrency" class="max-w-full" data-label="Restoring with concurrency" tab-index="-1"><a href="#restoring-with-concurrency" class="![all:unset]"><span class="[overflow-wrap:break-word] cursor-pointer relative hover:before:bg-paperclip hover:before:absolute hover:before:-translate-x-6 hover:before:top-[0.5em] hover:before:-translate-y-1/2 hover:before:w-[17px] hover:before:h-[11px]">Restoring with concurrency</span></a></h2></div><p>If the directory format is used for pg_dump and pg_restore, concurrency can be employed to speed up the process. Unfortunately, loading the tables in the <code>timescaledb_catalog</code> schema concurrently causes errors. Furthermore, the <code>tsdbadmin</code> user does not have sufficient privileges to turn off triggers in this schema. To get around this limitation, load this schema serially, and then load the rest of the database concurrently.</p><div class="example-code-block group relative " data-testid="code-block" originaltype="code"><pre class="prism-code language-bash code-block " style="color:#FFFFFF;background-color:#444444"><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token comment" style="color:#A8DFF5;font-style:italic"># first, serially load JUST the _timescaledb_catalog</span><span class="token plain"/></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token plain">pg_restore -d </span><span class="token string" style="color:#A8DFF5">"</span><span class="token string variable" style="color:#A8DFF5">$TARGET</span><span class="token string" style="color:#A8DFF5">"</span><span class="token plain"> </span><span class="token punctuation" style="color:#FFFFFF">\</span><span class="token plain"/></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token plain"> --format</span><span class="token operator" style="color:#BF96FF">=</span><span class="token plain">directory </span><span class="token punctuation" style="color:#FFFFFF">\</span><span class="token plain"/></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token plain"> --schema</span><span class="token operator" style="color:#BF96FF">=</span><span class="token string" style="color:#A8DFF5">'_timescaledb_catalog'</span><span class="token plain"> </span><span class="token punctuation" style="color:#FFFFFF">\</span><span class="token plain"/></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token plain"> --exit-on-error </span><span class="token punctuation" style="color:#FFFFFF">\</span><span class="token plain"/></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token plain"> --no-tablespaces </span><span class="token punctuation" style="color:#FFFFFF">\</span><span class="token plain"/></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token plain"> --no-owner </span><span class="token punctuation" style="color:#FFFFFF">\</span><span class="token plain"/></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token plain"> --no-privileges </span><span class="token punctuation" style="color:#FFFFFF">\</span><span class="token plain"/></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token plain"> dump</span></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token plain" style="display:inline-block"> </span></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token plain"/><span class="token comment" style="color:#A8DFF5;font-style:italic"># next, concurrently load everything EXCEPT the _timescaledb_catalog </span><span class="token plain"/></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token plain">pg_restore -d </span><span class="token string" style="color:#A8DFF5">"</span><span class="token string variable" style="color:#A8DFF5">$TARGET</span><span class="token string" style="color:#A8DFF5">"</span><span class="token plain"> </span><span class="token punctuation" style="color:#FFFFFF">\</span><span class="token plain"/></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token plain"> --format</span><span class="token operator" style="color:#BF96FF">=</span><span class="token plain">directory </span><span class="token punctuation" style="color:#FFFFFF">\</span><span class="token plain"/></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token plain"> --jobs</span><span class="token operator" style="color:#BF96FF">=</span><span class="token number" style="color:#A8DFF5">8</span><span class="token plain"> </span><span class="token punctuation" style="color:#FFFFFF">\</span><span class="token plain"/></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token plain"> --exclude-schema</span><span class="token operator" style="color:#BF96FF">=</span><span class="token string" style="color:#A8DFF5">'_timescaledb_catalog'</span><span class="token plain"> </span><span class="token punctuation" style="color:#FFFFFF">\</span><span class="token plain"/></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token plain"> --exit-on-error </span><span class="token punctuation" style="color:#FFFFFF">\</span><span class="token plain"/></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token plain"> --disable-triggers </span><span class="token punctuation" style="color:#FFFFFF">\</span><span class="token plain"/></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token plain"> --no-tablespaces </span><span class="token punctuation" style="color:#FFFFFF">\</span><span class="token plain"/></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token plain"> --no-owner </span><span class="token punctuation" style="color:#FFFFFF">\</span><span class="token plain"/></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token plain"> --no-privileges </span><span class="token punctuation" style="color:#FFFFFF">\</span><span class="token plain"/></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token plain"> dump</span></span></div></pre><button class="absolute top-3 right-5 invisible group-hover:visible bg-grayscale-0 flex items-center gap-1 px-2 py-1 rounded-3xl border border-solid border-grayscale-900" data-tracking="code-block-copy-button"><img src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yLjY2NjY2IDEuODgzNDVDMi40NTg5MSAxLjg4MzQ1IDIuMjU5NjYgMS45NjU5OCAyLjExMjc2IDIuMTEyODhDMS45NjU4NSAyLjI1OTc4IDEuODgzMzMgMi40NTkwMyAxLjg4MzMzIDIuNjY2NzhWOC42NjY3OEMxLjg4MzMzIDguODc0NTMgMS45NjU4NSA5LjA3Mzc4IDIuMTEyNzYgOS4yMjA2OEMyLjI1OTY2IDkuMzY3NTkgMi40NTg5MSA5LjQ1MDExIDIuNjY2NjYgOS40NTAxMUgzLjMzMzMzQzMuNjM3MDggOS40NTAxMSAzLjg4MzMzIDkuNjk2MzYgMy44ODMzMyAxMC4wMDAxQzMuODgzMzMgMTAuMzAzOSAzLjYzNzA4IDEwLjU1MDEgMy4zMzMzMyAxMC41NTAxSDIuNjY2NjZDMi4xNjcxNyAxMC41NTAxIDEuNjg4MTMgMTAuMzUxNyAxLjMzNDk0IDkuOTk4NUMwLjk4MTc0NyA5LjY0NTMgMC43ODMzMjUgOS4xNjYyNyAwLjc4MzMyNSA4LjY2Njc4VjIuNjY2NzhDMC43ODMzMjUgMi4xNjcyOSAwLjk4MTc0NyAxLjY4ODI2IDEuMzM0OTQgMS4zMzUwNkMxLjY4ODEzIDAuOTgxODY5IDIuMTY3MTcgMC43ODM0NDcgMi42NjY2NiAwLjc4MzQ0N0g4LjY2NjY2QzkuMTY2MTUgMC43ODM0NDcgOS42NDUxOCAwLjk4MTg2OSA5Ljk5ODM4IDEuMzM1MDZDMTAuMzUxNiAxLjY4ODI2IDEwLjU1IDIuMTY3MjkgMTAuNTUgMi42NjY3OFYzLjMzMzQ1QzEwLjU1IDMuNjM3MiAxMC4zMDM3IDMuODgzNDUgOS45OTk5OSAzLjg4MzQ1QzkuNjk2MjQgMy44ODM0NSA5LjQ0OTk5IDMuNjM3MiA5LjQ0OTk5IDMuMzMzNDVWMi42NjY3OEM5LjQ0OTk5IDIuNDU5MDMgOS4zNjc0NiAyLjI1OTc4IDkuMjIwNTYgMi4xMTI4OEM5LjA3MzY2IDEuOTY1OTggOC44NzQ0MSAxLjg4MzQ1IDguNjY2NjYgMS44ODM0NUgyLjY2NjY2Wk03LjMzMzMzIDYuNTUwMTFDNi45MDA3IDYuNTUwMTEgNi41NDk5OSA2LjkwMDgyIDYuNTQ5OTkgNy4zMzM0NFYxMy4zMzM0QzYuNTQ5OTkgMTMuNzY2MSA2LjkwMDcgMTQuMTE2OCA3LjMzMzMzIDE0LjExNjhIMTMuMzMzM0MxMy43NjYgMTQuMTE2OCAxNC4xMTY3IDEzLjc2NjEgMTQuMTE2NyAxMy4zMzM0VjcuMzMzNDRDMTQuMTE2NyA2LjkwMDgyIDEzLjc2NiA2LjU1MDExIDEzLjMzMzMgNi41NTAxMUg3LjMzMzMzWk01LjQ0OTk5IDcuMzMzNDRDNS40NDk5OSA2LjI5MzMxIDYuMjkzMTkgNS40NTAxMSA3LjMzMzMzIDUuNDUwMTFIMTMuMzMzM0MxNC4zNzM1IDUuNDUwMTEgMTUuMjE2NyA2LjI5MzMxIDE1LjIxNjcgNy4zMzM0NFYxMy4zMzM0QzE1LjIxNjcgMTQuMzczNiAxNC4zNzM1IDE1LjIxNjggMTMuMzMzMyAxNS4yMTY4SDcuMzMzMzNDNi4yOTMxOSAxNS4yMTY4IDUuNDQ5OTkgMTQuMzczNiA1LjQ0OTk5IDEzLjMzMzRWNy4zMzM0NFoiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=" class="my-0"/><span class="font-medium text-sm leading-none">Copy</span></button></div><div class="flex flex-wrap gap-x-2 gap-y-4 items-center [&>*]:my-0 mt-20"><h2 id="ownership-of-background-jobs" class="max-w-full" data-label="Ownership of background jobs" tab-index="-1"><a href="#ownership-of-background-jobs" class="![all:unset]"><span class="[overflow-wrap:break-word] cursor-pointer relative hover:before:bg-paperclip hover:before:absolute hover:before:-translate-x-6 hover:before:top-[0.5em] hover:before:-translate-y-1/2 hover:before:w-[17px] hover:before:h-[11px]">Ownership of background jobs</span></a></h2></div><p>The <code>_timescaledb_config.bgw_jobs</code> table is used to manage background jobs. This includes both user-defined actions, compression policies, retention policies, and continuous aggregate refresh policies. On Timescale, this table has a trigger which ensures that no database user can create or modify jobs owned by another database user. This trigger can provide an obstacle for migrations.</p><p>If the <code>--no-owner</code> flag is used with pg_dump and pg_restore, all objects in the target database are owned by the user that ran pg_restore, likely <code>tsdbadmin</code>.</p><p>If all the background jobs in the source database were owned by a user of the same name as the user running the restore (again likely <code>tsdbadmin</code>), then loading the <code>_timescaledb_config.bgw_jobs</code> table should work.</p><p>If the background jobs in the source were owned by the <code>postgres</code> user, they are be automatically changed to be owned by the <code>tsdbadmin</code> user. In this case, one just needs to verify that the jobs do not make use of privileges that the <code>tsdbadmin</code> user does not possess.</p><p>If background jobs are owned by one or more users other than the user employed in restoring, then there could be issues. To work around this issue, do not dump this table with <code>pg_dump</code>. Provide either <code>--exclude-table-data='_timescaledb_config.bgw_job'</code> or <code>--exclude-table='_timescaledb_config.bgw_job'</code> to pg_dump to skip this table. Then, use psql and the COPY command to dump and restore this table with modified values for the <code>owner</code> column.</p><div class="example-code-block group relative " data-testid="code-block" originaltype="code"><pre class="prism-code language-bash code-block " style="color:#FFFFFF;background-color:#444444"><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token comment" style="color:#A8DFF5;font-style:italic"># dump the _timescaledb_config.bgw_job table to a csv file replacing the owner </span><span class="token plain"/></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token plain"/><span class="token comment" style="color:#A8DFF5;font-style:italic"># values with tsdbadmin</span><span class="token plain"/></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token plain">psql -d </span><span class="token string" style="color:#A8DFF5">"</span><span class="token string variable" style="color:#A8DFF5">$SOURCE</span><span class="token string" style="color:#A8DFF5">"</span><span class="token plain"> -X -v </span><span class="token assign-left variable" style="color:#A8DFF5">ON_ERROR_STOP</span><span class="token operator" style="color:#BF96FF">=</span><span class="token number" style="color:#A8DFF5">1</span><span class="token plain"> --echo-errors -f - </span><span class="token operator" style="color:#BF96FF"><<</span><span class="token string" style="color:#A8DFF5">'EOF'</span></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token string" style="color:#A8DFF5">begin;</span></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token string" style="color:#A8DFF5">select string_agg</span></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token string" style="color:#A8DFF5">( case attname</span></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token string" style="color:#A8DFF5"> when 'owner' then $$'tsdbadmin' as "owner"$$</span></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token string" style="color:#A8DFF5"> else format('%I', attname)</span></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token string" style="color:#A8DFF5"> end</span></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token string" style="color:#A8DFF5">, ', '</span></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token string" style="color:#A8DFF5">) as cols</span></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token string" style="color:#A8DFF5">from pg_namespace n</span></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token string" style="color:#A8DFF5">inner join pg_class c</span></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token string" style="color:#A8DFF5">on (n.nspname = '_timescaledb_config'</span></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token string" style="color:#A8DFF5">and n.oid = c.relnamespace</span></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token string" style="color:#A8DFF5">and c.relname = 'bgw_job')</span></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token string" style="color:#A8DFF5">inner join pg_attribute a</span></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token string" style="color:#A8DFF5">on (c.oid = a.attrelid and a.attnum > 0)</span></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token string" style="color:#A8DFF5">\gset</span></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token string" style="color:#A8DFF5">copy</span></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token string" style="color:#A8DFF5">(</span></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token string" style="color:#A8DFF5"> select :cols </span></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token string" style="color:#A8DFF5"> from _timescaledb_config.bgw_job</span></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token string" style="color:#A8DFF5"> where id >= 1000</span></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token string" style="color:#A8DFF5">) to stdout with (format csv, header true)</span></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token string" style="color:#A8DFF5">\g bgw_job.csv</span></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token string" style="color:#A8DFF5">rollback;</span></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token string" style="color:#A8DFF5">\q</span></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token string" style="color:#A8DFF5">EOF</span><span class="token plain"/></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token plain" style="display:inline-block"> </span></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token plain"/><span class="token comment" style="color:#A8DFF5;font-style:italic"># copy the csv file into the target's _timescaledb_config.bgw_job</span><span class="token plain"/></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token plain">psql -X -d </span><span class="token string" style="color:#A8DFF5">"</span><span class="token string variable" style="color:#A8DFF5">$TARGET</span><span class="token string" style="color:#A8DFF5">"</span><span class="token plain"> -v </span><span class="token assign-left variable" style="color:#A8DFF5">ON_ERROR_STOP</span><span class="token operator" style="color:#BF96FF">=</span><span class="token number" style="color:#A8DFF5">1</span><span class="token plain"> --echo-errors </span><span class="token punctuation" style="color:#FFFFFF">\</span><span class="token plain"/></span></div><div data-line_numbers="true" class="token-line line" style="color:#FFFFFF"><div class="line-number"/><span data-line_content="true" class="line-content"><span class="token plain"> -c </span><span class="token string" style="color:#A8DFF5">"</span><span class="token string entity" style="color:#A8DFF5">\c</span><span class="token string" style="color:#A8DFF5">opy _timescaledb_config.bgw_job from 'bgw_job.csv' with (format csv, header match)"</span></span></div></pre><button class="absolute top-3 right-5 invisible group-hover:visible bg-grayscale-0 flex items-center gap-1 px-2 py-1 rounded-3xl border border-solid border-grayscale-900" data-tracking="code-block-copy-button"><img src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yLjY2NjY2IDEuODgzNDVDMi40NTg5MSAxLjg4MzQ1IDIuMjU5NjYgMS45NjU5OCAyLjExMjc2IDIuMTEyODhDMS45NjU4NSAyLjI1OTc4IDEuODgzMzMgMi40NTkwMyAxLjg4MzMzIDIuNjY2NzhWOC42NjY3OEMxLjg4MzMzIDguODc0NTMgMS45NjU4NSA5LjA3Mzc4IDIuMTEyNzYgOS4yMjA2OEMyLjI1OTY2IDkuMzY3NTkgMi40NTg5MSA5LjQ1MDExIDIuNjY2NjYgOS40NTAxMUgzLjMzMzMzQzMuNjM3MDggOS40NTAxMSAzLjg4MzMzIDkuNjk2MzYgMy44ODMzMyAxMC4wMDAxQzMuODgzMzMgMTAuMzAzOSAzLjYzNzA4IDEwLjU1MDEgMy4zMzMzMyAxMC41NTAxSDIuNjY2NjZDMi4xNjcxNyAxMC41NTAxIDEuNjg4MTMgMTAuMzUxNyAxLjMzNDk0IDkuOTk4NUMwLjk4MTc0NyA5LjY0NTMgMC43ODMzMjUgOS4xNjYyNyAwLjc4MzMyNSA4LjY2Njc4VjIuNjY2NzhDMC43ODMzMjUgMi4xNjcyOSAwLjk4MTc0NyAxLjY4ODI2IDEuMzM0OTQgMS4zMzUwNkMxLjY4ODEzIDAuOTgxODY5IDIuMTY3MTcgMC43ODM0NDcgMi42NjY2NiAwLjc4MzQ0N0g4LjY2NjY2QzkuMTY2MTUgMC43ODM0NDcgOS42NDUxOCAwLjk4MTg2OSA5Ljk5ODM4IDEuMzM1MDZDMTAuMzUxNiAxLjY4ODI2IDEwLjU1IDIuMTY3MjkgMTAuNTUgMi42NjY3OFYzLjMzMzQ1QzEwLjU1IDMuNjM3MiAxMC4zMDM3IDMuODgzNDUgOS45OTk5OSAzLjg4MzQ1QzkuNjk2MjQgMy44ODM0NSA5LjQ0OTk5IDMuNjM3MiA5LjQ0OTk5IDMuMzMzNDVWMi42NjY3OEM5LjQ0OTk5IDIuNDU5MDMgOS4zNjc0NiAyLjI1OTc4IDkuMjIwNTYgMi4xMTI4OEM5LjA3MzY2IDEuOTY1OTggOC44NzQ0MSAxLjg4MzQ1IDguNjY2NjYgMS44ODM0NUgyLjY2NjY2Wk03LjMzMzMzIDYuNTUwMTFDNi45MDA3IDYuNTUwMTEgNi41NDk5OSA2LjkwMDgyIDYuNTQ5OTkgNy4zMzM0NFYxMy4zMzM0QzYuNTQ5OTkgMTMuNzY2MSA2LjkwMDcgMTQuMTE2OCA3LjMzMzMzIDE0LjExNjhIMTMuMzMzM0MxMy43NjYgMTQuMTE2OCAxNC4xMTY3IDEzLjc2NjEgMTQuMTE2NyAxMy4zMzM0VjcuMzMzNDRDMTQuMTE2NyA2LjkwMDgyIDEzLjc2NiA2LjU1MDExIDEzLjMzMzMgNi41NTAxMUg3LjMzMzMzWk01LjQ0OTk5IDcuMzMzNDRDNS40NDk5OSA2LjI5MzMxIDYuMjkzMTkgNS40NTAxMSA3LjMzMzMzIDUuNDUwMTFIMTMuMzMzM0MxNC4zNzM1IDUuNDUwMTEgMTUuMjE2NyA2LjI5MzMxIDE1LjIxNjcgNy4zMzM0NFYxMy4zMzM0QzE1LjIxNjcgMTQuMzczNiAxNC4zNzM1IDE1LjIxNjggMTMuMzMzMyAxNS4yMTY4SDcuMzMzMzNDNi4yOTMxOSAxNS4yMTY4IDUuNDQ5OTkgMTQuMzczNiA1LjQ0OTk5IDEzLjMzMzRWNy4zMzM0NFoiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=" class="my-0"/><span class="font-medium text-sm leading-none">Copy</span></button></div><p>Once the table has been loaded and the restore completed, you may then use SQL to adjust the ownership of the jobs and/or the associated stored procedures and functions as you wish.</p><div class="flex flex-wrap gap-x-2 gap-y-4 items-center [&>*]:my-0 mt-20"><h2 id="extension-availability" class="max-w-full" data-label="Extension availability" tab-index="-1"><a href="#extension-availability" class="![all:unset]"><span class="[overflow-wrap:break-word] cursor-pointer relative hover:before:bg-paperclip hover:before:absolute hover:before:-translate-x-6 hover:before:top-[0.5em] hover:before:-translate-y-1/2 hover:before:w-[17px] hover:before:h-[11px]">Extension availability</span></a></h2></div><p>There are a vast number of PostgreSQL extensions available in the wild. Timescale supports many of the most popular extensions, but not all extensions. Before migrating, check that the extensions you are using are supported on Timescale. Consult the <a class="" href="/use-timescale/latest/extensions/">list of supported extensions</a>.</p><div class="flex flex-wrap gap-x-2 gap-y-4 items-center [&>*]:my-0 mt-20"><h2 id="timescaledb-extension-in-the-public-schema" class="max-w-full" data-label="Timescaledb extension in the public schema" tab-index="-1"><a href="#timescaledb-extension-in-the-public-schema" class="![all:unset]"><span class="[overflow-wrap:break-word] cursor-pointer relative hover:before:bg-paperclip hover:before:absolute hover:before:-translate-x-6 hover:before:top-[0.5em] hover:before:-translate-y-1/2 hover:before:w-[17px] hover:before:h-[11px]">Timescaledb extension in the public schema</span></a></h2></div><p>When self-hosting, the timescaledb extension may be installed in an arbitrary schema. Timescale only supports installing the timescaledb extension in the <code>public</code> schema. How to go about resolving this depends heavily on the particular details of the source schema and the migration approach chosen.</p><div class="flex flex-wrap gap-x-2 gap-y-4 items-center [&>*]:my-0 mt-20"><h2 id="tablespaces" class="max-w-full" data-label="Tablespaces" tab-index="-1"><a href="#tablespaces" class="![all:unset]"><span class="[overflow-wrap:break-word] cursor-pointer relative hover:before:bg-paperclip hover:before:absolute hover:before:-translate-x-6 hover:before:top-[0.5em] hover:before:-translate-y-1/2 hover:before:w-[17px] hover:before:h-[11px]">Tablespaces</span></a></h2></div><p>Timescale does not support using custom tablespaces. Providing the <code>--no-tablespaces</code> flag to pg_dump and pg_restore when dumping/restoring the
推荐文章