{"title":"Tindakan perpindahan basisdata","version":"3.0","locale":"id","docname":"ref/contrib/postgres/operations","url":"/id/3.0/ref/contrib/postgres/operations/","canonical":"https://djangodocs.dev/id/3.0/ref/contrib/postgres/operations/","summary":"Semua operations ini tersedia dari modul django.contrib.postgres.operations . Membuat tambahan menggunakan perpindahan Link to this heading # Anda dapat membuat…","html":"<h1>Tindakan perpindahan basisdata<a class=\"heading-anchor\" href=\"#database-migration-operations\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Semua <a class=\"reference internal\" href=\"/id/3.0/ref/migration-operations/\"><span class=\"doc\">operations</span></a> ini tersedia dari modul <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres.operations</span></code>.</p>\n<section id=\"creating-extension-using-migrations\">\n<span id=\"create-postgresql-extensions\"></span><h2>Membuat tambahan menggunakan perpindahan<a class=\"heading-anchor\" href=\"#creating-extension-using-migrations\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Anda dapat membuat tambahan PostgreSQL dalam basisdata anda menggunakan berkas pemindahan. Contoh ini membuat sebuah tambahan hstore, tetapi prinsip-prinsip sama berlaku untuk tambahan-tambahan lain.</p>\n<p>Setel tambahan hstore dalam PostgreSQL sebelum tindakan pertama <code class=\"docutils literal notranslate\"><span class=\"pre\">CreateModel</span></code> atau <code class=\"docutils literal notranslate\"><span class=\"pre\">AddField</span></code> yang melibatkan <a class=\"reference internal\" href=\"/id/3.0/ref/contrib/postgres/fields/#django.contrib.postgres.fields.HStoreField\" title=\"django.contrib.postgres.fields.HStoreField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">HStoreField</span></code></a> dengan menambahkan perpindahan dengan tindakan <a class=\"reference internal\" href=\"#django.contrib.postgres.operations.HStoreExtension\" title=\"django.contrib.postgres.operations.HStoreExtension\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">HStoreExtension</span></code></a>. Sebagai contoh:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.postgres.operations</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">HStoreExtension</span>\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Migration</span><span class=\"p\">(</span><span class=\"n\">migrations</span><span class=\"o\">.</span><span class=\"n\">Migration</span><span class=\"p\">):</span>\n    <span class=\"o\">...</span>\n\n    <span class=\"n\">operations</span> <span class=\"o\">=</span> <span class=\"p\">[</span>\n        <span class=\"n\">HStoreExtension</span><span class=\"p\">(),</span>\n        <span class=\"o\">...</span>\n    <span class=\"p\">]</span>\n</code></pre></div>\n<p>Membuat tambahan membutuhkan pengguna basisdata dengan hak khusus super pengguna. Jika pengguna basisdata Django tidak memiliki hal khusus super pengguna, anda harus membuat tambahan diluar dari perpindahan Django dengan pengguna yang mempunyai hak khusus sesuai. Dalam kasus itu, hubungkan ke basisdata Django dan jalankan permintaan <code class=\"docutils literal notranslate\"><span class=\"pre\">CREATE</span> <span class=\"pre\">EXTENSION</span> <span class=\"pre\">IF</span> <span class=\"pre\">NOT</span> <span class=\"pre\">EXISTS</span> <span class=\"pre\">hstore;</span></code>.</p>\n</section>\n<section id=\"createextension\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">CreateExtension</span></code><a class=\"heading-anchor\" href=\"#createextension\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.operations.CreateExtension\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">CreateExtension</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">name</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.operations.CreateExtension\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Sebuah subkelas <code class=\"docutils literal notranslate\"><span class=\"pre\">Operation</span></code> yang memasang tambahan PostgreSQL.</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.operations.CreateExtension.name\">\n<span class=\"sig-name descname\"><span class=\"pre\">name</span></span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.operations.CreateExtension.name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Ini adalah argumen wajib. Nama dari tambahan untuk dipasang.</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"btreeginextension\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">BtreeGinExtension</span></code><a class=\"heading-anchor\" href=\"#btreeginextension\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.operations.BtreeGinExtension\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">BtreeGinExtension</span></span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.operations.BtreeGinExtension\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Pasang tambahan <code class=\"docutils literal notranslate\"><span class=\"pre\">btree_gin</span></code>.</p>\n</dd></dl>\n\n</section>\n<section id=\"btreegistextension\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">BtreeGistExtension</span></code><a class=\"heading-anchor\" href=\"#btreegistextension\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.operations.BtreeGistExtension\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">BtreeGistExtension</span></span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.operations.BtreeGistExtension\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Pasang tambahan <code class=\"docutils literal notranslate\"><span class=\"pre\">btree_gist</span></code>.</p>\n</dd></dl>\n\n</section>\n<section id=\"citextextension\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">CITextExtension</span></code><a class=\"heading-anchor\" href=\"#citextextension\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.operations.CITextExtension\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">CITextExtension</span></span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.operations.CITextExtension\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Pasang tambahan <code class=\"docutils literal notranslate\"><span class=\"pre\">citext</span></code>.</p>\n</dd></dl>\n\n</section>\n<section id=\"cryptoextension\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">CryptoExtension</span></code><a class=\"heading-anchor\" href=\"#cryptoextension\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.operations.CryptoExtension\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">CryptoExtension</span></span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.operations.CryptoExtension\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Pasang tambahan <code class=\"docutils literal notranslate\"><span class=\"pre\">pgcrypto</span></code>.</p>\n</dd></dl>\n\n</section>\n<section id=\"hstoreextension\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">HStoreExtension</span></code><a class=\"heading-anchor\" href=\"#hstoreextension\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.operations.HStoreExtension\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">HStoreExtension</span></span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.operations.HStoreExtension\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Pasang tambahan <code class=\"docutils literal notranslate\"><span class=\"pre\">hstore</span></code> dan juga setel hubungan pada penterjemah data hstore untuk kemungkinan penggunaan dalam perpindahaan selanjutnya.</p>\n</dd></dl>\n\n</section>\n<section id=\"trigramextension\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">TrigramExtension</span></code><a class=\"heading-anchor\" href=\"#trigramextension\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.operations.TrigramExtension\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">TrigramExtension</span></span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.operations.TrigramExtension\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Pasang tambahan <code class=\"docutils literal notranslate\"><span class=\"pre\">pg_trm</span></code>.</p>\n</dd></dl>\n\n</section>\n<section id=\"unaccentextension\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">UnaccentExtension</span></code><a class=\"heading-anchor\" href=\"#unaccentextension\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.operations.UnaccentExtension\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">UnaccentExtension</span></span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.operations.UnaccentExtension\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Pasang tambahan <code class=\"docutils literal notranslate\"><span class=\"pre\">unaccent</span></code>.</p>\n</dd></dl>\n\n</section>\n<section id=\"index-concurrent-operations\">\n<h2>Index concurrent operations<a class=\"heading-anchor\" href=\"#index-concurrent-operations\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<aside class=\"version-note version-added\" data-version=\"3.0\">\n<p class=\"version-note-title\">New in Django 3.0</p></aside>\n<p>PostgreSQL supports the <code class=\"docutils literal notranslate\"><span class=\"pre\">CONCURRENTLY</span></code> option to <code class=\"docutils literal notranslate\"><span class=\"pre\">CREATE</span> <span class=\"pre\">INDEX</span></code> and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">DROP</span> <span class=\"pre\">INDEX</span></code> statements to add and remove indexes without locking out writes.\nThis option is useful for adding or removing an index in a live production\ndatabase.</p>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.operations.AddIndexConcurrently\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">AddIndexConcurrently</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">model_name</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">index</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.operations.AddIndexConcurrently\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Like <a class=\"reference internal\" href=\"/id/3.0/ref/migration-operations/#django.db.migrations.operations.AddIndex\" title=\"django.db.migrations.operations.AddIndex\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">AddIndex</span></code></a>, but creates an\nindex with the <code class=\"docutils literal notranslate\"><span class=\"pre\">CONCURRENTLY</span></code> option. This has a few caveats to be aware\nof when using this option, see <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/sql-createindex.html#SQL-CREATEINDEX-CONCURRENTLY\">the PostgreSQL documentation of building\nindexes concurrently</a>.</p>\n</dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.operations.RemoveIndexConcurrently\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">RemoveIndexConcurrently</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">model_name</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">name</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.operations.RemoveIndexConcurrently\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Like <a class=\"reference internal\" href=\"/id/3.0/ref/migration-operations/#django.db.migrations.operations.RemoveIndex\" title=\"django.db.migrations.operations.RemoveIndex\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">RemoveIndex</span></code></a>, but removes the\nindex with the <code class=\"docutils literal notranslate\"><span class=\"pre\">CONCURRENTLY</span></code> option. This has a few caveats to be aware\nof when using this option, see <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/sql-dropindex.html\">the PostgreSQL documentation</a>.</p>\n</dd></dl>\n\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Catatan</p>\n<p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">CONCURRENTLY</span></code> option is not supported inside a transaction (see\n<a class=\"reference internal\" href=\"/id/3.0/howto/writing-migrations/#non-atomic-migrations\"><span class=\"std std-ref\">non-atomic migration</span></a>).</p>\n</aside>\n</section>","rootId":"database-migration-operations","toc":[{"title":"Membuat tambahan menggunakan perpindahan","anchor":"creating-extension-using-migrations","children":[]},{"title":"CreateExtension","anchor":"createextension","children":[]},{"title":"BtreeGinExtension","anchor":"btreeginextension","children":[]},{"title":"BtreeGistExtension","anchor":"btreegistextension","children":[]},{"title":"CITextExtension","anchor":"citextextension","children":[]},{"title":"CryptoExtension","anchor":"cryptoextension","children":[]},{"title":"HStoreExtension","anchor":"hstoreextension","children":[]},{"title":"TrigramExtension","anchor":"trigramextension","children":[]},{"title":"UnaccentExtension","anchor":"unaccentextension","children":[]},{"title":"Index concurrent operations","anchor":"index-concurrent-operations","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"Acuan API","url":"/id/3.0/ref/"},{"docname":"ref/contrib/index","title":"Paket contrib","url":"/id/3.0/ref/contrib/"},{"docname":"ref/contrib/postgres/index","title":"django.contrib.postgres","url":"/id/3.0/ref/contrib/postgres/"}],"prev":{"docname":"ref/contrib/postgres/lookups","title":"Pencarian khusus PostgreSQL","url":"/id/3.0/ref/contrib/postgres/lookups/"},"next":{"docname":"ref/contrib/postgres/search","title":"Pencarian teks penuh","url":"/id/3.0/ref/contrib/postgres/search/"},"formats":{"html":"/id/3.0/ref/contrib/postgres/operations/","markdown":"/id/3.0/ref/contrib/postgres/operations.md","json":"/id/3.0/ref/contrib/postgres/operations.json"},"source":"https://github.com/django/django/blob/stable/3.0.x/docs/ref/contrib/postgres/operations.txt","official":"https://docs.djangoproject.com/id/3.0/ref/contrib/postgres/operations/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en","zh-hans","fr","ja","id","pt-br","ko","es","el","pl"]}