Database 패널에서 문제가 개발 환경에 영향을 주는지 프로덕션 환경에 영향을 주는지 확인하세요. 실패한 요청을 실행하는 환경과 비교해 보세요. 개발 및 프로덕션 데이터베이스를 참조하세요.일치하는 사고가 있는지 Replit Status를 확인하세요. 연결 오류만으로 장애라고 단정하지 마세요.
컨트롤이 없다면 수동으로 구성한 DATABASE_URL이 패널에 표시된 데이터베이스와 다른 데이터베이스를 가리키는지 확인하세요.
연결 설정은 비공개로 비교하세요. 전체 연결 문자열을 출력하거나 공유하지 마세요. 의도적으로 구성한 외부 데이터베이스 설정을 제거하지 마세요.일시 중지 해제가 실패하거나 컨트롤이 계속 보이지 않으면 환경, 오류, 시도한 단계와 함께 지원팀에 문의하세요. 반복적인 재시작은 일시 중지된 데이터베이스를 조사하는 것을 대체할 수 없습니다.
특히 복원이나 마이그레이션 이후에는 게시된 앱의 프로덕션 시크릿과 데이터베이스 구성을 확인하세요. 워크스페이스 시크릿만으로는 프로덕션 연결이 검증되지 않습니다.Publishing에서 Adjust settings와 프로덕션 시크릿을 검토하세요. 앱이 DATABASE_URL과 개별 PostgreSQL 변수를 모두 사용한다면 둘이 의도한 같은 데이터베이스를 가리키는지 확인하세요. 의도한 구성을 저장하고 게시한 다음, 쓰기를 테스트하기 전에 읽기를 먼저 확인하세요.프로덕션 자격 증명을 프런트엔드 코드나 공개 리포지토리에 복사하지 마세요.
먼저 앱이 어느 데이터베이스를 읽고 있는지 확인하세요. 비어 있는 개발 데이터베이스나 다른 연결 대상 때문에 데이터가 손실된 것처럼 보일 수 있습니다.최근 마이그레이션이 테이블 이름이나 스키마를 변경했는지 확인하세요. 앱 코드를 게시했다고 해서 개발 레코드가 프로덕션으로 복사된 것은 아닙니다. 진단 단계로 초기화를 실행하거나, 테이블을 삭제하거나, 개발 데이터를 프로덕션 위에 복사하지 마세요.
테이블, 뷰, 기본값, 정책이 이러한 객체 중 하나에 의존하는 경우, 게시가 데이터베이스 마이그레이션 단계에서 다음과 같은 오류와 함께 중단됩니다.
function my_function(text) does not exist
type "my_domain" does not exist
role "app_user" does not exist
Replit은 실패한 마이그레이션을 롤백하므로 프로덕션 데이터베이스는 변경되지 않습니다.트리거와 권한은 보통 오류를 일으키지 않습니다. 게시는 성공하지만 게시된 앱이 Preview와 다르게 동작할 수 있습니다. 예를 들어 타임스탬프를 업데이트하는 트리거는 프로덕션에서 실행되지 않습니다.두 경우 모두 프로덕션에서 누락된 항목을 찾고프로덕션에 적용한 다음 다시 게시하세요.
Agent는 프로덕션 데이터베이스에 대한 읽기 전용 접근 권한이 있으므로 이 비교를 대신 실행할 수 있습니다. 누락된 객체를 프로덕션에 적용하기의 프롬프트를 참조하세요. 직접 확인하려면 SQL console에서 두 데이터베이스에 동일한 읽기 전용 쿼리를 실행한 다음 결과를 비교하세요.
-- Functions you created (excludes functions installed by extensions)SELECT p.proname FROM pg_proc pWHERE p.pronamespace = 'public'::regnamespace AND NOT EXISTS ( SELECT 1 FROM pg_depend d WHERE d.objid = p.oid AND d.deptype = 'e' )ORDER BY 1;-- TriggersSELECT DISTINCT event_object_table, trigger_nameFROM information_schema.triggersORDER BY 1, 2;-- DomainsSELECT typname FROM pg_typeWHERE typtype = 'd' AND typnamespace = 'public'::regnamespaceORDER BY 1;-- RolesSELECT rolname FROM pg_rolesWHERE rolname NOT LIKE 'pg\_%'ORDER BY 1;-- Grants to roles other than the one you're connected asSELECT table_name, grantee, privilege_typeFROM information_schema.role_table_grantsWHERE table_schema = 'public' AND grantee <> current_userORDER BY 1, 2, 3;
개발 환경에만 나타나는 항목은 프로덕션에 적용해야 합니다. 일부 역할은 Replit이 생성하며 두 데이터베이스 간에 다를 수 있습니다. 앱의 정책이나 권한이 사용하는 역할만 있으면 됩니다.
고급: 이 단계는 함수, 트리거, 역할처럼 게시할 때 옮겨지지 않는 객체를 추가하기 위해 라이브 프로덕션 데이터베이스에서 SQL을 직접 실행합니다. SQL을 수동으로 실행하는 것은 지원되지 않는 방식이라 제한적으로만 도와드릴 수 있으므로, SQL 작업에 익숙한 경우에만 권장합니다.먼저 데이터 복구에서 선택지를 검토하고, 앱의 트래픽이 적을 때 변경 사항을 적용하세요.
Agent에게 데이터베이스를 비교하고 누락된 항목에 대한 스크립트를 작성하도록 요청하세요. 프로젝트의 Agent에 다음 프롬프트를 붙여넣으세요.Agent는 프로덕션 데이터베이스를 읽을 수는 있지만 변경할 수는 없으므로, 스크립트는 다음 단계에서 직접 실행합니다.
Database 도구에서 프로덕션 데이터베이스를 선택하고 My Data를 연 다음 Enable Editing을 켜세요.
복구를 평가하는 동안 영향을 받는 데이터에 대한 불필요한 쓰기를 중지하세요. 복원하면 더 최신 데이터가 대체될 수 있습니다. 복구 작업을 확정하기 전에 현재 상태를 보존하고 범위를 파악하세요.
영향을 받는 환경, 정상이었던 마지막 시점의 대략적인 시각과 시간대, 변경된 내용을 기록하세요. 해당 데이터베이스에 표시되는 복구 옵션과 사용 가능한 기록을 확인하세요. 보존 기간과 복구 방법은 데이터베이스와 구성에 따라 다르므로, 이전 시점이 복구 가능하다고 가정하지 마세요.데이터 복구의 데이터베이스별 지침을 사용하세요. 앱 코드를 롤백하면 프로덕션 데이터도 복원된다고 가정하지 마세요.안전한 복구 경로를 찾을 수 없다면 지원팀에 문의하세요. 복구는 보장되지 않으며, 보존 기간을 늘려도 보관되지 않은 기록을 다시 만들 수는 없습니다.
공유된 자료에서 노출된 값을 제거하세요. 지원되는 프로덕션 데이터베이스라면 Database 도구에서 자격 증명을 재생성하세요. 먼저 자격 요건과 중단 경고를 검토하세요. 외부 클라이언트를 새 연결 문자열로 업데이트하세요. 해당 작업을 사용할 수 없다면 지원팀에 문의하세요. 자격 증명을 교체하려고 데이터베이스를 삭제하지 마세요.
프로젝트 URL, 환경, 민감 정보를 제거한 오류, 시간대를 포함한 시각, 최근 마이그레이션 또는 복원, 이미 완료한 점검을 포함하세요. 데이터베이스 자격 증명, 전체 연결 문자열, 고객 레코드는 포함하지 마세요. 지원 체크리스트를 참조하세요.
이 페이지가 도움이 되었나요?
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Replit","colors":{"primary":"#FF3C00","light":"#FF3C00","dark":"#FF3C00"},"logo":{"light":"https://mintcdn.com/replit/j4of5To8jzehz0JK/logo/light.svg?fit=max\u0026auto=format\u0026n=j4of5To8jzehz0JK\u0026q=85\u0026s=6209cb5927b56fd1781133af05428373","dark":"https://mintcdn.com/replit/j4of5To8jzehz0JK/logo/dark.svg?fit=max\u0026auto=format\u0026n=j4of5To8jzehz0JK\u0026q=85\u0026s=9cbba158300d48c49d8b888e71015495","href":"/welcome"},"favicon":"https://mintcdn.com/replit/CmOMKRnamiqG44eH/favicon.ico?fit=max\u0026auto=format\u0026n=CmOMKRnamiqG44eH\u0026q=85\u0026s=c89a6df6f537373c946c7a5f0ac65475","appearance":{"default":"light"},"background":{"color":{"light":"#F6F5F4","dark":"#1E1E1F"}},"navbar":{"links":[],"primary":{"type":"button","label":"Start Building","href":"https://replit.com?ref=docs"}},"footer":{"socials":{"x":"https://x.com/replit","linkedin":"https://www.linkedin.com/company/repl-it","youtube":"https://www.youtube.com/@replit"}},"seo":{"metatags":{"og:site_name":"Replit Docs","twitter:site":"@replit","twitter:creator":"@replit","author":"Replit"},"indexing":"all"},"fonts":{"heading":{"family":"ABC Diatype Plus","weight":400,"source":"https://cdn.replit.com/dotcom/fonts/ABCDiatypePlusVariable.woff2","format":"woff2"},"body":{"family":"ABC Diatype Plus","weight":400,"source":"https://cdn.replit.com/dotcom/fonts/ABCDiatypePlusVariable.woff2","format":"woff2"}},"integrations":{"segment":{"key":"dMePKGC4BqfBivpe0Hvl8IoPpzSHgjdX"}},"contextual":{"options":["copy","view"],"display":"header"},"thumbnails":{"appearance":"light","background":"https://mintcdn.com/replit/j4of5To8jzehz0JK/thumb.png?fit=max\u0026auto=format\u0026n=j4of5To8jzehz0JK\u0026q=85\u0026s=a7db7f0256b2fa06810fb4d378e63cc5","fonts":{"family":"ABC Diatype Plus"}},"styling":{"latex":true},"navigation":{"languages":[{"language":"en","href":"welcome"},{"language":"fr","navbar":{"links":[],"primary":{"type":"button","label":"Commencer à créer","href":"https://replit.com?ref=docs"}},"href":"fr/welcome"},{"language":"pt","hidden":false,"navbar":{"links":[],"primary":{"type":"button","label":"Comece a criar","href":"https://replit.com?ref=docs"}},"href":"pt/welcome"},{"language":"ja","hidden":false,"navbar":{"links":[],"primary":{"type":"button","label":"作成を開始","href":"https://replit.com?ref=docs"}},"href":"ja/welcome"},{"language":"ko","hidden":false,"navbar":{"links":[],"primary":{"type":"button","label":"빌드 시작하기","href":"https://replit.com?ref=docs"}},"href":"ko/welcome"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"replit","hasAudioNarration":false,"actualSubdomain":"replit","customDomains":["docs.replit.com","docs.repl.it"],"gitSource":{"type":"github","owner":"replit","repo":"replit-docs","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"issues":true,"edits":false},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6af1e6e40da5396f9633a9b1","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"en","tag":"Features","count":360},{"language":"fr","tag":"Fonctionnalités","count":360},{"language":"ja","tag":"機能","count":360},{"language":"ko","tag":"기능","count":360},{"language":"pt","tag":"Funcionalidades","count":360},{"language":"en","tag":"Changelog","count":100},{"language":"fr","tag":"Journal des modifications","count":100},{"language":"ja","tag":"変更履歴","count":100},{"language":"ko","tag":"변경 내역","count":100},{"language":"pt","tag":"Registro de alterações","count":100},{"language":"en","tag":"Apps","count":41},{"language":"fr","tag":"Apps","count":41},{"language":"ja","tag":"Apps","count":41},{"language":"ko","tag":"Apps","count":41},{"language":"pt","tag":"Apps","count":41},{"language":"en","tag":"Enterprise","count":40},{"language":"fr","tag":"Entreprise","count":40},{"language":"ja","tag":"Enterprise","count":40},{"language":"ko","tag":"Enterprise","count":40},{"language":"pt","tag":"Enterprise","count":40},{"language":"en","tag":"Use cases","count":39},{"language":"fr","tag":"Use cases","count":39},{"language":"ja","tag":"Use cases","count":39},{"language":"ko","tag":"Use cases","count":39},{"language":"pt","tag":"Use cases","count":39},{"language":"en","tag":"Chats","count":25},{"language":"en","tag":"Designs","count":25},{"language":"fr","tag":"Chats","count":25},{"language":"fr","tag":"Designs","count":25},{"language":"ja","tag":"Chats","count":25},{"language":"ja","tag":"Designs","count":25},{"language":"ko","tag":"Chats","count":25},{"language":"ko","tag":"Designs","count":25},{"language":"pt","tag":"Chats","count":25},{"language":"pt","tag":"Designs","count":25},{"language":"en","tag":"Trust \u0026 Billing","count":23},{"language":"fr","tag":"Confiance et facturation","count":23},{"language":"ja","tag":"信頼と請求","count":23},{"language":"ko","tag":"신뢰 및 결제","count":23},{"language":"pt","tag":"Confiança e faturamento","count":23},{"language":"en","tag":"Web","count":22},{"language":"fr","tag":"Web","count":22},{"language":"ja","tag":"Web","count":22},{"language":"ko","tag":"Web","count":22},{"language":"pt","tag":"Web","count":22},{"language":"en","tag":"Help","count":20},{"language":"fr","tag":"Help","count":20},{"language":"ja","tag":"Help","count":20},{"language":"ko","tag":"Help","count":20},{"language":"pt","tag":"Help","count":20}]},"assistantConfig":{"deflection":{"enabled":true,"email":"support@replit.com"}},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","href":"/_mintlify/custom/replit/795eee5cda55dee3/styles.css"}],"page":{"pagePath":"ko/help/troubleshooting/databases","slug":"/ko/help/troubleshooting/databases","pageMetadata":{"title":"데이터베이스 문제 해결","sidebarTitle":"데이터베이스","description":"데이터를 삭제하거나 덮어쓰지 않고 데이터베이스 연결 실패, 일시 중지된 엔드포인트, 누락된 프로덕션 데이터, 복구 옵션을 안전하게 조사하세요.","href":"/ko/help/troubleshooting/databases"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"데이터를 삭제하거나 덮어쓰지 않고 데이터베이스 연결 실패, 일시 중지된 엔드포인트, 누락된 프로덕션 데이터, 복구 옵션을 안전하게 조사하세요.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];const AiPrompt=({children})=>{const{CodeBlock}=_provideComponents()||{};if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);return _jsx(CodeBlock,{className:`mint-relative mint-block mint-max-w-full mint-overflow-x-hidden mint-font-sans !mint-whitespace-pre-wrap !mint-break-words`,style:{overflowWrap:`anywhere`,wordBreak:`break-word`},children:_jsx(`div`,{className:`mint-pr-7`,style:{whiteSpace:`pre-wrap`,overflowWrap:`anywhere`,wordBreak:`break-word`},children})})};function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Warning,_MdxComponentBoundary}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);if(!_MdxComponentBoundary)_missingMdxReference(`_MdxComponentBoundary`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`영향을-받는-데이터베이스-확인`,children:`영향을 받는 데이터베이스 확인`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Database`}),` 패널에서 문제가 개발 환경에 영향을 주는지 프로덕션 환경에 영향을 주는지 확인하세요. 실패한 요청을 실행하는 환경과 비교해 보세요. `,_jsx(_components.a,{href:`/ko/features/data-and-storage/development-and-production`,children:`개발 및 프로덕션 데이터베이스`}),`를 참조하세요.`]}),`\n`,_jsxs(_components.p,{children:[`일치하는 사고가 있는지 `,_jsx(_components.a,{href:`https://status.replit.com`,children:`Replit Status`}),`를 확인하세요. 연결 오류만으로 장애라고 단정하지 마세요.`]}),`\n`,_jsx(Heading,{level:`2`,id:`”the-endpoint-has-been-disabled”`,children:`”The endpoint has been disabled”`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`해결되지 않은 청구 문제나 사용량 제한이 있는지 확인하세요.`}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Database`}),` 패널을 열고 영향을 받는 환경을 선택하세요.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Unpause database`}),`를 사용할 수 있다면 선택한 다음 연결을 다시 시도하세요.`]}),`\n`,_jsxs(_components.li,{children:[`컨트롤이 없다면 수동으로 구성한 `,_jsx(_components.code,{children:`DATABASE_URL`}),`이 패널에 표시된 데이터베이스와 다른 데이터베이스를 가리키는지 확인하세요.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`연결 설정은 비공개로 비교하세요. 전체 연결 문자열을 출력하거나 공유하지 마세요. 의도적으로 구성한 외부 데이터베이스 설정을 제거하지 마세요.`}),`\n`,_jsx(_components.p,{children:`일시 중지 해제가 실패하거나 컨트롤이 계속 보이지 않으면 환경, 오류, 시도한 단계와 함께 지원팀에 문의하세요. 반복적인 재시작은 일시 중지된 데이터베이스를 조사하는 것을 대체할 수 없습니다.`}),`\n`,_jsx(Heading,{level:`2`,id:`preview는-연결되지만-게시된-앱은-연결되지-않는-경우`,children:`Preview는 연결되지만 게시된 앱은 연결되지 않는 경우`}),`\n`,_jsx(_components.p,{children:`특히 복원이나 마이그레이션 이후에는 게시된 앱의 프로덕션 시크릿과 데이터베이스 구성을 확인하세요. 워크스페이스 시크릿만으로는 프로덕션 연결이 검증되지 않습니다.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Publishing`}),`에서 `,_jsx(_components.strong,{children:`Adjust settings`}),`와 프로덕션 시크릿을 검토하세요. 앱이 `,_jsx(_components.code,{children:`DATABASE_URL`}),`과 개별 PostgreSQL 변수를 모두 사용한다면 둘이 의도한 같은 데이터베이스를 가리키는지 확인하세요. 의도한 구성을 저장하고 게시한 다음, 쓰기를 테스트하기 전에 읽기를 먼저 확인하세요.`]}),`\n`,_jsx(_components.p,{children:`프로덕션 자격 증명을 프런트엔드 코드나 공개 리포지토리에 복사하지 마세요.`}),`\n`,_jsx(Heading,{level:`2`,id:`테이블이나-레코드가-누락된-경우`,children:`테이블이나 레코드가 누락된 경우`}),`\n`,_jsx(_components.p,{children:`먼저 앱이 어느 데이터베이스를 읽고 있는지 확인하세요. 비어 있는 개발 데이터베이스나 다른 연결 대상 때문에 데이터가 손실된 것처럼 보일 수 있습니다.`}),`\n`,_jsx(_components.p,{children:`최근 마이그레이션이 테이블 이름이나 스키마를 변경했는지 확인하세요. 앱 코드를 게시했다고 해서 개발 레코드가 프로덕션으로 복사된 것은 아닙니다. 진단 단계로 초기화를 실행하거나, 테이블을 삭제하거나, 개발 데이터를 프로덕션 위에 복사하지 마세요.`}),`\n`,_jsx(Heading,{level:`2`,id:`지원되지-않는-데이터베이스-객체`,children:`지원되지 않는 데이터베이스 객체`}),`\n`,_jsx(_components.p,{children:`Replit은 두 시점에 Drizzle ORM의 마이그레이션 도구인 drizzle-kit을 사용해 데이터베이스를 관리합니다.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`개발 중에는`}),` Agent가 Drizzle 스키마 파일을 업데이트하고 drizzle-kit을 실행해 개발 데이터베이스에 적용합니다.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`게시할 때는`}),` Replit이 개발 데이터베이스와 프로덕션 데이터베이스를 비교하고, 프로덕션을 최신 상태로 만드는 데 필요한 SQL을 생성합니다. 스키마 파일이 아니라 데이터베이스 자체를 비교합니다.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`drizzle-kit은 Drizzle 스키마로 표현할 수 있는 항목, 즉 테이블, 열, 인덱스, 제약 조건, enum, 시퀀스, 뷰, 행 수준 보안 정책만 처리합니다.`}),`\n`,_jsx(Heading,{level:`3`,id:`지원되지-않음`,children:`지원되지 않음`}),`\n`,_jsx(_components.p,{children:`다음 객체는 Drizzle 스키마에 포함되지 않으므로 drizzle-kit이 개발 환경에서 비교하거나 생성할 수 없으며, 게시할 때도 프로덕션으로 복사되지 않습니다.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`도메인`}),`: `,_jsx(_components.code,{children:`CREATE DOMAIN`}),`으로 만든 커스텀 타입.`]}),`\n`,_jsx(_components.li,{children:_jsx(_components.strong,{children:`함수, 프로시저, 트리거.`})}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`권한(grant)`}),`: `,_jsx(_components.code,{children:`GRANT`}),`로 부여한 테이블 권한.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`제한적-지원-역할`,children:`제한적 지원: 역할`}),`\n`,_jsx(_components.p,{children:`Drizzle에서 역할을 선언할 수는 있지만 지원은 제한적입니다. 따라서 게시할 때 역할을 생성, 변경, 제거하지 않습니다.`}),`\n`,_jsx(Heading,{level:`3`,id:`sql로-만든-객체`,children:`SQL로 만든 객체`}),`\n`,_jsxs(_components.p,{children:[`위의 지원되지 않는 객체는 `,_jsx(_components.a,{href:`/ko/features/data-and-storage/work-with-your-data#run-sql-commands`,children:`SQL 콘솔`}),`에서 수동으로 만들 수 있으며, Agent도 개발 데이터베이스에서 SQL을 직접 실행할 수 있습니다. 이러한 객체는 개발 환경과 Preview에서는 작동하지만, 지원되지 않는 객체는 게시할 때 프로덕션으로 복사되지 않습니다.`]}),`\n`,_jsx(Heading,{level:`3`,id:`객체가-지원되지-않을-때-발생하는-일`,children:`객체가 지원되지 않을 때 발생하는 일`}),`\n`,_jsx(_components.p,{children:`테이블, 뷰, 기본값, 정책이 이러한 객체 중 하나에 의존하는 경우, 게시가 데이터베이스 마이그레이션 단계에서 다음과 같은 오류와 함께 중단됩니다.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`function my_function(text) does not exist`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`type \"my_domain\" does not exist`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`role \"app_user\" does not exist`})}),`\n`]}),`\n`,_jsx(_components.p,{children:`Replit은 실패한 마이그레이션을 롤백하므로 프로덕션 데이터베이스는 변경되지 않습니다.`}),`\n`,_jsx(_components.p,{children:`트리거와 권한은 보통 오류를 일으키지 않습니다. 게시는 성공하지만 게시된 앱이 Preview와 다르게 동작할 수 있습니다. 예를 들어 타임스탬프를 업데이트하는 트리거는 프로덕션에서 실행되지 않습니다.`}),`\n`,_jsxs(_components.p,{children:[`두 경우 모두 `,_jsx(_components.a,{href:`#%ED%94%84%EB%A1%9C%EB%8D%95%EC%85%98%EC%97%90%EC%84%9C-%EB%88%84%EB%9D%BD%EB%90%9C-%ED%95%AD%EB%AA%A9-%EC%B0%BE%EA%B8%B0`,children:`프로덕션에서 누락된 항목을 찾고`}),` `,_jsx(_components.a,{href:`#%EB%88%84%EB%9D%BD%EB%90%9C-%EA%B0%9D%EC%B2%B4%EB%A5%BC-%ED%94%84%EB%A1%9C%EB%8D%95%EC%85%98%EC%97%90-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0`,children:`프로덕션에 적용한`}),` 다음 다시 게시하세요.`]}),`\n`,_jsx(Heading,{level:`2`,id:`프로덕션에서-누락된-항목-찾기`,children:`프로덕션에서 누락된 항목 찾기`}),`\n`,_jsxs(_components.p,{children:[`Agent는 프로덕션 데이터베이스에 대한 읽기 전용 접근 권한이 있으므로 이 비교를 대신 실행할 수 있습니다. `,_jsx(_components.a,{href:`#%EB%88%84%EB%9D%BD%EB%90%9C-%EA%B0%9D%EC%B2%B4%EB%A5%BC-%ED%94%84%EB%A1%9C%EB%8D%95%EC%85%98%EC%97%90-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0`,children:`누락된 객체를 프로덕션에 적용하기`}),`의 프롬프트를 참조하세요. 직접 확인하려면 `,_jsx(_components.strong,{children:`SQL console`}),`에서 두 데이터베이스에 동일한 읽기 전용 쿼리를 실행한 다음 결과를 비교하세요.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`28`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`28`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Functions you created (excludes functions installed by extensions)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`SELECT`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` p`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`proname`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` FROM`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` pg_proc p`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`WHERE`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` p`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`pronamespace`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'public'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`::regnamespace`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` AND`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` NOT`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` EXISTS`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` SELECT`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 1`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` FROM`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` pg_depend d `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`WHERE`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` d`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`objid`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` p`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`oid`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` AND`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` d`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`deptype`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'e'`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`ORDER BY`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Triggers`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`SELECT DISTINCT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` event_object_table, trigger_name`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`FROM`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` information_schema`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`triggers`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`ORDER BY`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Domains`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`SELECT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` typname `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`FROM`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` pg_type`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`WHERE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` typtype `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'd'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` AND`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` typnamespace `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'public'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`::regnamespace`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`ORDER BY`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Roles`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`SELECT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` rolname `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`FROM`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` pg_roles`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`WHERE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` rolname `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`NOT`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` LIKE`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'pg\\\\_%'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`ORDER BY`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Grants to roles other than the one you're connected as`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`SELECT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` table_name, grantee, privilege_type`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`FROM`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` information_schema`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`role_table_grants`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`WHERE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` table_schema `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'public'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` AND`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` grantee `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` current_user`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`ORDER BY`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`3`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`개발 환경에만 나타나는 항목은 프로덕션에 적용해야 합니다. 일부 역할은 Replit이 생성하며 두 데이터베이스 간에 다를 수 있습니다. 앱의 정책이나 권한이 사용하는 역할만 있으면 됩니다.`}),`\n`,_jsx(Heading,{level:`2`,id:`누락된-객체를-프로덕션에-적용하기`,children:`누락된 객체를 프로덕션에 적용하기`}),`\n`,_jsxs(Warning,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`고급:`}),` 이 단계는 함수, 트리거, 역할처럼 게시할 때 옮겨지지 않는 객체를 추가하기 위해 라이브 프로덕션 데이터베이스에서 SQL을 직접 실행합니다. SQL을 수동으로 실행하는 것은 지원되지 않는 방식이라 제한적으로만 도와드릴 수 있으므로, SQL 작업에 익숙한 경우에만 권장합니다.`]}),_jsxs(_components.p,{children:[`먼저 `,_jsx(_components.a,{href:`/ko/features/data-and-storage/data-recovery`,children:`데이터 복구`}),`에서 선택지를 검토하고, 앱의 트래픽이 적을 때 변경 사항을 적용하세요.`]})]}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Agent에게 데이터베이스를 비교하고 누락된 항목에 대한 스크립트를 작성하도록 요청하세요. 프로젝트의 Agent에 다음 프롬프트를 붙여넣으세요.`}),`\n`,_jsx(_MdxComponentBoundary,{name:`AiPrompt`,children:_jsx(AiPrompt,{children:_jsx(_components.p,{children:`First, run a read-only query on my Replit-managed production database to\nconfirm you can reach it. If you can’t, stop and tell me why. Then compare\nmy development and production databases and find any functions,\ntriggers, domains, roles, or grants that exist only in development. Write\none SQL script that creates only the missing objects. Put roles and\ndomains first, then functions, then triggers and grants. Make every\nstatement safe to run more than once. Save the script in my project as\ndb/production-objects.sql. Don’t run it, and don’t try to change the\nproduction database.`})})}),`\n`,_jsx(_components.p,{children:`Agent는 프로덕션 데이터베이스를 읽을 수는 있지만 변경할 수는 없으므로, 스크립트는 다음 단계에서 직접 실행합니다.`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Database`}),` 도구에서 프로덕션 데이터베이스를 선택하고 `,_jsx(_components.strong,{children:`My Data`}),`를 연 다음 `,_jsx(_components.strong,{children:`Enable Editing`}),`을 켜세요.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`**`,_jsx(_components.a,{href:`/ko/features/data-and-storage/work-with-your-data#run-sql-commands`,children:`SQL console`}),`**을 열고 스크립트를 실행하세요.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Enable Editing`}),`을 끈 다음 다시 게시하세요.`]}),`\n`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`게시해도 이러한 객체는 제거되지 않으므로 이후 게시에서도 그대로 유지됩니다. 스크립트를 프로젝트에 보관하고, 개발 환경에서 이러한 객체를 추가하거나 변경할 때마다 다시 실행하세요.`}),`\n`,_jsx(Heading,{level:`2`,id:`데이터가-삭제되었거나-덮어써진-경우`,children:`데이터가 삭제되었거나 덮어써진 경우`}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`복구를 평가하는 동안 영향을 받는 데이터에 대한 불필요한 쓰기를 중지하세요. 복원하면 더 최신 데이터가 대체될 수 있습니다. 복구 작업을 확정하기 전에 현재 상태를 보존하고 범위를 파악하세요.`})}),`\n`,_jsx(_components.p,{children:`영향을 받는 환경, 정상이었던 마지막 시점의 대략적인 시각과 시간대, 변경된 내용을 기록하세요. 해당 데이터베이스에 표시되는 복구 옵션과 사용 가능한 기록을 확인하세요. 보존 기간과 복구 방법은 데이터베이스와 구성에 따라 다르므로, 이전 시점이 복구 가능하다고 가정하지 마세요.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`/ko/features/data-and-storage/data-recovery`,children:`데이터 복구`}),`의 데이터베이스별 지침을 사용하세요. 앱 코드를 롤백하면 프로덕션 데이터도 복원된다고 가정하지 마세요.`]}),`\n`,_jsx(_components.p,{children:`안전한 복구 경로를 찾을 수 없다면 지원팀에 문의하세요. 복구는 보장되지 않으며, 보존 기간을 늘려도 보관되지 않은 기록을 다시 만들 수는 없습니다.`}),`\n`,_jsx(Heading,{level:`2`,id:`자격-증명이-노출되었을-수-있는-경우`,children:`자격 증명이 노출되었을 수 있는 경우`}),`\n`,_jsxs(_components.p,{children:[`공유된 자료에서 노출된 값을 제거하세요. 지원되는 프로덕션 데이터베이스라면 `,_jsx(_components.strong,{children:`Database`}),` 도구에서 `,_jsx(_components.a,{href:`/ko/features/data-and-storage/connection-details#regenerate-production-database-credentials`,children:`자격 증명을 재생성`}),`하세요. 먼저 자격 요건과 중단 경고를 검토하세요. 외부 클라이언트를 새 연결 문자열로 업데이트하세요. 해당 작업을 사용할 수 없다면 지원팀에 문의하세요. 자격 증명을 교체하려고 데이터베이스를 삭제하지 마세요.`]}),`\n`,_jsx(Heading,{level:`2`,id:`지원팀을-위한-세부-정보`,children:`지원팀을 위한 세부 정보`}),`\n`,_jsxs(_components.p,{children:[`프로젝트 URL, 환경, 민감 정보를 제거한 오류, 시간대를 포함한 시각, 최근 마이그레이션 또는 복원, 이미 완료한 점검을 포함하세요. 데이터베이스 자격 증명, 전체 연결 문자열, 고객 레코드는 포함하지 마세요. `,_jsx(_components.a,{href:`/ko/help/troubleshooting/overview#%EC%A7%80%EC%9B%90%ED%8C%80%EC%97%90-%EB%AC%B8%EC%9D%98%ED%95%B4%EC%95%BC-%ED%95%A0-%EB%95%8C`,children:`지원 체크리스트`}),`를 참조하세요.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{AiPrompt,default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"데이터베이스 문제 해결","sidebarTitle":"데이터베이스","description":"데이터를 삭제하거나 덮어쓰지 않고 데이터베이스 연결 실패, 일시 중지된 엔드포인트, 누락된 프로덕션 데이터, 복구 옵션을 안전하게 조사하세요.","href":"/ko/help/troubleshooting/databases"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[144,612,")=>null;function _cr"]]},"mdxExtracts":{"tableOfContents":[{"title":"영향을 받는 데이터베이스 확인","slug":"영향을-받는-데이터베이스-확인","depth":2,"children":[]},{"title":"”The endpoint has been disabled”","slug":"”the-endpoint-has-been-disabled”","depth":2,"children":[]},{"title":"Preview는 연결되지만 게시된 앱은 연결되지 않는 경우","slug":"preview는-연결되지만-게시된-앱은-연결되지-않는-경우","depth":2,"children":[]},{"title":"테이블이나 레코드가 누락된 경우","slug":"테이블이나-레코드가-누락된-경우","depth":2,"children":[]},{"title":"지원되지 않는 데이터베이스 객체","slug":"지원되지-않는-데이터베이스-객체","depth":2,"children":[{"title":"지원되지 않음","slug":"지원되지-않음","depth":3,"children":[]},{"title":"제한적 지원: 역할","slug":"제한적-지원-역할","depth":3,"children":[]},{"title":"SQL로 만든 객체","slug":"sql로-만든-객체","depth":3,"children":[]},{"title":"객체가 지원되지 않을 때 발생하는 일","slug":"객체가-지원되지-않을-때-발생하는-일","depth":3,"children":[]}]},{"title":"프로덕션에서 누락된 항목 찾기","slug":"프로덕션에서-누락된-항목-찾기","depth":2,"children":[]},{"title":"누락된 객체를 프로덕션에 적용하기","slug":"누락된-객체를-프로덕션에-적용하기","depth":2,"children":[]},{"title":"데이터가 삭제되었거나 덮어써진 경우","slug":"데이터가-삭제되었거나-덮어써진-경우","depth":2,"children":[]},{"title":"자격 증명이 노출되었을 수 있는 경우","slug":"자격-증명이-노출되었을-수-있는-경우","depth":2,"children":[]},{"title":"지원팀을 위한 세부 정보","slug":"지원팀을-위한-세부-정보","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"dynamicCss":".mint-relative {\n position: relative\n}\n.mint-block {\n display: block\n}\n.mint-max-w-full {\n max-width: 100%\n}\n.mint-overflow-x-hidden {\n overflow-x: hidden\n}\n.\\!mint-whitespace-pre-wrap {\n white-space: pre-wrap !important\n}\n.\\!mint-break-words {\n overflow-wrap: break-word !important\n}\n.mint-pr-7 {\n padding-right: 1.75rem\n}\n.mint-font-sans {\n font-family: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"\n}","subdomain":"replit","siteName":"Replit","title":"데이터베이스 문제 해결 - Replit","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/help/troubleshooting/databases","matchLevel":1},"fr":{"href":"/fr/help/troubleshooting/databases","matchLevel":1},"pt":{"href":"/pt/help/troubleshooting/databases","matchLevel":1},"ja":{"href":"/ja/help/troubleshooting/databases","matchLevel":1},"ko":{"href":"/ko/help/troubleshooting/databases","matchLevel":0}}},"lastModified":"2026-11-06T15:24:26.759Z","originalFileLocation":"ko/help/troubleshooting/databases.mdx","locale":"ko"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"데이터를 삭제하거나 덮어쓰지 않고 데이터베이스 연결 실패, 일시 중지된 엔드포인트, 누락된 프로덕션 데이터, 복구 옵션을 안전하게 조사하세요.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Replit\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/replit/bmCuvIiWqqoyeE2o/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/replit/bmCuvIiWqqoyeE2o/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/replit/bmCuvIiWqqoyeE2o/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/replit/bmCuvIiWqqoyeE2o/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/replit/bmCuvIiWqqoyeE2o/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/replit/bmCuvIiWqqoyeE2o/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/replit/bmCuvIiWqqoyeE2o/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/replit/bmCuvIiWqqoyeE2o/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/replit/bmCuvIiWqqoyeE2o/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"데이터베이스 문제 해결 - Replit\">\u003cmeta data-mint-head property=\"og:description\" content=\"데이터를 삭제하거나 덮어쓰지 않고 데이터베이스 연결 실패, 일시 중지된 엔드포인트, 누락된 프로덕션 데이터, 복구 옵션을 안전하게 조사하세요.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Replit Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.replit.com/ko/help/troubleshooting/databases\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://replit.mintlify.site/_mintlify/api/og/v2?division=Troubleshooting+guides\u0026amp;title=%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4+%EB%AC%B8%EC%A0%9C+%ED%95%B4%EA%B2%B0\u0026amp;description=%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%A5%BC+%EC%82%AD%EC%A0%9C%ED%95%98%EA%B1%B0%EB%82%98+%EB%8D%AE%EC%96%B4%EC%93%B0%EC%A7%80+%EC%95%8A%EA%B3%A0+%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4+%EC%97%B0%EA%B2%B0+%EC%8B%A4%ED%8C%A8%2C+%EC%9D%BC%EC%8B%9C+%EC%A4%91%EC%A7%80%EB%90%9C+%EC%97%94%EB%93%9C%ED%8F%AC%EC%9D%B8%ED%8A%B8%2C+%EB%88%84%EB%9D%BD%EB%90%9C+%ED%94%84%EB%A1%9C%EB%8D%95%EC%85%98+%EB%8D%B0%EC%9D%B4%ED%84%B0%2C+%EB%B3%B5%EA%B5%AC+%EC%98%B5%EC%85%98%EC%9D%84+%EC%95%88%EC%A0%84%ED%95%98%EA%B2%8C+%EC%A1%B0%EC%82%AC%ED%95%98%EC%84%B8%EC%9A%94.\u0026amp;theme=c1942b8f9ebd95f98c5c7c23\u0026amp;signature=d6ded45a3ffe48ab755741be39201b1b82cd34f344e878ca7298dd56c56a8086\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"데이터베이스 문제 해결 - Replit\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"데이터를 삭제하거나 덮어쓰지 않고 데이터베이스 연결 실패, 일시 중지된 엔드포인트, 누락된 프로덕션 데이터, 복구 옵션을 안전하게 조사하세요.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://replit.mintlify.site/_mintlify/api/og/v2?division=Troubleshooting+guides\u0026amp;title=%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4+%EB%AC%B8%EC%A0%9C+%ED%95%B4%EA%B2%B0\u0026amp;description=%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%A5%BC+%EC%82%AD%EC%A0%9C%ED%95%98%EA%B1%B0%EB%82%98+%EB%8D%AE%EC%96%B4%EC%93%B0%EC%A7%80+%EC%95%8A%EA%B3%A0+%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4+%EC%97%B0%EA%B2%B0+%EC%8B%A4%ED%8C%A8%2C+%EC%9D%BC%EC%8B%9C+%EC%A4%91%EC%A7%80%EB%90%9C+%EC%97%94%EB%93%9C%ED%8F%AC%EC%9D%B8%ED%8A%B8%2C+%EB%88%84%EB%9D%BD%EB%90%9C+%ED%94%84%EB%A1%9C%EB%8D%95%EC%85%98+%EB%8D%B0%EC%9D%B4%ED%84%B0%2C+%EB%B3%B5%EA%B5%AC+%EC%98%B5%EC%85%98%EC%9D%84+%EC%95%88%EC%A0%84%ED%95%98%EA%B2%8C+%EC%A1%B0%EC%82%AC%ED%95%98%EC%84%B8%EC%9A%94.\u0026amp;theme=c1942b8f9ebd95f98c5c7c23\u0026amp;signature=d6ded45a3ffe48ab755741be39201b1b82cd34f344e878ca7298dd56c56a8086\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/replit/bmCuvIiWqqoyeE2o/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Replit\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FF3C00\">\u003cmeta data-mint-head name=\"twitter:creator\" content=\"@replit\">\u003cmeta data-mint-head name=\"author\" content=\"Replit\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.replit.com/ko/help/troubleshooting/databases\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/ko/help/troubleshooting/databases.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ko\" href=\"https://docs.replit.com/ko/help/troubleshooting/databases\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.replit.com/help/troubleshooting/databases\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://docs.replit.com/fr/help/troubleshooting/databases\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt\" href=\"https://docs.replit.com/pt/help/troubleshooting/databases\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://docs.replit.com/ja/help/troubleshooting/databases\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.replit.com/help/troubleshooting/databases\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.replit.com/#organization\",\"name\":\"Replit\",\"url\":\"https://docs.replit.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/replit/j4of5To8jzehz0JK/logo/light.svg?fit=max\u0026auto=format\u0026n=j4of5To8jzehz0JK\u0026q=85\u0026s=6209cb5927b56fd1781133af05428373\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.replit.com#website\",\"name\":\"Replit\",\"url\":\"https://docs.replit.com\",\"publisher\":{\"@id\":\"https://docs.replit.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.replit.com/ko/help/troubleshooting/databases#webpage\",\"url\":\"https://docs.replit.com/ko/help/troubleshooting/databases\",\"name\":\"데이터베이스 문제 해결\",\"description\":\"데이터를 삭제하거나 덮어쓰지 않고 데이터베이스 연결 실패, 일시 중지된 엔드포인트, 누락된 프로덕션 데이터, 복구 옵션을 안전하게 조사하세요.\",\"dateModified\":\"2026-11-06T15:24:26.759Z\",\"isPartOf\":{\"@id\":\"https://docs.replit.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.replit.com/ko/help/troubleshooting/databases#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.replit.com/ko/help/troubleshooting/databases#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Help center\",\"item\":\"https://docs.replit.com/ko/help/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Troubleshooting guides\",\"item\":\"https://docs.replit.com/ko/help/troubleshooting/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"데이터베이스 문제 해결\",\"item\":\"https://docs.replit.com/ko/help/troubleshooting/databases\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.replit.com/ko/help/troubleshooting/databases#article\",\"headline\":\"데이터베이스 문제 해결\",\"name\":\"데이터베이스 문제 해결\",\"description\":\"데이터를 삭제하거나 덮어쓰지 않고 데이터베이스 연결 실패, 일시 중지된 엔드포인트, 누락된 프로덕션 데이터, 복구 옵션을 안전하게 조사하세요.\",\"url\":\"https://docs.replit.com/ko/help/troubleshooting/databases\",\"mainEntityOfPage\":{\"@id\":\"https://docs.replit.com/ko/help/troubleshooting/databases#webpage\"},\"dateModified\":\"2026-11-06T15:24:26.759Z\",\"publisher\":{\"@id\":\"https://docs.replit.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.replit.com#website\"}}]}\u003c/script>","siteName":"Replit","nav":{"global":null,"languages":[{"language":"en","pages":[{"title":"en","href":"/help/troubleshooting/databases"}]},{"language":"fr","navbar":{"links":[],"primary":{"type":"button","label":"Commencer à créer","href":"https://replit.com?ref=docs"}},"pages":[{"title":"fr","href":"/fr/help/troubleshooting/databases"}]},{"language":"pt","navbar":{"links":[],"primary":{"type":"button","label":"Comece a criar","href":"https://replit.com?ref=docs"}},"hidden":false,"pages":[{"title":"pt","href":"/pt/help/troubleshooting/databases"}]},{"language":"ja","navbar":{"links":[],"primary":{"type":"button","label":"作成を開始","href":"https://replit.com?ref=docs"}},"hidden":false,"pages":[{"title":"ja","href":"/ja/help/troubleshooting/databases"}]},{"language":"ko","navbar":{"links":[],"primary":{"type":"button","label":"빌드 시작하기","href":"https://replit.com?ref=docs"}},"hidden":false,"tabs":[{"tab":"Home","pages":[{"title":"Home","href":"/ko/welcome"}]},{"tab":"Chats","pages":[{"title":"Chats","href":"/ko/chat/overview"}]},{"tab":"Apps","dropdowns":[{"dropdown":"Web","icon":"globe","pages":[{"group":"빠른 시작","pages":[{"title":"첫 번째 앱 빌드하기","sidebarTitle":"첫 번째 앱","icon":"rocket","href":"/ko/build/your-first-app"},{"title":"템플릿으로 빌드하고 게시하기","sidebarTitle":"템플릿으로 빌드하기","icon":"palette","href":"/ko/build/build-and-publish-from-template"},{"title":"Free Mode로 빌드하기","sidebarTitle":"Free Mode로 빌드하기","icon":"seedling","href":"/ko/build/build-with-free-mode"},{"title":"앱 게시하기","sidebarTitle":"앱 게시하기","icon":"cloud-arrow-up","href":"/ko/build/publish-your-app"}]},{"group":"Build paths","pages":[{"title":"제품 아이디어 프로토타입 만들기","sidebarTitle":"아이디어 프로토타입 만들기","icon":"lightbulb","href":"/ko/build/prototype-an-idea"},{"title":"랜딩 페이지 만들기","sidebarTitle":"랜딩 페이지 만들기","icon":"rectangle-list","href":"/ko/build/landing-page"},{"title":"Shopify 스토어프론트 빌드하기","sidebarTitle":"Shopify 스토어프론트 빌드하기","icon":"bag-shopping","href":"/ko/build/ecommerce-store"},{"title":"데이터에서 대시보드 만들기","sidebarTitle":"대시보드 만들기","icon":"chart-simple","href":"/ko/build/dashboard"},{"title":"모바일 앱 빌드하기","sidebarTitle":"모바일 앱 빌드하기","icon":"mobile-screen","href":"/ko/build/mobile-app"}]},{"group":"Grow your app","pages":[{"title":"로그인 추가","sidebarTitle":"로그인 추가","icon":"user-lock","href":"/ko/build/add-login"},{"title":"데이터베이스 추가","sidebarTitle":"데이터베이스 추가","icon":"database","href":"/ko/build/add-database"},{"title":"통합 추가","sidebarTitle":"통합 추가","icon":"plug","href":"/ko/build/add-integrations"},{"title":"커스텀 도메인 추가","sidebarTitle":"커스텀 도메인 추가","icon":"globe","href":"/ko/build/add-custom-domain"}]},{"group":"Publish and operate","pages":[{"title":"도메인 구매","sidebarTitle":"도메인 구매","icon":"cart-shopping","href":"/ko/build/domain-purchasing"},{"title":"피드백 위젯 활성화","sidebarTitle":"피드백 위젯 활성화","icon":"comment","href":"/ko/build/enable-feedback"},{"title":"앱 SEO 개선","sidebarTitle":"SEO 개선","icon":"magnifying-glass-chart","href":"/ko/build/improve-seo"},{"title":"배포 문제 해결","icon":"triangle-exclamation","href":"/ko/build/troubleshooting"}]},{"group":"Connect \u0026 integrate","pages":[{"title":"Agent Skills 사용하기","sidebarTitle":"Agent Skills 사용하기","icon":"puzzle-piece","href":"/ko/build/use-agent-skills"},{"title":"MCP로 연결하기","sidebarTitle":"MCP로 연결하기","icon":"server","href":"/ko/build/connect-via-mcp"}]},{"group":"Collaborate","pages":[{"title":"팀원 초대하기","sidebarTitle":"팀원 초대하기","icon":"user-plus","href":"/ko/build/invite-teammates"},{"title":"팀 워크스페이스 만들기","sidebarTitle":"팀 워크스페이스 만들기","icon":"users-rectangle","href":"/ko/build/create-a-team-workspace"}]},{"group":"가져오기","pages":[{"title":"제공업체에서 가져오기","sidebarTitle":"제공업체에서 가져오기","icon":"file-import","href":"/ko/build/import-from-providers"}]}]},{"dropdown":"Mobile","icon":"mobile","groups":[{"group":"빠른 시작","pages":[{"title":"첫 모바일 앱 시작하기","sidebarTitle":"모바일 앱 시작하기","icon":"wand-magic-sparkles","href":"/ko/build/mobile-first-app"},{"title":"휴대폰에서 프리뷰 및 테스트하기","sidebarTitle":"Expo Go로 테스트하기","icon":"mobile","href":"/ko/build/mobile-preview-testing"}]},{"group":"Publish for iOS","pages":[{"title":"Apple Developer 계정 설정하기","sidebarTitle":"계정 설정하기","icon":"apple","href":"/ko/build/mobile-apple-account"},{"title":"앱을 App Store Connect에 업로드하기","sidebarTitle":"앱 업로드하기","icon":"cloud-arrow-up","href":"/ko/build/mobile-upload-ios"},{"title":"TestFlight로 베타 테스트하기","sidebarTitle":"TestFlight로 테스트하기","icon":"flask","href":"/ko/build/mobile-testflight"},{"title":"App Store에 제출하기","sidebarTitle":"App Store에 제출","icon":"paper-plane","href":"/ko/build/mobile-publish-ios"}]},{"group":"Add features and grow your app","pages":[{"title":"로그인 추가하기","sidebarTitle":"로그인 추가하기","icon":"right-to-bracket","href":"/ko/build/mobile-login"},{"title":"RevenueCat으로 결제 추가하기","sidebarTitle":"결제 추가하기","icon":"credit-card","href":"/ko/build/mobile-payments"},{"title":"모바일 앱에서 이미지 저장하기","sidebarTitle":"플레이어 이미지 저장하기","icon":"image","href":"/ko/build/mobile-store-images"},{"title":"햅틱 추가하기","sidebarTitle":"햅틱 추가하기","icon":"wave-square","href":"/ko/build/mobile-haptics"},{"title":"iOS 네이티브 컴포넌트 사용하기","sidebarTitle":"네이티브 UI 사용","icon":"apple","href":"/ko/build/mobile-native-components"},{"title":"카메라 사용하기","sidebarTitle":"카메라 추가","icon":"camera","href":"/ko/build/mobile-camera"},{"title":"연락처에 접근하기","sidebarTitle":"연락처 추가","icon":"address-book","href":"/ko/build/mobile-contacts"},{"title":"푸시 알림 보내기","sidebarTitle":"알림 보내기","icon":"bell","href":"/ko/build/mobile-push-notifications"},{"title":"리뷰와 평점 수집하기","sidebarTitle":"리뷰 수집","icon":"star","href":"/ko/build/mobile-collect-reviews"}]},{"group":"디자인","pages":[{"title":"앱 디자인하기","sidebarTitle":"앱 디자인하기","icon":"palette","href":"/ko/build/mobile-design"},{"title":"앱 아이콘 생성하기","sidebarTitle":"앱 아이콘 생성","icon":"image","href":"/ko/build/mobile-app-icon"},{"title":"App Store 스크린샷 생성하기","sidebarTitle":"스토어 에셋 생성하기","icon":"images","href":"/ko/build/mobile-store-screenshots"}]},{"group":"Collaborate","pages":[{"title":"팀과 함께 PixelGames 만들기","sidebarTitle":"팀 초대하기","icon":"users","href":"/ko/build/mobile-invite-team"}]}]}]},{"tab":"Code","pages":[{"title":"Code","href":"/ko/build/code/code-with-replit"}]},{"tab":"Designs","pages":[{"title":"Designs","href":"/ko/design/what-is-replit-design"}]},{"tab":"Use cases","pages":[{"title":"Use cases","href":"/ko/use-cases"}]},{"tab":"Learn","pages":[{"title":"Learn","href":"/ko/learn/foundations/what-is-an-app"}]},{"tab":"기능","anchors":[{"anchor":"기능","icon":"book-open","pages":[{"title":"기능","href":"/ko/features/collaboration/workspaces"}]},{"anchor":"변경 내역","icon":"clock-rotate-left","pages":[{"title":"변경 내역","href":"/ko/updates/2026/11/06/changelog"}]},{"anchor":"Help","icon":"circle-question","groups":[{"group":"Help center","pages":[{"title":"도움말 센터","sidebarTitle":"개요","icon":"circle-question","href":"/ko/help/overview"},{"title":"청구 및 환불","sidebarTitle":"청구 및 환불","icon":"receipt","href":"/ko/help/billing-and-refunds"},{"title":"요금제 및 플랜","sidebarTitle":"요금제 및 플랜","icon":"tags","href":"/ko/help/pricing-and-plans"},{"title":"구독","sidebarTitle":"구독","icon":"rotate","href":"/ko/help/subscriptions"},{"title":"Agent 및 AI","sidebarTitle":"Agent 및 AI","icon":"robot","href":"/ko/help/agent-and-ai"},{"title":"무료 에이전트 모드","sidebarTitle":"무료 에이전트 모드","icon":"message-bot","href":"/ko/help/free-agent-mode"},{"title":"배포 및 게시","sidebarTitle":"배포 및 게시","icon":"rocket","href":"/ko/help/deployment-and-publishing"},{"title":"결제 및 Stripe","sidebarTitle":"결제 및 Stripe","icon":"credit-card","href":"/ko/help/payments-and-stripe"},{"title":"데이터베이스","sidebarTitle":"데이터베이스","icon":"database","href":"/ko/help/database"},{"title":"커스텀 도메인 및 DNS","sidebarTitle":"커스텀 도메인 및 DNS","icon":"globe","href":"/ko/help/custom-domains-and-dns"},{"title":"네트워킹 및 앱 오류","sidebarTitle":"네트워킹 및 앱 오류","icon":"triangle-exclamation","href":"/ko/help/networking-and-app-errors"},{"title":"Google Connectors에서 \"This app is blocked\" 오류 해결하기","sidebarTitle":"Google Suite 오류","icon":"bug","href":"/ko/features/troubleshooting/debugging-google-connectors"},{"title":"Salesforce Connection Expired 오류 해결하기","sidebarTitle":"Salesforce 오류","icon":"bug","href":"/ko/features/troubleshooting/debugging-salesforce-connectors"},{"title":"계정 및 액세스","sidebarTitle":"계정 및 액세스","icon":"user","href":"/ko/help/account-and-access"},{"title":"프로젝트 및 파일","sidebarTitle":"프로젝트 및 파일","icon":"folder","href":"/ko/help/projects-and-files"},{"group":"Troubleshooting guides","pages":[{"title":"문제 해결 가이드","sidebarTitle":"문제 해결 개요","href":"/ko/help/troubleshooting/overview"},{"title":"배포 문제 해결","sidebarTitle":"배포","href":"/ko/help/troubleshooting/deployments"},{"title":"앱 인증 문제 해결","sidebarTitle":"앱 인증","description":"앱의 인증 제공자를 확인하고, 개발 환경과 프로덕션 환경의 로그인을 비교하며, 리디렉션, 누락된 사용자, 도메인 오류를 안전하게 조사하세요.","href":"/ko/help/troubleshooting/auth"},{"title":"데이터베이스 문제 해결","sidebarTitle":"데이터베이스","href":"/ko/help/troubleshooting/databases"},{"title":"도메인 문제 해결","sidebarTitle":"도메인","description":"커스텀 도메인 DNS 레코드, 확인 및 HTTPS를 점검하고, 호스팅 문제와 인증 실패를 구분하며, 해결되지 않은 도메인 문제에 대한 안전한 증거를 수집하세요.","href":"/ko/help/troubleshooting/domains"}]}]}]}]},{"tab":"신뢰 및 결제","pages":[{"title":"신뢰 및 결제","href":"/ko/category/billing"}]},{"tab":"Enterprise","pages":[{"title":"Enterprise","href":"/ko/teams/welcome"}]}]}]},"basePath":"","title":"데이터베이스 문제 해결 - Replit","buildId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","deploymentId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","dynamics":[],"chunks":[]}