[{"data":1,"prerenderedAt":2624},["ShallowReactive",2],{"tutorial-notion-postgres":3,"content-query-xhQ285BKWm":920,"content-query-hDpu8E5taG":1641},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"date":10,"category":11,"module":12,"isModuleIndex":13,"prerequisites":14,"resources":18,"author":28,"body":32,"_type":914,"_id":915,"_source":916,"_file":917,"_stem":918,"_extension":919},"/tutorials/notion-postgres","tutorials",false,"","Notion to PostgreSQL","Load data from Notion into PostgreSQL using Bruin's ingestr asset type - automate your Notion data pipeline in minutes.","2026-04-15","Module","notion-postgres",true,[15,16,17],"\u003Ca href=\"https://getbruin.com/docs/bruin/getting-started/introduction/installation.html\">Bruin CLI\u003C/a> installed","\u003Ca href=\"https://dlthub.com/docs/dlt-ecosystem/verified-sources/notion#setup-guide\">Notion API credentials\u003C/a>","A PostgreSQL database with connection credentials",[19,22,25],{"label":20,"url":21},"Bruin CLI documentation","https://getbruin.com/docs/bruin/overview.html",{"label":23,"url":24},"Ingestr asset type","https://getbruin.com/docs/bruin/assets/ingestr.html",{"label":26,"url":27},"PostgreSQL connection reference","https://getbruin.com/docs/bruin/platforms/postgres.html",{"name":29,"role":30,"image":31},"Bruin Team","Bruin Data","/bruin-logo-2025.svg",{"type":33,"children":34,"toc":904},"root",[35,49,59,69,80,84,91,96,103,108,147,176,182,202,335,340,408,414,429,441,658,671,677,689,773,779,784,824,830,835,893,898],{"type":36,"tag":37,"props":38,"children":39},"element","p",{},[40,47],{"type":36,"tag":41,"props":42,"children":43},"strong",{},[44],{"type":45,"value":46},"text","What is this?",{"type":45,"value":48}," A step-by-step tutorial for loading Notion data into a PostgreSQL database using Bruin. Notion is great for organizing information, but when you need to run analytics or join it with other data, a structured database like PostgreSQL is the way to go. Bruin automates this data movement with minimal configuration.",{"type":36,"tag":37,"props":50,"children":51},{},[52,57],{"type":36,"tag":41,"props":53,"children":54},{},[55],{"type":45,"value":56},"What you'll learn:",{"type":45,"value":58}," How to create a Bruin project, define an ingestr asset to pull data from Notion, configure source and destination connections, and run the pipeline.",{"type":36,"tag":37,"props":60,"children":61},{},[62,67],{"type":36,"tag":41,"props":63,"children":64},{},[65],{"type":45,"value":66},"What you'll build:",{"type":45,"value":68}," A pipeline that extracts data from a Notion database and loads it into a PostgreSQL table, ready for querying and analysis.",{"type":36,"tag":37,"props":70,"children":71},{},[72],{"type":36,"tag":73,"props":74,"children":77},"a",{"href":75,"style":76},"/learn/notion-postgres/setup-project","display:inline-block;background:#111827;color:#fff;padding:0.625rem 1.25rem;border-radius:0.5rem;font-weight:500;text-decoration:none;font-size:0.875rem;margin-top:0.5rem;",[78],{"type":45,"value":79},"Start tutorial →",{"type":36,"tag":81,"props":82,"children":83},"hr",{},[],{"type":36,"tag":85,"props":86,"children":88},"h2",{"id":87},"full-tutorial",[89],{"type":45,"value":90},"Full tutorial",{"type":36,"tag":37,"props":92,"children":93},{},[94],{"type":45,"value":95},"Below is the complete tutorial you can read through, or use the step-by-step version above.",{"type":36,"tag":97,"props":98,"children":100},"h3",{"id":99},"create-a-bruin-project",[101],{"type":45,"value":102},"Create a Bruin project",{"type":36,"tag":37,"props":104,"children":105},{},[106],{"type":45,"value":107},"Initialize a new project:",{"type":36,"tag":109,"props":110,"children":114},"pre",{"className":111,"code":112,"language":113,"meta":7,"style":7},"language-bash shiki shiki-themes github-dark","bruin init default notion-pipeline\n","bash",[115],{"type":36,"tag":116,"props":117,"children":118},"code",{"__ignoreMap":7},[119],{"type":36,"tag":120,"props":121,"children":124},"span",{"class":122,"line":123},"line",1,[125,131,137,142],{"type":36,"tag":120,"props":126,"children":128},{"style":127},"--shiki-default:#B392F0",[129],{"type":45,"value":130},"bruin",{"type":36,"tag":120,"props":132,"children":134},{"style":133},"--shiki-default:#9ECBFF",[135],{"type":45,"value":136}," init",{"type":36,"tag":120,"props":138,"children":139},{"style":133},[140],{"type":45,"value":141}," default",{"type":36,"tag":120,"props":143,"children":144},{"style":133},[145],{"type":45,"value":146}," notion-pipeline\n",{"type":36,"tag":37,"props":148,"children":149},{},[150,152,158,160,166,168,174],{"type":45,"value":151},"This creates a project structure with an ",{"type":36,"tag":116,"props":153,"children":155},{"className":154},[],[156],{"type":45,"value":157},"assets",{"type":45,"value":159}," folder, ",{"type":36,"tag":116,"props":161,"children":163},{"className":162},[],[164],{"type":45,"value":165},".bruin.yml",{"type":45,"value":167}," for connection and credential management, and ",{"type":36,"tag":116,"props":169,"children":171},{"className":170},[],[172],{"type":45,"value":173},"pipeline.yml",{"type":45,"value":175}," for pipeline configuration.",{"type":36,"tag":97,"props":177,"children":179},{"id":178},"create-the-asset",[180],{"type":45,"value":181},"Create the asset",{"type":36,"tag":37,"props":183,"children":184},{},[185,187,193,195,200],{"type":45,"value":186},"Add a new file called ",{"type":36,"tag":116,"props":188,"children":190},{"className":189},[],[191],{"type":45,"value":192},"notion.asset.yml",{"type":45,"value":194}," inside the ",{"type":36,"tag":116,"props":196,"children":198},{"className":197},[],[199],{"type":45,"value":157},{"type":45,"value":201}," folder:",{"type":36,"tag":109,"props":203,"children":207},{"className":204,"code":205,"language":206,"meta":7,"style":7},"language-yaml shiki shiki-themes github-dark","name: public.notion\ntype: ingestr\nconnection: my-postgres\nparameters:\n  source_connection: my-notion\n  source_table: 'your_notion_database_id'\n  destination: postgres\n","yaml",[208],{"type":36,"tag":116,"props":209,"children":210},{"__ignoreMap":7},[211,231,249,267,281,299,317],{"type":36,"tag":120,"props":212,"children":213},{"class":122,"line":123},[214,220,226],{"type":36,"tag":120,"props":215,"children":217},{"style":216},"--shiki-default:#85E89D",[218],{"type":45,"value":219},"name",{"type":36,"tag":120,"props":221,"children":223},{"style":222},"--shiki-default:#E1E4E8",[224],{"type":45,"value":225},": ",{"type":36,"tag":120,"props":227,"children":228},{"style":133},[229],{"type":45,"value":230},"public.notion\n",{"type":36,"tag":120,"props":232,"children":234},{"class":122,"line":233},2,[235,240,244],{"type":36,"tag":120,"props":236,"children":237},{"style":216},[238],{"type":45,"value":239},"type",{"type":36,"tag":120,"props":241,"children":242},{"style":222},[243],{"type":45,"value":225},{"type":36,"tag":120,"props":245,"children":246},{"style":133},[247],{"type":45,"value":248},"ingestr\n",{"type":36,"tag":120,"props":250,"children":252},{"class":122,"line":251},3,[253,258,262],{"type":36,"tag":120,"props":254,"children":255},{"style":216},[256],{"type":45,"value":257},"connection",{"type":36,"tag":120,"props":259,"children":260},{"style":222},[261],{"type":45,"value":225},{"type":36,"tag":120,"props":263,"children":264},{"style":133},[265],{"type":45,"value":266},"my-postgres\n",{"type":36,"tag":120,"props":268,"children":270},{"class":122,"line":269},4,[271,276],{"type":36,"tag":120,"props":272,"children":273},{"style":216},[274],{"type":45,"value":275},"parameters",{"type":36,"tag":120,"props":277,"children":278},{"style":222},[279],{"type":45,"value":280},":\n",{"type":36,"tag":120,"props":282,"children":284},{"class":122,"line":283},5,[285,290,294],{"type":36,"tag":120,"props":286,"children":287},{"style":216},[288],{"type":45,"value":289},"  source_connection",{"type":36,"tag":120,"props":291,"children":292},{"style":222},[293],{"type":45,"value":225},{"type":36,"tag":120,"props":295,"children":296},{"style":133},[297],{"type":45,"value":298},"my-notion\n",{"type":36,"tag":120,"props":300,"children":302},{"class":122,"line":301},6,[303,308,312],{"type":36,"tag":120,"props":304,"children":305},{"style":216},[306],{"type":45,"value":307},"  source_table",{"type":36,"tag":120,"props":309,"children":310},{"style":222},[311],{"type":45,"value":225},{"type":36,"tag":120,"props":313,"children":314},{"style":133},[315],{"type":45,"value":316},"'your_notion_database_id'\n",{"type":36,"tag":120,"props":318,"children":320},{"class":122,"line":319},7,[321,326,330],{"type":36,"tag":120,"props":322,"children":323},{"style":216},[324],{"type":45,"value":325},"  destination",{"type":36,"tag":120,"props":327,"children":328},{"style":222},[329],{"type":45,"value":225},{"type":36,"tag":120,"props":331,"children":332},{"style":133},[333],{"type":45,"value":334},"postgres\n",{"type":36,"tag":37,"props":336,"children":337},{},[338],{"type":45,"value":339},"Key fields:",{"type":36,"tag":341,"props":342,"children":343},"ul",{},[344,362,379,388,398],{"type":36,"tag":345,"props":346,"children":347},"li",{},[348,352,354,360],{"type":36,"tag":41,"props":349,"children":350},{},[351],{"type":45,"value":219},{"type":45,"value":353}," — The destination table name (e.g. ",{"type":36,"tag":116,"props":355,"children":357},{"className":356},[],[358],{"type":45,"value":359},"public.notion",{"type":45,"value":361},")",{"type":36,"tag":345,"props":363,"children":364},{},[365,369,371,377],{"type":36,"tag":41,"props":366,"children":367},{},[368],{"type":45,"value":239},{"type":45,"value":370}," — Use ",{"type":36,"tag":116,"props":372,"children":374},{"className":373},[],[375],{"type":45,"value":376},"ingestr",{"type":45,"value":378}," for Notion sources",{"type":36,"tag":345,"props":380,"children":381},{},[382,386],{"type":36,"tag":41,"props":383,"children":384},{},[385],{"type":45,"value":257},{"type":45,"value":387}," — The name of your PostgreSQL connection",{"type":36,"tag":345,"props":389,"children":390},{},[391,396],{"type":36,"tag":41,"props":392,"children":393},{},[394],{"type":45,"value":395},"source_connection",{"type":45,"value":397}," — The name of your Notion connection",{"type":36,"tag":345,"props":399,"children":400},{},[401,406],{"type":36,"tag":41,"props":402,"children":403},{},[404],{"type":45,"value":405},"source_table",{"type":45,"value":407}," — Your Notion database ID (found in the URL of your Notion database)",{"type":36,"tag":97,"props":409,"children":411},{"id":410},"configure-connections",[412],{"type":45,"value":413},"Configure connections",{"type":36,"tag":37,"props":415,"children":416},{},[417,419,427],{"type":45,"value":418},"Make sure you have your ",{"type":36,"tag":73,"props":420,"children":424},{"href":421,"rel":422},"https://dlthub.com/docs/dlt-ecosystem/verified-sources/notion#setup-guide",[423],"nofollow",[425],{"type":45,"value":426},"Notion credentials",{"type":45,"value":428}," and PostgreSQL credentials ready.",{"type":36,"tag":37,"props":430,"children":431},{},[432,434,439],{"type":45,"value":433},"Add both connections to ",{"type":36,"tag":116,"props":435,"children":437},{"className":436},[],[438],{"type":45,"value":165},{"type":45,"value":440},":",{"type":36,"tag":109,"props":442,"children":444},{"className":204,"code":443,"language":206,"meta":7,"style":7},"environments:\n  default:\n    connections:\n      postgres:\n        - name: \"my-postgres\"\n          host: \"your-host\"\n          port: 5432\n          database: \"your-database\"\n          username: \"your-username\"\n          password: \"your-password\"\n      notion:\n        - name: \"my-notion\"\n          api_key: \"your-notion-api-key\"\n",[445],{"type":36,"tag":116,"props":446,"children":447},{"__ignoreMap":7},[448,460,472,484,496,517,534,552,570,588,606,619,640],{"type":36,"tag":120,"props":449,"children":450},{"class":122,"line":123},[451,456],{"type":36,"tag":120,"props":452,"children":453},{"style":216},[454],{"type":45,"value":455},"environments",{"type":36,"tag":120,"props":457,"children":458},{"style":222},[459],{"type":45,"value":280},{"type":36,"tag":120,"props":461,"children":462},{"class":122,"line":233},[463,468],{"type":36,"tag":120,"props":464,"children":465},{"style":216},[466],{"type":45,"value":467},"  default",{"type":36,"tag":120,"props":469,"children":470},{"style":222},[471],{"type":45,"value":280},{"type":36,"tag":120,"props":473,"children":474},{"class":122,"line":251},[475,480],{"type":36,"tag":120,"props":476,"children":477},{"style":216},[478],{"type":45,"value":479},"    connections",{"type":36,"tag":120,"props":481,"children":482},{"style":222},[483],{"type":45,"value":280},{"type":36,"tag":120,"props":485,"children":486},{"class":122,"line":269},[487,492],{"type":36,"tag":120,"props":488,"children":489},{"style":216},[490],{"type":45,"value":491},"      postgres",{"type":36,"tag":120,"props":493,"children":494},{"style":222},[495],{"type":45,"value":280},{"type":36,"tag":120,"props":497,"children":498},{"class":122,"line":283},[499,504,508,512],{"type":36,"tag":120,"props":500,"children":501},{"style":222},[502],{"type":45,"value":503},"        - ",{"type":36,"tag":120,"props":505,"children":506},{"style":216},[507],{"type":45,"value":219},{"type":36,"tag":120,"props":509,"children":510},{"style":222},[511],{"type":45,"value":225},{"type":36,"tag":120,"props":513,"children":514},{"style":133},[515],{"type":45,"value":516},"\"my-postgres\"\n",{"type":36,"tag":120,"props":518,"children":519},{"class":122,"line":301},[520,525,529],{"type":36,"tag":120,"props":521,"children":522},{"style":216},[523],{"type":45,"value":524},"          host",{"type":36,"tag":120,"props":526,"children":527},{"style":222},[528],{"type":45,"value":225},{"type":36,"tag":120,"props":530,"children":531},{"style":133},[532],{"type":45,"value":533},"\"your-host\"\n",{"type":36,"tag":120,"props":535,"children":536},{"class":122,"line":319},[537,542,546],{"type":36,"tag":120,"props":538,"children":539},{"style":216},[540],{"type":45,"value":541},"          port",{"type":36,"tag":120,"props":543,"children":544},{"style":222},[545],{"type":45,"value":225},{"type":36,"tag":120,"props":547,"children":549},{"style":548},"--shiki-default:#79B8FF",[550],{"type":45,"value":551},"5432\n",{"type":36,"tag":120,"props":553,"children":555},{"class":122,"line":554},8,[556,561,565],{"type":36,"tag":120,"props":557,"children":558},{"style":216},[559],{"type":45,"value":560},"          database",{"type":36,"tag":120,"props":562,"children":563},{"style":222},[564],{"type":45,"value":225},{"type":36,"tag":120,"props":566,"children":567},{"style":133},[568],{"type":45,"value":569},"\"your-database\"\n",{"type":36,"tag":120,"props":571,"children":573},{"class":122,"line":572},9,[574,579,583],{"type":36,"tag":120,"props":575,"children":576},{"style":216},[577],{"type":45,"value":578},"          username",{"type":36,"tag":120,"props":580,"children":581},{"style":222},[582],{"type":45,"value":225},{"type":36,"tag":120,"props":584,"children":585},{"style":133},[586],{"type":45,"value":587},"\"your-username\"\n",{"type":36,"tag":120,"props":589,"children":591},{"class":122,"line":590},10,[592,597,601],{"type":36,"tag":120,"props":593,"children":594},{"style":216},[595],{"type":45,"value":596},"          password",{"type":36,"tag":120,"props":598,"children":599},{"style":222},[600],{"type":45,"value":225},{"type":36,"tag":120,"props":602,"children":603},{"style":133},[604],{"type":45,"value":605},"\"your-password\"\n",{"type":36,"tag":120,"props":607,"children":609},{"class":122,"line":608},11,[610,615],{"type":36,"tag":120,"props":611,"children":612},{"style":216},[613],{"type":45,"value":614},"      notion",{"type":36,"tag":120,"props":616,"children":617},{"style":222},[618],{"type":45,"value":280},{"type":36,"tag":120,"props":620,"children":622},{"class":122,"line":621},12,[623,627,631,635],{"type":36,"tag":120,"props":624,"children":625},{"style":222},[626],{"type":45,"value":503},{"type":36,"tag":120,"props":628,"children":629},{"style":216},[630],{"type":45,"value":219},{"type":36,"tag":120,"props":632,"children":633},{"style":222},[634],{"type":45,"value":225},{"type":36,"tag":120,"props":636,"children":637},{"style":133},[638],{"type":45,"value":639},"\"my-notion\"\n",{"type":36,"tag":120,"props":641,"children":643},{"class":122,"line":642},13,[644,649,653],{"type":36,"tag":120,"props":645,"children":646},{"style":216},[647],{"type":45,"value":648},"          api_key",{"type":36,"tag":120,"props":650,"children":651},{"style":222},[652],{"type":45,"value":225},{"type":36,"tag":120,"props":654,"children":655},{"style":133},[656],{"type":45,"value":657},"\"your-notion-api-key\"\n",{"type":36,"tag":37,"props":659,"children":660},{},[661,663,669],{"type":45,"value":662},"Or use ",{"type":36,"tag":116,"props":664,"children":666},{"className":665},[],[667],{"type":45,"value":668},"bruin connections add",{"type":45,"value":670}," to add them interactively.",{"type":36,"tag":97,"props":672,"children":674},{"id":673},"configure-the-pipeline",[675],{"type":45,"value":676},"Configure the pipeline",{"type":36,"tag":37,"props":678,"children":679},{},[680,682,687],{"type":45,"value":681},"Edit ",{"type":36,"tag":116,"props":683,"children":685},{"className":684},[],[686],{"type":45,"value":173},{"type":45,"value":688}," to set a schedule and default connections:",{"type":36,"tag":109,"props":690,"children":692},{"className":204,"code":691,"language":206,"meta":7,"style":7},"name: notion-pipeline\nschedule: daily\ndefault_connections:\n  postgres: \"my-postgres\"\n  notion: \"my-notion\"\n",[693],{"type":36,"tag":116,"props":694,"children":695},{"__ignoreMap":7},[696,712,729,741,757],{"type":36,"tag":120,"props":697,"children":698},{"class":122,"line":123},[699,703,707],{"type":36,"tag":120,"props":700,"children":701},{"style":216},[702],{"type":45,"value":219},{"type":36,"tag":120,"props":704,"children":705},{"style":222},[706],{"type":45,"value":225},{"type":36,"tag":120,"props":708,"children":709},{"style":133},[710],{"type":45,"value":711},"notion-pipeline\n",{"type":36,"tag":120,"props":713,"children":714},{"class":122,"line":233},[715,720,724],{"type":36,"tag":120,"props":716,"children":717},{"style":216},[718],{"type":45,"value":719},"schedule",{"type":36,"tag":120,"props":721,"children":722},{"style":222},[723],{"type":45,"value":225},{"type":36,"tag":120,"props":725,"children":726},{"style":133},[727],{"type":45,"value":728},"daily\n",{"type":36,"tag":120,"props":730,"children":731},{"class":122,"line":251},[732,737],{"type":36,"tag":120,"props":733,"children":734},{"style":216},[735],{"type":45,"value":736},"default_connections",{"type":36,"tag":120,"props":738,"children":739},{"style":222},[740],{"type":45,"value":280},{"type":36,"tag":120,"props":742,"children":743},{"class":122,"line":269},[744,749,753],{"type":36,"tag":120,"props":745,"children":746},{"style":216},[747],{"type":45,"value":748},"  postgres",{"type":36,"tag":120,"props":750,"children":751},{"style":222},[752],{"type":45,"value":225},{"type":36,"tag":120,"props":754,"children":755},{"style":133},[756],{"type":45,"value":516},{"type":36,"tag":120,"props":758,"children":759},{"class":122,"line":283},[760,765,769],{"type":36,"tag":120,"props":761,"children":762},{"style":216},[763],{"type":45,"value":764},"  notion",{"type":36,"tag":120,"props":766,"children":767},{"style":222},[768],{"type":45,"value":225},{"type":36,"tag":120,"props":770,"children":771},{"style":133},[772],{"type":45,"value":639},{"type":36,"tag":97,"props":774,"children":776},{"id":775},"run-the-pipeline",[777],{"type":45,"value":778},"Run the pipeline",{"type":36,"tag":37,"props":780,"children":781},{},[782],{"type":45,"value":783},"Validate first, then run:",{"type":36,"tag":109,"props":785,"children":787},{"className":111,"code":786,"language":113,"meta":7,"style":7},"bruin validate .\nbruin run .\n",[788],{"type":36,"tag":116,"props":789,"children":790},{"__ignoreMap":7},[791,808],{"type":36,"tag":120,"props":792,"children":793},{"class":122,"line":123},[794,798,803],{"type":36,"tag":120,"props":795,"children":796},{"style":127},[797],{"type":45,"value":130},{"type":36,"tag":120,"props":799,"children":800},{"style":133},[801],{"type":45,"value":802}," validate",{"type":36,"tag":120,"props":804,"children":805},{"style":133},[806],{"type":45,"value":807}," .\n",{"type":36,"tag":120,"props":809,"children":810},{"class":122,"line":233},[811,815,820],{"type":36,"tag":120,"props":812,"children":813},{"style":127},[814],{"type":45,"value":130},{"type":36,"tag":120,"props":816,"children":817},{"style":133},[818],{"type":45,"value":819}," run",{"type":36,"tag":120,"props":821,"children":822},{"style":133},[823],{"type":45,"value":807},{"type":36,"tag":97,"props":825,"children":827},{"id":826},"verify-the-results",[828],{"type":45,"value":829},"Verify the results",{"type":36,"tag":37,"props":831,"children":832},{},[833],{"type":45,"value":834},"Your Notion data is now loaded into PostgreSQL. Connect to your database and query the table:",{"type":36,"tag":109,"props":836,"children":840},{"className":837,"code":838,"language":839,"meta":7,"style":7},"language-sql shiki shiki-themes github-dark","SELECT * FROM public.notion LIMIT 10;\n","sql",[841],{"type":36,"tag":116,"props":842,"children":843},{"__ignoreMap":7},[844],{"type":36,"tag":120,"props":845,"children":846},{"class":122,"line":123},[847,853,858,863,868,873,878,883,888],{"type":36,"tag":120,"props":848,"children":850},{"style":849},"--shiki-default:#F97583",[851],{"type":45,"value":852},"SELECT",{"type":36,"tag":120,"props":854,"children":855},{"style":849},[856],{"type":45,"value":857}," *",{"type":36,"tag":120,"props":859,"children":860},{"style":849},[861],{"type":45,"value":862}," FROM",{"type":36,"tag":120,"props":864,"children":865},{"style":548},[866],{"type":45,"value":867}," public",{"type":36,"tag":120,"props":869,"children":870},{"style":222},[871],{"type":45,"value":872},".",{"type":36,"tag":120,"props":874,"children":875},{"style":548},[876],{"type":45,"value":877},"notion",{"type":36,"tag":120,"props":879,"children":880},{"style":849},[881],{"type":45,"value":882}," LIMIT",{"type":36,"tag":120,"props":884,"children":885},{"style":548},[886],{"type":45,"value":887}," 10",{"type":36,"tag":120,"props":889,"children":890},{"style":222},[891],{"type":45,"value":892},";\n",{"type":36,"tag":37,"props":894,"children":895},{},[896],{"type":45,"value":897},"The data from your Notion database is now available as a structured PostgreSQL table, ready for analytics, joins with other tables, or further transformations.",{"type":36,"tag":899,"props":900,"children":901},"style",{},[902],{"type":45,"value":903},"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);}",{"title":7,"searchDepth":233,"depth":233,"links":905},[906],{"id":87,"depth":233,"text":90,"children":907},[908,909,910,911,912,913],{"id":99,"depth":251,"text":102},{"id":178,"depth":251,"text":181},{"id":410,"depth":251,"text":413},{"id":673,"depth":251,"text":676},{"id":775,"depth":251,"text":778},{"id":826,"depth":251,"text":829},"markdown","content:tutorials:notion-postgres:index.md","content","tutorials/notion-postgres/index.md","tutorials/notion-postgres/index","md",{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"date":10,"category":11,"module":12,"isModuleIndex":13,"prerequisites":921,"resources":922,"author":926,"body":927,"_type":914,"_id":915,"_source":916,"_file":917,"_stem":918,"_extension":919},[15,16,17],[923,924,925],{"label":20,"url":21},{"label":23,"url":24},{"label":26,"url":27},{"name":29,"role":30,"image":31},{"type":33,"children":928,"toc":1631},[929,937,945,953,960,963,967,971,975,979,1004,1026,1030,1046,1153,1157,1212,1216,1226,1236,1425,1435,1439,1449,1526,1530,1534,1570,1574,1578,1623,1627],{"type":36,"tag":37,"props":930,"children":931},{},[932,936],{"type":36,"tag":41,"props":933,"children":934},{},[935],{"type":45,"value":46},{"type":45,"value":48},{"type":36,"tag":37,"props":938,"children":939},{},[940,944],{"type":36,"tag":41,"props":941,"children":942},{},[943],{"type":45,"value":56},{"type":45,"value":58},{"type":36,"tag":37,"props":946,"children":947},{},[948,952],{"type":36,"tag":41,"props":949,"children":950},{},[951],{"type":45,"value":66},{"type":45,"value":68},{"type":36,"tag":37,"props":954,"children":955},{},[956],{"type":36,"tag":73,"props":957,"children":958},{"href":75,"style":76},[959],{"type":45,"value":79},{"type":36,"tag":81,"props":961,"children":962},{},[],{"type":36,"tag":85,"props":964,"children":965},{"id":87},[966],{"type":45,"value":90},{"type":36,"tag":37,"props":968,"children":969},{},[970],{"type":45,"value":95},{"type":36,"tag":97,"props":972,"children":973},{"id":99},[974],{"type":45,"value":102},{"type":36,"tag":37,"props":976,"children":977},{},[978],{"type":45,"value":107},{"type":36,"tag":109,"props":980,"children":981},{"className":111,"code":112,"language":113,"meta":7,"style":7},[982],{"type":36,"tag":116,"props":983,"children":984},{"__ignoreMap":7},[985],{"type":36,"tag":120,"props":986,"children":987},{"class":122,"line":123},[988,992,996,1000],{"type":36,"tag":120,"props":989,"children":990},{"style":127},[991],{"type":45,"value":130},{"type":36,"tag":120,"props":993,"children":994},{"style":133},[995],{"type":45,"value":136},{"type":36,"tag":120,"props":997,"children":998},{"style":133},[999],{"type":45,"value":141},{"type":36,"tag":120,"props":1001,"children":1002},{"style":133},[1003],{"type":45,"value":146},{"type":36,"tag":37,"props":1005,"children":1006},{},[1007,1008,1013,1014,1019,1020,1025],{"type":45,"value":151},{"type":36,"tag":116,"props":1009,"children":1011},{"className":1010},[],[1012],{"type":45,"value":157},{"type":45,"value":159},{"type":36,"tag":116,"props":1015,"children":1017},{"className":1016},[],[1018],{"type":45,"value":165},{"type":45,"value":167},{"type":36,"tag":116,"props":1021,"children":1023},{"className":1022},[],[1024],{"type":45,"value":173},{"type":45,"value":175},{"type":36,"tag":97,"props":1027,"children":1028},{"id":178},[1029],{"type":45,"value":181},{"type":36,"tag":37,"props":1031,"children":1032},{},[1033,1034,1039,1040,1045],{"type":45,"value":186},{"type":36,"tag":116,"props":1035,"children":1037},{"className":1036},[],[1038],{"type":45,"value":192},{"type":45,"value":194},{"type":36,"tag":116,"props":1041,"children":1043},{"className":1042},[],[1044],{"type":45,"value":157},{"type":45,"value":201},{"type":36,"tag":109,"props":1047,"children":1048},{"className":204,"code":205,"language":206,"meta":7,"style":7},[1049],{"type":36,"tag":116,"props":1050,"children":1051},{"__ignoreMap":7},[1052,1067,1082,1097,1108,1123,1138],{"type":36,"tag":120,"props":1053,"children":1054},{"class":122,"line":123},[1055,1059,1063],{"type":36,"tag":120,"props":1056,"children":1057},{"style":216},[1058],{"type":45,"value":219},{"type":36,"tag":120,"props":1060,"children":1061},{"style":222},[1062],{"type":45,"value":225},{"type":36,"tag":120,"props":1064,"children":1065},{"style":133},[1066],{"type":45,"value":230},{"type":36,"tag":120,"props":1068,"children":1069},{"class":122,"line":233},[1070,1074,1078],{"type":36,"tag":120,"props":1071,"children":1072},{"style":216},[1073],{"type":45,"value":239},{"type":36,"tag":120,"props":1075,"children":1076},{"style":222},[1077],{"type":45,"value":225},{"type":36,"tag":120,"props":1079,"children":1080},{"style":133},[1081],{"type":45,"value":248},{"type":36,"tag":120,"props":1083,"children":1084},{"class":122,"line":251},[1085,1089,1093],{"type":36,"tag":120,"props":1086,"children":1087},{"style":216},[1088],{"type":45,"value":257},{"type":36,"tag":120,"props":1090,"children":1091},{"style":222},[1092],{"type":45,"value":225},{"type":36,"tag":120,"props":1094,"children":1095},{"style":133},[1096],{"type":45,"value":266},{"type":36,"tag":120,"props":1098,"children":1099},{"class":122,"line":269},[1100,1104],{"type":36,"tag":120,"props":1101,"children":1102},{"style":216},[1103],{"type":45,"value":275},{"type":36,"tag":120,"props":1105,"children":1106},{"style":222},[1107],{"type":45,"value":280},{"type":36,"tag":120,"props":1109,"children":1110},{"class":122,"line":283},[1111,1115,1119],{"type":36,"tag":120,"props":1112,"children":1113},{"style":216},[1114],{"type":45,"value":289},{"type":36,"tag":120,"props":1116,"children":1117},{"style":222},[1118],{"type":45,"value":225},{"type":36,"tag":120,"props":1120,"children":1121},{"style":133},[1122],{"type":45,"value":298},{"type":36,"tag":120,"props":1124,"children":1125},{"class":122,"line":301},[1126,1130,1134],{"type":36,"tag":120,"props":1127,"children":1128},{"style":216},[1129],{"type":45,"value":307},{"type":36,"tag":120,"props":1131,"children":1132},{"style":222},[1133],{"type":45,"value":225},{"type":36,"tag":120,"props":1135,"children":1136},{"style":133},[1137],{"type":45,"value":316},{"type":36,"tag":120,"props":1139,"children":1140},{"class":122,"line":319},[1141,1145,1149],{"type":36,"tag":120,"props":1142,"children":1143},{"style":216},[1144],{"type":45,"value":325},{"type":36,"tag":120,"props":1146,"children":1147},{"style":222},[1148],{"type":45,"value":225},{"type":36,"tag":120,"props":1150,"children":1151},{"style":133},[1152],{"type":45,"value":334},{"type":36,"tag":37,"props":1154,"children":1155},{},[1156],{"type":45,"value":339},{"type":36,"tag":341,"props":1158,"children":1159},{},[1160,1174,1188,1196,1204],{"type":36,"tag":345,"props":1161,"children":1162},{},[1163,1167,1168,1173],{"type":36,"tag":41,"props":1164,"children":1165},{},[1166],{"type":45,"value":219},{"type":45,"value":353},{"type":36,"tag":116,"props":1169,"children":1171},{"className":1170},[],[1172],{"type":45,"value":359},{"type":45,"value":361},{"type":36,"tag":345,"props":1175,"children":1176},{},[1177,1181,1182,1187],{"type":36,"tag":41,"props":1178,"children":1179},{},[1180],{"type":45,"value":239},{"type":45,"value":370},{"type":36,"tag":116,"props":1183,"children":1185},{"className":1184},[],[1186],{"type":45,"value":376},{"type":45,"value":378},{"type":36,"tag":345,"props":1189,"children":1190},{},[1191,1195],{"type":36,"tag":41,"props":1192,"children":1193},{},[1194],{"type":45,"value":257},{"type":45,"value":387},{"type":36,"tag":345,"props":1197,"children":1198},{},[1199,1203],{"type":36,"tag":41,"props":1200,"children":1201},{},[1202],{"type":45,"value":395},{"type":45,"value":397},{"type":36,"tag":345,"props":1205,"children":1206},{},[1207,1211],{"type":36,"tag":41,"props":1208,"children":1209},{},[1210],{"type":45,"value":405},{"type":45,"value":407},{"type":36,"tag":97,"props":1213,"children":1214},{"id":410},[1215],{"type":45,"value":413},{"type":36,"tag":37,"props":1217,"children":1218},{},[1219,1220,1225],{"type":45,"value":418},{"type":36,"tag":73,"props":1221,"children":1223},{"href":421,"rel":1222},[423],[1224],{"type":45,"value":426},{"type":45,"value":428},{"type":36,"tag":37,"props":1227,"children":1228},{},[1229,1230,1235],{"type":45,"value":433},{"type":36,"tag":116,"props":1231,"children":1233},{"className":1232},[],[1234],{"type":45,"value":165},{"type":45,"value":440},{"type":36,"tag":109,"props":1237,"children":1238},{"className":204,"code":443,"language":206,"meta":7,"style":7},[1239],{"type":36,"tag":116,"props":1240,"children":1241},{"__ignoreMap":7},[1242,1253,1264,1275,1286,1305,1320,1335,1350,1365,1380,1391,1410],{"type":36,"tag":120,"props":1243,"children":1244},{"class":122,"line":123},[1245,1249],{"type":36,"tag":120,"props":1246,"children":1247},{"style":216},[1248],{"type":45,"value":455},{"type":36,"tag":120,"props":1250,"children":1251},{"style":222},[1252],{"type":45,"value":280},{"type":36,"tag":120,"props":1254,"children":1255},{"class":122,"line":233},[1256,1260],{"type":36,"tag":120,"props":1257,"children":1258},{"style":216},[1259],{"type":45,"value":467},{"type":36,"tag":120,"props":1261,"children":1262},{"style":222},[1263],{"type":45,"value":280},{"type":36,"tag":120,"props":1265,"children":1266},{"class":122,"line":251},[1267,1271],{"type":36,"tag":120,"props":1268,"children":1269},{"style":216},[1270],{"type":45,"value":479},{"type":36,"tag":120,"props":1272,"children":1273},{"style":222},[1274],{"type":45,"value":280},{"type":36,"tag":120,"props":1276,"children":1277},{"class":122,"line":269},[1278,1282],{"type":36,"tag":120,"props":1279,"children":1280},{"style":216},[1281],{"type":45,"value":491},{"type":36,"tag":120,"props":1283,"children":1284},{"style":222},[1285],{"type":45,"value":280},{"type":36,"tag":120,"props":1287,"children":1288},{"class":122,"line":283},[1289,1293,1297,1301],{"type":36,"tag":120,"props":1290,"children":1291},{"style":222},[1292],{"type":45,"value":503},{"type":36,"tag":120,"props":1294,"children":1295},{"style":216},[1296],{"type":45,"value":219},{"type":36,"tag":120,"props":1298,"children":1299},{"style":222},[1300],{"type":45,"value":225},{"type":36,"tag":120,"props":1302,"children":1303},{"style":133},[1304],{"type":45,"value":516},{"type":36,"tag":120,"props":1306,"children":1307},{"class":122,"line":301},[1308,1312,1316],{"type":36,"tag":120,"props":1309,"children":1310},{"style":216},[1311],{"type":45,"value":524},{"type":36,"tag":120,"props":1313,"children":1314},{"style":222},[1315],{"type":45,"value":225},{"type":36,"tag":120,"props":1317,"children":1318},{"style":133},[1319],{"type":45,"value":533},{"type":36,"tag":120,"props":1321,"children":1322},{"class":122,"line":319},[1323,1327,1331],{"type":36,"tag":120,"props":1324,"children":1325},{"style":216},[1326],{"type":45,"value":541},{"type":36,"tag":120,"props":1328,"children":1329},{"style":222},[1330],{"type":45,"value":225},{"type":36,"tag":120,"props":1332,"children":1333},{"style":548},[1334],{"type":45,"value":551},{"type":36,"tag":120,"props":1336,"children":1337},{"class":122,"line":554},[1338,1342,1346],{"type":36,"tag":120,"props":1339,"children":1340},{"style":216},[1341],{"type":45,"value":560},{"type":36,"tag":120,"props":1343,"children":1344},{"style":222},[1345],{"type":45,"value":225},{"type":36,"tag":120,"props":1347,"children":1348},{"style":133},[1349],{"type":45,"value":569},{"type":36,"tag":120,"props":1351,"children":1352},{"class":122,"line":572},[1353,1357,1361],{"type":36,"tag":120,"props":1354,"children":1355},{"style":216},[1356],{"type":45,"value":578},{"type":36,"tag":120,"props":1358,"children":1359},{"style":222},[1360],{"type":45,"value":225},{"type":36,"tag":120,"props":1362,"children":1363},{"style":133},[1364],{"type":45,"value":587},{"type":36,"tag":120,"props":1366,"children":1367},{"class":122,"line":590},[1368,1372,1376],{"type":36,"tag":120,"props":1369,"children":1370},{"style":216},[1371],{"type":45,"value":596},{"type":36,"tag":120,"props":1373,"children":1374},{"style":222},[1375],{"type":45,"value":225},{"type":36,"tag":120,"props":1377,"children":1378},{"style":133},[1379],{"type":45,"value":605},{"type":36,"tag":120,"props":1381,"children":1382},{"class":122,"line":608},[1383,1387],{"type":36,"tag":120,"props":1384,"children":1385},{"style":216},[1386],{"type":45,"value":614},{"type":36,"tag":120,"props":1388,"children":1389},{"style":222},[1390],{"type":45,"value":280},{"type":36,"tag":120,"props":1392,"children":1393},{"class":122,"line":621},[1394,1398,1402,1406],{"type":36,"tag":120,"props":1395,"children":1396},{"style":222},[1397],{"type":45,"value":503},{"type":36,"tag":120,"props":1399,"children":1400},{"style":216},[1401],{"type":45,"value":219},{"type":36,"tag":120,"props":1403,"children":1404},{"style":222},[1405],{"type":45,"value":225},{"type":36,"tag":120,"props":1407,"children":1408},{"style":133},[1409],{"type":45,"value":639},{"type":36,"tag":120,"props":1411,"children":1412},{"class":122,"line":642},[1413,1417,1421],{"type":36,"tag":120,"props":1414,"children":1415},{"style":216},[1416],{"type":45,"value":648},{"type":36,"tag":120,"props":1418,"children":1419},{"style":222},[1420],{"type":45,"value":225},{"type":36,"tag":120,"props":1422,"children":1423},{"style":133},[1424],{"type":45,"value":657},{"type":36,"tag":37,"props":1426,"children":1427},{},[1428,1429,1434],{"type":45,"value":662},{"type":36,"tag":116,"props":1430,"children":1432},{"className":1431},[],[1433],{"type":45,"value":668},{"type":45,"value":670},{"type":36,"tag":97,"props":1436,"children":1437},{"id":673},[1438],{"type":45,"value":676},{"type":36,"tag":37,"props":1440,"children":1441},{},[1442,1443,1448],{"type":45,"value":681},{"type":36,"tag":116,"props":1444,"children":1446},{"className":1445},[],[1447],{"type":45,"value":173},{"type":45,"value":688},{"type":36,"tag":109,"props":1450,"children":1451},{"className":204,"code":691,"language":206,"meta":7,"style":7},[1452],{"type":36,"tag":116,"props":1453,"children":1454},{"__ignoreMap":7},[1455,1470,1485,1496,1511],{"type":36,"tag":120,"props":1456,"children":1457},{"class":122,"line":123},[1458,1462,1466],{"type":36,"tag":120,"props":1459,"children":1460},{"style":216},[1461],{"type":45,"value":219},{"type":36,"tag":120,"props":1463,"children":1464},{"style":222},[1465],{"type":45,"value":225},{"type":36,"tag":120,"props":1467,"children":1468},{"style":133},[1469],{"type":45,"value":711},{"type":36,"tag":120,"props":1471,"children":1472},{"class":122,"line":233},[1473,1477,1481],{"type":36,"tag":120,"props":1474,"children":1475},{"style":216},[1476],{"type":45,"value":719},{"type":36,"tag":120,"props":1478,"children":1479},{"style":222},[1480],{"type":45,"value":225},{"type":36,"tag":120,"props":1482,"children":1483},{"style":133},[1484],{"type":45,"value":728},{"type":36,"tag":120,"props":1486,"children":1487},{"class":122,"line":251},[1488,1492],{"type":36,"tag":120,"props":1489,"children":1490},{"style":216},[1491],{"type":45,"value":736},{"type":36,"tag":120,"props":1493,"children":1494},{"style":222},[1495],{"type":45,"value":280},{"type":36,"tag":120,"props":1497,"children":1498},{"class":122,"line":269},[1499,1503,1507],{"type":36,"tag":120,"props":1500,"children":1501},{"style":216},[1502],{"type":45,"value":748},{"type":36,"tag":120,"props":1504,"children":1505},{"style":222},[1506],{"type":45,"value":225},{"type":36,"tag":120,"props":1508,"children":1509},{"style":133},[1510],{"type":45,"value":516},{"type":36,"tag":120,"props":1512,"children":1513},{"class":122,"line":283},[1514,1518,1522],{"type":36,"tag":120,"props":1515,"children":1516},{"style":216},[1517],{"type":45,"value":764},{"type":36,"tag":120,"props":1519,"children":1520},{"style":222},[1521],{"type":45,"value":225},{"type":36,"tag":120,"props":1523,"children":1524},{"style":133},[1525],{"type":45,"value":639},{"type":36,"tag":97,"props":1527,"children":1528},{"id":775},[1529],{"type":45,"value":778},{"type":36,"tag":37,"props":1531,"children":1532},{},[1533],{"type":45,"value":783},{"type":36,"tag":109,"props":1535,"children":1536},{"className":111,"code":786,"language":113,"meta":7,"style":7},[1537],{"type":36,"tag":116,"props":1538,"children":1539},{"__ignoreMap":7},[1540,1555],{"type":36,"tag":120,"props":1541,"children":1542},{"class":122,"line":123},[1543,1547,1551],{"type":36,"tag":120,"props":1544,"children":1545},{"style":127},[1546],{"type":45,"value":130},{"type":36,"tag":120,"props":1548,"children":1549},{"style":133},[1550],{"type":45,"value":802},{"type":36,"tag":120,"props":1552,"children":1553},{"style":133},[1554],{"type":45,"value":807},{"type":36,"tag":120,"props":1556,"children":1557},{"class":122,"line":233},[1558,1562,1566],{"type":36,"tag":120,"props":1559,"children":1560},{"style":127},[1561],{"type":45,"value":130},{"type":36,"tag":120,"props":1563,"children":1564},{"style":133},[1565],{"type":45,"value":819},{"type":36,"tag":120,"props":1567,"children":1568},{"style":133},[1569],{"type":45,"value":807},{"type":36,"tag":97,"props":1571,"children":1572},{"id":826},[1573],{"type":45,"value":829},{"type":36,"tag":37,"props":1575,"children":1576},{},[1577],{"type":45,"value":834},{"type":36,"tag":109,"props":1579,"children":1580},{"className":837,"code":838,"language":839,"meta":7,"style":7},[1581],{"type":36,"tag":116,"props":1582,"children":1583},{"__ignoreMap":7},[1584],{"type":36,"tag":120,"props":1585,"children":1586},{"class":122,"line":123},[1587,1591,1595,1599,1603,1607,1611,1615,1619],{"type":36,"tag":120,"props":1588,"children":1589},{"style":849},[1590],{"type":45,"value":852},{"type":36,"tag":120,"props":1592,"children":1593},{"style":849},[1594],{"type":45,"value":857},{"type":36,"tag":120,"props":1596,"children":1597},{"style":849},[1598],{"type":45,"value":862},{"type":36,"tag":120,"props":1600,"children":1601},{"style":548},[1602],{"type":45,"value":867},{"type":36,"tag":120,"props":1604,"children":1605},{"style":222},[1606],{"type":45,"value":872},{"type":36,"tag":120,"props":1608,"children":1609},{"style":548},[1610],{"type":45,"value":877},{"type":36,"tag":120,"props":1612,"children":1613},{"style":849},[1614],{"type":45,"value":882},{"type":36,"tag":120,"props":1616,"children":1617},{"style":548},[1618],{"type":45,"value":887},{"type":36,"tag":120,"props":1620,"children":1621},{"style":222},[1622],{"type":45,"value":892},{"type":36,"tag":37,"props":1624,"children":1625},{},[1626],{"type":45,"value":897},{"type":36,"tag":899,"props":1628,"children":1629},{},[1630],{"type":45,"value":903},{"title":7,"searchDepth":233,"depth":233,"links":1632},[1633],{"id":87,"depth":233,"text":90,"children":1634},[1635,1636,1637,1638,1639,1640],{"id":99,"depth":251,"text":102},{"id":178,"depth":251,"text":181},{"id":410,"depth":251,"text":413},{"id":673,"depth":251,"text":676},{"id":775,"depth":251,"text":778},{"id":826,"depth":251,"text":829},[1642,1996],{"_path":1643,"_dir":12,"_draft":6,"_partial":6,"_locale":7,"title":1644,"description":1645,"date":10,"readingTime":283,"category":1646,"tags":1647,"difficulty":1650,"module":12,"step":123,"subSteps":13,"learnMore":1651,"author":1656,"body":1657,"_type":914,"_id":1993,"_source":916,"_file":1994,"_stem":1995,"_extension":919},"/tutorials/notion-postgres/setup-project","Set Up Project & Asset","Initialize a Bruin project and create an ingestr asset to pull data from Notion into PostgreSQL.","Tutorial",[1648,1649],"Bruin CLI","PostgreSQL","Beginner",[1652,1654],{"label":1653,"url":24},"Ingestr asset reference",{"label":1655,"url":421},"Notion source setup",{"name":29,"role":30,"image":31},{"type":33,"children":1658,"toc":1983},[1659,1665,1670,1676,1681,1687,1693,1698,1723,1728,1738,1744,1761,1868,1873,1928,1934,1939,1948,1968,1974,1979],{"type":36,"tag":85,"props":1660,"children":1662},{"id":1661},"what-youll-do",[1663],{"type":45,"value":1664},"What you'll do",{"type":36,"tag":37,"props":1666,"children":1667},{},[1668],{"type":45,"value":1669},"Initialize a new Bruin project and create an ingestr asset that defines how Notion data flows into PostgreSQL.",{"type":36,"tag":85,"props":1671,"children":1673},{"id":1672},"why-this-step-matters",[1674],{"type":45,"value":1675},"Why this step matters",{"type":36,"tag":37,"props":1677,"children":1678},{},[1679],{"type":45,"value":1680},"The ingestr asset is the core building block for moving data between systems in Bruin. By creating this asset, you tell Bruin exactly where to pull data from (Notion), where to put it (PostgreSQL), and how the two connect.",{"type":36,"tag":85,"props":1682,"children":1684},{"id":1683},"instructions",[1685],{"type":45,"value":1686},"Instructions",{"type":36,"tag":97,"props":1688,"children":1690},{"id":1689},"_1-initialize-the-project",[1691],{"type":45,"value":1692},"1) Initialize the project",{"type":36,"tag":37,"props":1694,"children":1695},{},[1696],{"type":45,"value":1697},"Create a new Bruin project using the default template:",{"type":36,"tag":109,"props":1699,"children":1700},{"className":111,"code":112,"language":113,"meta":7,"style":7},[1701],{"type":36,"tag":116,"props":1702,"children":1703},{"__ignoreMap":7},[1704],{"type":36,"tag":120,"props":1705,"children":1706},{"class":122,"line":123},[1707,1711,1715,1719],{"type":36,"tag":120,"props":1708,"children":1709},{"style":127},[1710],{"type":45,"value":130},{"type":36,"tag":120,"props":1712,"children":1713},{"style":133},[1714],{"type":45,"value":136},{"type":36,"tag":120,"props":1716,"children":1717},{"style":133},[1718],{"type":45,"value":141},{"type":36,"tag":120,"props":1720,"children":1721},{"style":133},[1722],{"type":45,"value":146},{"type":36,"tag":37,"props":1724,"children":1725},{},[1726],{"type":45,"value":1727},"This generates the following structure:",{"type":36,"tag":109,"props":1729,"children":1733},{"className":1730,"code":1732,"language":45},[1731],"language-text","notion-pipeline/\n├── assets/           # where your data assets live\n├── .bruin.yml        # project config - connections, environments\n└── pipeline.yml      # pipeline config - name, schedule, defaults\n",[1734],{"type":36,"tag":116,"props":1735,"children":1736},{"__ignoreMap":7},[1737],{"type":45,"value":1732},{"type":36,"tag":97,"props":1739,"children":1741},{"id":1740},"_2-create-the-notion-asset",[1742],{"type":45,"value":1743},"2) Create the Notion asset",{"type":36,"tag":37,"props":1745,"children":1746},{},[1747,1749,1754,1755,1760],{"type":45,"value":1748},"Create a new file called ",{"type":36,"tag":116,"props":1750,"children":1752},{"className":1751},[],[1753],{"type":45,"value":192},{"type":45,"value":194},{"type":36,"tag":116,"props":1756,"children":1758},{"className":1757},[],[1759],{"type":45,"value":157},{"type":45,"value":201},{"type":36,"tag":109,"props":1762,"children":1763},{"className":204,"code":205,"language":206,"meta":7,"style":7},[1764],{"type":36,"tag":116,"props":1765,"children":1766},{"__ignoreMap":7},[1767,1782,1797,1812,1823,1838,1853],{"type":36,"tag":120,"props":1768,"children":1769},{"class":122,"line":123},[1770,1774,1778],{"type":36,"tag":120,"props":1771,"children":1772},{"style":216},[1773],{"type":45,"value":219},{"type":36,"tag":120,"props":1775,"children":1776},{"style":222},[1777],{"type":45,"value":225},{"type":36,"tag":120,"props":1779,"children":1780},{"style":133},[1781],{"type":45,"value":230},{"type":36,"tag":120,"props":1783,"children":1784},{"class":122,"line":233},[1785,1789,1793],{"type":36,"tag":120,"props":1786,"children":1787},{"style":216},[1788],{"type":45,"value":239},{"type":36,"tag":120,"props":1790,"children":1791},{"style":222},[1792],{"type":45,"value":225},{"type":36,"tag":120,"props":1794,"children":1795},{"style":133},[1796],{"type":45,"value":248},{"type":36,"tag":120,"props":1798,"children":1799},{"class":122,"line":251},[1800,1804,1808],{"type":36,"tag":120,"props":1801,"children":1802},{"style":216},[1803],{"type":45,"value":257},{"type":36,"tag":120,"props":1805,"children":1806},{"style":222},[1807],{"type":45,"value":225},{"type":36,"tag":120,"props":1809,"children":1810},{"style":133},[1811],{"type":45,"value":266},{"type":36,"tag":120,"props":1813,"children":1814},{"class":122,"line":269},[1815,1819],{"type":36,"tag":120,"props":1816,"children":1817},{"style":216},[1818],{"type":45,"value":275},{"type":36,"tag":120,"props":1820,"children":1821},{"style":222},[1822],{"type":45,"value":280},{"type":36,"tag":120,"props":1824,"children":1825},{"class":122,"line":283},[1826,1830,1834],{"type":36,"tag":120,"props":1827,"children":1828},{"style":216},[1829],{"type":45,"value":289},{"type":36,"tag":120,"props":1831,"children":1832},{"style":222},[1833],{"type":45,"value":225},{"type":36,"tag":120,"props":1835,"children":1836},{"style":133},[1837],{"type":45,"value":298},{"type":36,"tag":120,"props":1839,"children":1840},{"class":122,"line":301},[1841,1845,1849],{"type":36,"tag":120,"props":1842,"children":1843},{"style":216},[1844],{"type":45,"value":307},{"type":36,"tag":120,"props":1846,"children":1847},{"style":222},[1848],{"type":45,"value":225},{"type":36,"tag":120,"props":1850,"children":1851},{"style":133},[1852],{"type":45,"value":316},{"type":36,"tag":120,"props":1854,"children":1855},{"class":122,"line":319},[1856,1860,1864],{"type":36,"tag":120,"props":1857,"children":1858},{"style":216},[1859],{"type":45,"value":325},{"type":36,"tag":120,"props":1861,"children":1862},{"style":222},[1863],{"type":45,"value":225},{"type":36,"tag":120,"props":1865,"children":1866},{"style":133},[1867],{"type":45,"value":334},{"type":36,"tag":37,"props":1869,"children":1870},{},[1871],{"type":45,"value":1872},"Here's what each field does:",{"type":36,"tag":341,"props":1874,"children":1875},{},[1876,1885,1901,1910,1919],{"type":36,"tag":345,"props":1877,"children":1878},{},[1879,1883],{"type":36,"tag":41,"props":1880,"children":1881},{},[1882],{"type":45,"value":219},{"type":45,"value":1884}," — The destination table name in PostgreSQL (schema.table format)",{"type":36,"tag":345,"props":1886,"children":1887},{},[1888,1892,1894,1899],{"type":36,"tag":41,"props":1889,"children":1890},{},[1891],{"type":45,"value":239},{"type":45,"value":1893}," — Set to ",{"type":36,"tag":116,"props":1895,"children":1897},{"className":1896},[],[1898],{"type":45,"value":376},{"type":45,"value":1900}," to use Bruin's built-in data movement engine",{"type":36,"tag":345,"props":1902,"children":1903},{},[1904,1908],{"type":36,"tag":41,"props":1905,"children":1906},{},[1907],{"type":45,"value":257},{"type":45,"value":1909}," — The name of your PostgreSQL destination connection",{"type":36,"tag":345,"props":1911,"children":1912},{},[1913,1917],{"type":36,"tag":41,"props":1914,"children":1915},{},[1916],{"type":45,"value":395},{"type":45,"value":1918}," — The name of your Notion source connection",{"type":36,"tag":345,"props":1920,"children":1921},{},[1922,1926],{"type":36,"tag":41,"props":1923,"children":1924},{},[1925],{"type":45,"value":405},{"type":45,"value":1927}," — Your Notion database ID (you can find this in the URL when you open your Notion database)",{"type":36,"tag":97,"props":1929,"children":1931},{"id":1930},"_3-find-your-notion-database-id",[1932],{"type":45,"value":1933},"3) Find your Notion database ID",{"type":36,"tag":37,"props":1935,"children":1936},{},[1937],{"type":45,"value":1938},"Open your Notion database in a browser. The URL looks like:",{"type":36,"tag":109,"props":1940,"children":1943},{"className":1941,"code":1942,"language":45},[1731],"https://www.notion.so/your-workspace/abc123def456...?v=...\n",[1944],{"type":36,"tag":116,"props":1945,"children":1946},{"__ignoreMap":7},[1947],{"type":45,"value":1942},{"type":36,"tag":37,"props":1949,"children":1950},{},[1951,1953,1959,1961,1966],{"type":45,"value":1952},"The database ID is the long string after your workspace name and before the ",{"type":36,"tag":116,"props":1954,"children":1956},{"className":1955},[],[1957],{"type":45,"value":1958},"?v=",{"type":45,"value":1960}," query parameter. Copy it and paste it as the ",{"type":36,"tag":116,"props":1962,"children":1964},{"className":1963},[],[1965],{"type":45,"value":405},{"type":45,"value":1967}," value in your asset file.",{"type":36,"tag":85,"props":1969,"children":1971},{"id":1970},"what-just-happened",[1972],{"type":45,"value":1973},"What just happened",{"type":36,"tag":37,"props":1975,"children":1976},{},[1977],{"type":45,"value":1978},"You've created a Bruin project with an ingestr asset that maps your Notion database to a PostgreSQL table. Next, you'll configure the actual connections and run the pipeline.",{"type":36,"tag":899,"props":1980,"children":1981},{},[1982],{"type":45,"value":903},{"title":7,"searchDepth":233,"depth":233,"links":1984},[1985,1986,1987,1992],{"id":1661,"depth":233,"text":1664},{"id":1672,"depth":233,"text":1675},{"id":1683,"depth":233,"text":1686,"children":1988},[1989,1990,1991],{"id":1689,"depth":251,"text":1692},{"id":1740,"depth":251,"text":1743},{"id":1930,"depth":251,"text":1933},{"id":1970,"depth":233,"text":1973},"content:tutorials:notion-postgres:setup-project.md","tutorials/notion-postgres/setup-project.md","tutorials/notion-postgres/setup-project",{"_path":1997,"_dir":12,"_draft":6,"_partial":6,"_locale":7,"title":1998,"description":1999,"date":10,"readingTime":283,"category":1646,"tags":2000,"difficulty":1650,"module":12,"step":233,"subSteps":13,"learnMore":2001,"author":2006,"body":2007,"_type":914,"_id":2621,"_source":916,"_file":2622,"_stem":2623,"_extension":919},"/tutorials/notion-postgres/run-pipeline","Configure & Run","Add your Notion and PostgreSQL credentials, then run the pipeline to load your data.",[1648,1649],[2002,2003],{"label":26,"url":27},{"label":2004,"url":2005},"Bruin run command","https://getbruin.com/docs/bruin/commands/run.html",{"name":29,"role":30,"image":31},{"type":33,"children":2008,"toc":2610},[2009,2013,2018,2022,2027,2031,2037,2048,2053,2077,2089,2278,2283,2340,2346,2357,2434,2462,2468,2473,2495,2500,2522,2527,2533,2538,2583,2592,2597,2601,2606],{"type":36,"tag":85,"props":2010,"children":2011},{"id":1661},[2012],{"type":45,"value":1664},{"type":36,"tag":37,"props":2014,"children":2015},{},[2016],{"type":45,"value":2017},"Configure your Notion and PostgreSQL connections, set up the pipeline schedule, then run the pipeline and verify the results.",{"type":36,"tag":85,"props":2019,"children":2020},{"id":1672},[2021],{"type":45,"value":1675},{"type":36,"tag":37,"props":2023,"children":2024},{},[2025],{"type":45,"value":2026},"Connections are what make data move. Without properly configured credentials for both the source (Notion) and destination (PostgreSQL), the pipeline can't authenticate or transfer data. Once configured, running the pipeline is a single command.",{"type":36,"tag":85,"props":2028,"children":2029},{"id":1683},[2030],{"type":45,"value":1686},{"type":36,"tag":97,"props":2032,"children":2034},{"id":2033},"_1-configure-connections",[2035],{"type":45,"value":2036},"1) Configure connections",{"type":36,"tag":37,"props":2038,"children":2039},{},[2040,2041,2047],{"type":45,"value":418},{"type":36,"tag":73,"props":2042,"children":2044},{"href":421,"rel":2043},[423],[2045],{"type":45,"value":2046},"Notion API credentials",{"type":45,"value":428},{"type":36,"tag":37,"props":2049,"children":2050},{},[2051],{"type":45,"value":2052},"You can add connections interactively:",{"type":36,"tag":109,"props":2054,"children":2056},{"className":111,"code":2055,"language":113,"meta":7,"style":7},"bruin connections add\n",[2057],{"type":36,"tag":116,"props":2058,"children":2059},{"__ignoreMap":7},[2060],{"type":36,"tag":120,"props":2061,"children":2062},{"class":122,"line":123},[2063,2067,2072],{"type":36,"tag":120,"props":2064,"children":2065},{"style":127},[2066],{"type":45,"value":130},{"type":36,"tag":120,"props":2068,"children":2069},{"style":133},[2070],{"type":45,"value":2071}," connections",{"type":36,"tag":120,"props":2073,"children":2074},{"style":133},[2075],{"type":45,"value":2076}," add\n",{"type":36,"tag":37,"props":2078,"children":2079},{},[2080,2082,2087],{"type":45,"value":2081},"Or edit ",{"type":36,"tag":116,"props":2083,"children":2085},{"className":2084},[],[2086],{"type":45,"value":165},{"type":45,"value":2088}," directly:",{"type":36,"tag":109,"props":2090,"children":2091},{"className":204,"code":443,"language":206,"meta":7,"style":7},[2092],{"type":36,"tag":116,"props":2093,"children":2094},{"__ignoreMap":7},[2095,2106,2117,2128,2139,2158,2173,2188,2203,2218,2233,2244,2263],{"type":36,"tag":120,"props":2096,"children":2097},{"class":122,"line":123},[2098,2102],{"type":36,"tag":120,"props":2099,"children":2100},{"style":216},[2101],{"type":45,"value":455},{"type":36,"tag":120,"props":2103,"children":2104},{"style":222},[2105],{"type":45,"value":280},{"type":36,"tag":120,"props":2107,"children":2108},{"class":122,"line":233},[2109,2113],{"type":36,"tag":120,"props":2110,"children":2111},{"style":216},[2112],{"type":45,"value":467},{"type":36,"tag":120,"props":2114,"children":2115},{"style":222},[2116],{"type":45,"value":280},{"type":36,"tag":120,"props":2118,"children":2119},{"class":122,"line":251},[2120,2124],{"type":36,"tag":120,"props":2121,"children":2122},{"style":216},[2123],{"type":45,"value":479},{"type":36,"tag":120,"props":2125,"children":2126},{"style":222},[2127],{"type":45,"value":280},{"type":36,"tag":120,"props":2129,"children":2130},{"class":122,"line":269},[2131,2135],{"type":36,"tag":120,"props":2132,"children":2133},{"style":216},[2134],{"type":45,"value":491},{"type":36,"tag":120,"props":2136,"children":2137},{"style":222},[2138],{"type":45,"value":280},{"type":36,"tag":120,"props":2140,"children":2141},{"class":122,"line":283},[2142,2146,2150,2154],{"type":36,"tag":120,"props":2143,"children":2144},{"style":222},[2145],{"type":45,"value":503},{"type":36,"tag":120,"props":2147,"children":2148},{"style":216},[2149],{"type":45,"value":219},{"type":36,"tag":120,"props":2151,"children":2152},{"style":222},[2153],{"type":45,"value":225},{"type":36,"tag":120,"props":2155,"children":2156},{"style":133},[2157],{"type":45,"value":516},{"type":36,"tag":120,"props":2159,"children":2160},{"class":122,"line":301},[2161,2165,2169],{"type":36,"tag":120,"props":2162,"children":2163},{"style":216},[2164],{"type":45,"value":524},{"type":36,"tag":120,"props":2166,"children":2167},{"style":222},[2168],{"type":45,"value":225},{"type":36,"tag":120,"props":2170,"children":2171},{"style":133},[2172],{"type":45,"value":533},{"type":36,"tag":120,"props":2174,"children":2175},{"class":122,"line":319},[2176,2180,2184],{"type":36,"tag":120,"props":2177,"children":2178},{"style":216},[2179],{"type":45,"value":541},{"type":36,"tag":120,"props":2181,"children":2182},{"style":222},[2183],{"type":45,"value":225},{"type":36,"tag":120,"props":2185,"children":2186},{"style":548},[2187],{"type":45,"value":551},{"type":36,"tag":120,"props":2189,"children":2190},{"class":122,"line":554},[2191,2195,2199],{"type":36,"tag":120,"props":2192,"children":2193},{"style":216},[2194],{"type":45,"value":560},{"type":36,"tag":120,"props":2196,"children":2197},{"style":222},[2198],{"type":45,"value":225},{"type":36,"tag":120,"props":2200,"children":2201},{"style":133},[2202],{"type":45,"value":569},{"type":36,"tag":120,"props":2204,"children":2205},{"class":122,"line":572},[2206,2210,2214],{"type":36,"tag":120,"props":2207,"children":2208},{"style":216},[2209],{"type":45,"value":578},{"type":36,"tag":120,"props":2211,"children":2212},{"style":222},[2213],{"type":45,"value":225},{"type":36,"tag":120,"props":2215,"children":2216},{"style":133},[2217],{"type":45,"value":587},{"type":36,"tag":120,"props":2219,"children":2220},{"class":122,"line":590},[2221,2225,2229],{"type":36,"tag":120,"props":2222,"children":2223},{"style":216},[2224],{"type":45,"value":596},{"type":36,"tag":120,"props":2226,"children":2227},{"style":222},[2228],{"type":45,"value":225},{"type":36,"tag":120,"props":2230,"children":2231},{"style":133},[2232],{"type":45,"value":605},{"type":36,"tag":120,"props":2234,"children":2235},{"class":122,"line":608},[2236,2240],{"type":36,"tag":120,"props":2237,"children":2238},{"style":216},[2239],{"type":45,"value":614},{"type":36,"tag":120,"props":2241,"children":2242},{"style":222},[2243],{"type":45,"value":280},{"type":36,"tag":120,"props":2245,"children":2246},{"class":122,"line":621},[2247,2251,2255,2259],{"type":36,"tag":120,"props":2248,"children":2249},{"style":222},[2250],{"type":45,"value":503},{"type":36,"tag":120,"props":2252,"children":2253},{"style":216},[2254],{"type":45,"value":219},{"type":36,"tag":120,"props":2256,"children":2257},{"style":222},[2258],{"type":45,"value":225},{"type":36,"tag":120,"props":2260,"children":2261},{"style":133},[2262],{"type":45,"value":639},{"type":36,"tag":120,"props":2264,"children":2265},{"class":122,"line":642},[2266,2270,2274],{"type":36,"tag":120,"props":2267,"children":2268},{"style":216},[2269],{"type":45,"value":648},{"type":36,"tag":120,"props":2271,"children":2272},{"style":222},[2273],{"type":45,"value":225},{"type":36,"tag":120,"props":2275,"children":2276},{"style":133},[2277],{"type":45,"value":657},{"type":36,"tag":37,"props":2279,"children":2280},{},[2281],{"type":45,"value":2282},"Test each connection to make sure they work:",{"type":36,"tag":109,"props":2284,"children":2286},{"className":111,"code":2285,"language":113,"meta":7,"style":7},"bruin connections test --name my-postgres\nbruin connections test --name my-notion\n",[2287],{"type":36,"tag":116,"props":2288,"children":2289},{"__ignoreMap":7},[2290,2316],{"type":36,"tag":120,"props":2291,"children":2292},{"class":122,"line":123},[2293,2297,2301,2306,2311],{"type":36,"tag":120,"props":2294,"children":2295},{"style":127},[2296],{"type":45,"value":130},{"type":36,"tag":120,"props":2298,"children":2299},{"style":133},[2300],{"type":45,"value":2071},{"type":36,"tag":120,"props":2302,"children":2303},{"style":133},[2304],{"type":45,"value":2305}," test",{"type":36,"tag":120,"props":2307,"children":2308},{"style":548},[2309],{"type":45,"value":2310}," --name",{"type":36,"tag":120,"props":2312,"children":2313},{"style":133},[2314],{"type":45,"value":2315}," my-postgres\n",{"type":36,"tag":120,"props":2317,"children":2318},{"class":122,"line":233},[2319,2323,2327,2331,2335],{"type":36,"tag":120,"props":2320,"children":2321},{"style":127},[2322],{"type":45,"value":130},{"type":36,"tag":120,"props":2324,"children":2325},{"style":133},[2326],{"type":45,"value":2071},{"type":36,"tag":120,"props":2328,"children":2329},{"style":133},[2330],{"type":45,"value":2305},{"type":36,"tag":120,"props":2332,"children":2333},{"style":548},[2334],{"type":45,"value":2310},{"type":36,"tag":120,"props":2336,"children":2337},{"style":133},[2338],{"type":45,"value":2339}," my-notion\n",{"type":36,"tag":97,"props":2341,"children":2343},{"id":2342},"_2-configure-the-pipeline",[2344],{"type":45,"value":2345},"2) Configure the pipeline",{"type":36,"tag":37,"props":2347,"children":2348},{},[2349,2350,2355],{"type":45,"value":681},{"type":36,"tag":116,"props":2351,"children":2353},{"className":2352},[],[2354],{"type":45,"value":173},{"type":45,"value":2356}," to set the pipeline name and default connections:",{"type":36,"tag":109,"props":2358,"children":2359},{"className":204,"code":691,"language":206,"meta":7,"style":7},[2360],{"type":36,"tag":116,"props":2361,"children":2362},{"__ignoreMap":7},[2363,2378,2393,2404,2419],{"type":36,"tag":120,"props":2364,"children":2365},{"class":122,"line":123},[2366,2370,2374],{"type":36,"tag":120,"props":2367,"children":2368},{"style":216},[2369],{"type":45,"value":219},{"type":36,"tag":120,"props":2371,"children":2372},{"style":222},[2373],{"type":45,"value":225},{"type":36,"tag":120,"props":2375,"children":2376},{"style":133},[2377],{"type":45,"value":711},{"type":36,"tag":120,"props":2379,"children":2380},{"class":122,"line":233},[2381,2385,2389],{"type":36,"tag":120,"props":2382,"children":2383},{"style":216},[2384],{"type":45,"value":719},{"type":36,"tag":120,"props":2386,"children":2387},{"style":222},[2388],{"type":45,"value":225},{"type":36,"tag":120,"props":2390,"children":2391},{"style":133},[2392],{"type":45,"value":728},{"type":36,"tag":120,"props":2394,"children":2395},{"class":122,"line":251},[2396,2400],{"type":36,"tag":120,"props":2397,"children":2398},{"style":216},[2399],{"type":45,"value":736},{"type":36,"tag":120,"props":2401,"children":2402},{"style":222},[2403],{"type":45,"value":280},{"type":36,"tag":120,"props":2405,"children":2406},{"class":122,"line":269},[2407,2411,2415],{"type":36,"tag":120,"props":2408,"children":2409},{"style":216},[2410],{"type":45,"value":748},{"type":36,"tag":120,"props":2412,"children":2413},{"style":222},[2414],{"type":45,"value":225},{"type":36,"tag":120,"props":2416,"children":2417},{"style":133},[2418],{"type":45,"value":516},{"type":36,"tag":120,"props":2420,"children":2421},{"class":122,"line":283},[2422,2426,2430],{"type":36,"tag":120,"props":2423,"children":2424},{"style":216},[2425],{"type":45,"value":764},{"type":36,"tag":120,"props":2427,"children":2428},{"style":222},[2429],{"type":45,"value":225},{"type":36,"tag":120,"props":2431,"children":2432},{"style":133},[2433],{"type":45,"value":639},{"type":36,"tag":37,"props":2435,"children":2436},{},[2437,2439,2444,2446,2452,2454,2460],{"type":45,"value":2438},"The ",{"type":36,"tag":116,"props":2440,"children":2442},{"className":2441},[],[2443],{"type":45,"value":719},{"type":45,"value":2445}," field controls how often the pipeline runs when deployed. Options include ",{"type":36,"tag":116,"props":2447,"children":2449},{"className":2448},[],[2450],{"type":45,"value":2451},"daily",{"type":45,"value":2453},", ",{"type":36,"tag":116,"props":2455,"children":2457},{"className":2456},[],[2458],{"type":45,"value":2459},"weekly",{"type":45,"value":2461},", or a cron expression.",{"type":36,"tag":97,"props":2463,"children":2465},{"id":2464},"_3-validate-and-run",[2466],{"type":45,"value":2467},"3) Validate and run",{"type":36,"tag":37,"props":2469,"children":2470},{},[2471],{"type":45,"value":2472},"First, validate that your project configuration is correct:",{"type":36,"tag":109,"props":2474,"children":2476},{"className":111,"code":2475,"language":113,"meta":7,"style":7},"bruin validate .\n",[2477],{"type":36,"tag":116,"props":2478,"children":2479},{"__ignoreMap":7},[2480],{"type":36,"tag":120,"props":2481,"children":2482},{"class":122,"line":123},[2483,2487,2491],{"type":36,"tag":120,"props":2484,"children":2485},{"style":127},[2486],{"type":45,"value":130},{"type":36,"tag":120,"props":2488,"children":2489},{"style":133},[2490],{"type":45,"value":802},{"type":36,"tag":120,"props":2492,"children":2493},{"style":133},[2494],{"type":45,"value":807},{"type":36,"tag":37,"props":2496,"children":2497},{},[2498],{"type":45,"value":2499},"If validation passes, run the pipeline:",{"type":36,"tag":109,"props":2501,"children":2503},{"className":111,"code":2502,"language":113,"meta":7,"style":7},"bruin run .\n",[2504],{"type":36,"tag":116,"props":2505,"children":2506},{"__ignoreMap":7},[2507],{"type":36,"tag":120,"props":2508,"children":2509},{"class":122,"line":123},[2510,2514,2518],{"type":36,"tag":120,"props":2511,"children":2512},{"style":127},[2513],{"type":45,"value":130},{"type":36,"tag":120,"props":2515,"children":2516},{"style":133},[2517],{"type":45,"value":819},{"type":36,"tag":120,"props":2519,"children":2520},{"style":133},[2521],{"type":45,"value":807},{"type":36,"tag":37,"props":2523,"children":2524},{},[2525],{"type":45,"value":2526},"Bruin will connect to Notion, extract the data from your database, and load it into the PostgreSQL table you specified in the asset.",{"type":36,"tag":97,"props":2528,"children":2530},{"id":2529},"_4-verify-the-results",[2531],{"type":45,"value":2532},"4) Verify the results",{"type":36,"tag":37,"props":2534,"children":2535},{},[2536],{"type":45,"value":2537},"Connect to your PostgreSQL database and query the table:",{"type":36,"tag":109,"props":2539,"children":2540},{"className":837,"code":838,"language":839,"meta":7,"style":7},[2541],{"type":36,"tag":116,"props":2542,"children":2543},{"__ignoreMap":7},[2544],{"type":36,"tag":120,"props":2545,"children":2546},{"class":122,"line":123},[2547,2551,2555,2559,2563,2567,2571,2575,2579],{"type":36,"tag":120,"props":2548,"children":2549},{"style":849},[2550],{"type":45,"value":852},{"type":36,"tag":120,"props":2552,"children":2553},{"style":849},[2554],{"type":45,"value":857},{"type":36,"tag":120,"props":2556,"children":2557},{"style":849},[2558],{"type":45,"value":862},{"type":36,"tag":120,"props":2560,"children":2561},{"style":548},[2562],{"type":45,"value":867},{"type":36,"tag":120,"props":2564,"children":2565},{"style":222},[2566],{"type":45,"value":872},{"type":36,"tag":120,"props":2568,"children":2569},{"style":548},[2570],{"type":45,"value":877},{"type":36,"tag":120,"props":2572,"children":2573},{"style":849},[2574],{"type":45,"value":882},{"type":36,"tag":120,"props":2576,"children":2577},{"style":548},[2578],{"type":45,"value":887},{"type":36,"tag":120,"props":2580,"children":2581},{"style":222},[2582],{"type":45,"value":892},{"type":36,"tag":37,"props":2584,"children":2585},{},[2586],{"type":36,"tag":2587,"props":2588,"children":2591},"img",{"alt":2589,"src":2590},"Notion data loaded into PostgreSQL","/img/learn/tutorials/notion-table.png",[],{"type":36,"tag":37,"props":2593,"children":2594},{},[2595],{"type":45,"value":2596},"You should see your Notion database records as rows in PostgreSQL, with columns matching the properties in your Notion database.",{"type":36,"tag":85,"props":2598,"children":2599},{"id":1970},[2600],{"type":45,"value":1973},{"type":36,"tag":37,"props":2602,"children":2603},{},[2604],{"type":45,"value":2605},"You've built a complete data pipeline that moves data from Notion to PostgreSQL. Your Notion data is now in a structured database, ready for querying, analytics, or joining with other data sources. From here, you can add more assets to ingest from other Notion databases, add SQL transformations, or schedule the pipeline for automatic runs.",{"type":36,"tag":899,"props":2607,"children":2608},{},[2609],{"type":45,"value":903},{"title":7,"searchDepth":233,"depth":233,"links":2611},[2612,2613,2614,2620],{"id":1661,"depth":233,"text":1664},{"id":1672,"depth":233,"text":1675},{"id":1683,"depth":233,"text":1686,"children":2615},[2616,2617,2618,2619],{"id":2033,"depth":251,"text":2036},{"id":2342,"depth":251,"text":2345},{"id":2464,"depth":251,"text":2467},{"id":2529,"depth":251,"text":2532},{"id":1970,"depth":233,"text":1973},"content:tutorials:notion-postgres:run-pipeline.md","tutorials/notion-postgres/run-pipeline.md","tutorials/notion-postgres/run-pipeline",1776424154575]