Apakah ada yang setara dengan MySQL SHOW CREATE TABLE
di Postgres? Apakah ini mungkin? Jika tidak, apa solusi terbaik berikutnya?
Saya perlu pernyataan karena saya menggunakannya untuk membuat tabel di server jauh (lebih dari WCF).
mysql
postgresql
sql
vlebar
sumber
sumber
Jawaban:
Anda dapat mencoba melacak di file log PostgreSQL apa yang sebenarnya dilakukan oleh "pg_dump -t table -s". Kemudian Anda dapat menggunakan metode yang sama untuk menulis fungsi sql Anda sendiri.
sumber
-E
opsi untuk melacak apa yang terjadi di latar belakang ketika Anda menjalankanpsql
perintah --E: will describe the underlaying queries of the \ commands (cool for learning!)
- HTH!pg_dump:
atau gunakan Alat GUI PostgreSQL (pgAdmin, phpPgAdmin, dll.)
sumber
--schema-only
memiliki tujuan yang tepat ini: Tampilkan pernyataan SQL untuk membuat skema / tabel. Anda dapat memasukkan output ini ke dalam program C # Anda entah bagaimana..tar
, ambilrestore.sql
file dari arsip. Ia memiliki semua pernyataan buat.Di baris perintah (
psql
) Anda dapat menjalankan:\d <table name>
untuk membuat daftar semua kolom, jenis dan indeksnya.sumber
Membangun bagian pertama dari jawaban @ CubicalSoft, Anda dapat memasukkan fungsi berikut yang seharusnya berfungsi untuk tabel sederhana (mengasumsikan skema 'publik' default dan menghilangkan batasan, indeks, dan tipe data yang ditentukan pengguna, dll.). Jawaban @RJS adalah satu-satunya cara untuk melakukannya dengan benar saat ini; ini adalah sesuatu yang harus dibangun ke psql!
sumber
Saya menyadari bahwa saya agak terlambat ke pesta ini, tetapi ini adalah hasil pertama untuk Pencarian Google saya jadi saya pikir saya akan menjawab dengan apa yang saya hasilkan.
Anda bisa mendapatkan solusi yang cukup jauh dengan kueri ini untuk mendapatkan kolom:
Dan kemudian permintaan ini untuk indeks yang paling umum:
Maka itu adalah masalah membangun string kueri dalam format yang tepat.
sumber
Seperti yang dijawab dalam https://serverfault.com/a/875414/333439 , dengan
\d <table>
meta-commandpsql
memungkinkan untuk memperlihatkan struktur tabel dalam database. Jika Anda ingin melihat kueri yang digunakan dalam meta-command, Anda bisa menggunakan perintah itupsql -E
. Seperti yang dijelaskan dalam halaman manual,-E
sakelar menggemakan\d
kueri meta-command. Jadi, Anda bisa meluncurkanpsql -E
, Anda bisa melihat struktur tabel dengan\d <table>
meta-command, dan, sesuai dengan-E
switch, Anda bisa melihat kueri yang dihasilkan untuk menggambarkan struktur tabelsumber
Di pgAdmin 4 , cari saja tabel di pohon di sebelah kiri, mis:
Ketika tabel dipilih, buka tab SQL di sebelah kanan. Ini menampilkan
CREATE TABLE
untuk tabel yang dipilih.sumber
Ekstensi postgres ddlx ( https://github.com/lacanoid/pgddl ) melakukan hal ini dan lebih banyak lagi.
sumber