Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Panduan mulai cepat ini menunjukkan cara terhubung ke Azure Database for PostgreSQL menggunakan kode yang ditulis dalam bahasa Go (golang). Ini menunjukkan cara menggunakan pernyataan SQL untuk mengkueri, menyisipkan, memperbarui, dan menghapus data dalam database. Artikel ini mengasumsikan Anda terbiasa dengan pengembangan menggunakan Go, tetapi Anda baru bekerja dengan Azure Database for PostgreSQL.
Prasyarat
Panduan mulai cepat ini menggunakan sumber daya yang diciptakan dalam Buat Azure Database for PostgreSQL sebagai dasar awal.
Penting
Gunakan server dengan Akses publik (alamat IP yang diizinkan) yang diaktifkan untuk panduan mulai cepat ini. Jika Anda menggunakan server dengan akses privat (Integrasi VNet) yang diaktifkan untuk menyelesaikan panduan cepat ini, mungkin ada langkah tambahan yang tidak dibahas.
Pastikan alamat IP yang Anda sambungkan ditambahkan ke aturan firewall server dengan menggunakan portal Azure atau Azure CLI.
Memasang konektor Go dan pq
Pasang Go dan driver Pure Go Postgres (pq) pada mesin Anda sendiri. Bergantung pada platform Anda, ikuti langkah-langkah yang sesuai:
Unduh dan pasang Go for Microsoft Windows sesuai dengan petunjuk penginstalan.
Buka Command Prompt dari menu Start.
Buat folder untuk proyek Anda, seperti
mkdir %USERPROFILE%\go\src\postgresqlgo.Ubah direktori ke dalam folder proyek, seperti
cd %USERPROFILE%\go\src\postgresqlgo.Atur variabel lingkungan untuk GOPATH untuk menunjuk ke direktori kode sumber.
set GOPATH=%USERPROFILE%\go.Jalankan init mod go untuk membuat modul di direktori saat ini. Misalnya:
go mod init postgresqlgo.- Parameter
<module_path>umumnya adalah lokasi dalam repositori GitHub - sepertigithub.com/<your_github_account_name>/<directory>. - Saat Anda membuat aplikasi baris perintah untuk pengujian dan tidak akan mempublikasikannya,
<module_path>tidak perlu merujuk ke lokasi yang sebenarnya. Contohnya,postgresqlgo.
- Parameter
Pasang driver Pure Go Postgres (pq) dengan menjalankan perintah
go get github.com/lib/pq.Singkatnya, instal Go, lalu jalankan perintah berikut di Command Prompt:
mkdir %USERPROFILE%\go\src\postgresqlgo cd %USERPROFILE%\go\src\postgresqlgo set GOPATH=%USERPROFILE%\go go mod init postgresqlgo go get github.com/lib/pq
Mendapatkan informasi koneksi
Dapatkan informasi terkait koneksi yang diperlukan untuk menyambungkan ke Azure Database for PostgreSQL. Anda memerlukan nama server dan kredensial autentikasi yang sepenuhnya memenuhi syarat.
- Masuk ke portal Azure.
- Dari menu sebelah kiri di portal Microsoft Azure, pilih Semua sumber daya, lalu cari server yang Anda buat (seperti mydemoserver).
- Pilih nama server.
- Dari panel server Gambaran Umum, buat catatan Nama server dan Nama untuk masuk admin server. Jika lupa kata sandi, Anda juga dapat mengatur ulang kata sandi dari panel ini.
Kompilasi dan jalankan kode Go
- Untuk menulis kode Go, gunakan editor teks biasa, seperti Notepad di Microsoft Windows, Nano di Ubuntu, atau TextEdit di macOS. Jika Anda lebih suka lingkungan pengembangan interaktif (IDE) yang lebih kaya, coba GoLand by JetBrains, Visual Studio Code oleh Microsoft, atau Atom.
- Tempelkan kode Go dari bagian berikut ke dalam file teks, dan simpan ke folder proyek Anda dengan ekstensi file *.go, seperti jalur
%USERPROFILE%\go\src\postgresqlgo\createtable.goWindows atau jalur~/go/src/postgresqlgo/createtable.goLinux . - Temukan
HOST,DATABASE,USER, danPASSWORDkonstanta dalam kode, dan ganti nilai contoh dengan nilai Anda sendiri. Saat membuat server Azure Database for PostgreSQL, Anda membuat database bernama postgres. Anda bisa menggunakan database tersebut atau database lain yang Anda buat. - Buka Command Prompt atau Bash shell. Ubah direktori ke folder proyek Anda. Misalnya, pada Windows, gunakan
cd %USERPROFILE%\go\src\postgresqlgo\. Di Linux, gunakancd ~/go/src/postgresqlgo/. Beberapa lingkungan IDE yang disebutkan menawarkan kemampuan debugging dan runtime tanpa memerlukan perintah shell. - Jalankan kode dengan mengetikkan perintah
go run createtable.gountuk mengompilasi aplikasi dan menjalankannya. - Atau, untuk membangun kode ke dalam aplikasi asli, gunakan
go build createtable.go. Kemudian, luncurkancreatetable.exeuntuk menjalankan aplikasi.
Menyambungkan dan membuat tabel
Gunakan kode berikut untuk menyambungkan dan membuat tabel dengan menggunakan pernyataan CREATE TABLE SQL, diikuti dengan pernyataan INSERT INTO SQL untuk menambahkan baris ke dalam tabel.
Kode ini mengimpor tiga paket: paket sql, paket pq sebagai driver untuk berkomunikasi dengan server PostgreSQL, dan paket fmt untuk input dan output cetak pada baris perintah.
Kode memanggil metode sql. Buka() untuk menyambungkan ke database Azure Database for PostgreSQL, dan memeriksa koneksi dengan menggunakan metode db. Ping(). Handel database digunakan selama proses berlangsung, yang menahan kumpulan koneksi untuk server database. Kode ini memanggil metode Exec() beberapa kali untuk menjalankan beberapa perintah SQL. Setiap kali metode checkError() kustom memeriksa apakah terjadi kesalahan dan panik untuk keluar jika terjadi kesalahan.
Ganti parameter HOST, DATABASE, USER, dan PASSWORD dengan nilai Anda sendiri.
package main
import (
"database/sql"
"fmt"
_ "github.com/lib/pq"
)
const (
// Initialize connection constants.
HOST = "mydemoserver.postgres.database.azure.com"
DATABASE = "postgres"
USER = "mylogin"
PASSWORD = "<server_admin_password>"
)
func checkError(err error) {
if err != nil {
panic(err)
}
}
func main() {
// Initialize connection string.
var connectionString string = fmt.Sprintf("host=%s user=%s password=%s dbname=%s sslmode=require", HOST, USER, PASSWORD, DATABASE)
// Initialize connection object.
db, err := sql.Open("postgres", connectionString)
checkError(err)
err = db.Ping()
checkError(err)
fmt.Println("Successfully created connection to database")
// Drop previous table of same name if one exists.
_, err = db.Exec("DROP TABLE IF EXISTS inventory;")
checkError(err)
fmt.Println("Finished dropping table (if existed)")
// Create table.
_, err = db.Exec("CREATE TABLE inventory (id serial PRIMARY KEY, name VARCHAR(50), quantity INTEGER);")
checkError(err)
fmt.Println("Finished creating table")
// Insert some data into table.
sql_statement := "INSERT INTO inventory (name, quantity) VALUES ($1, $2);"
_, err = db.Exec(sql_statement, "banana", 150)
checkError(err)
_, err = db.Exec(sql_statement, "orange", 154)
checkError(err)
_, err = db.Exec(sql_statement, "apple", 100)
checkError(err)
fmt.Println("Inserted 3 rows of data")
}
Baca data
Gunakan kode berikut untuk menyambungkan dan membaca data menggunakan pernyataan SQL SELECT.
Kode ini mengimpor tiga paket: paket sql, paket pq sebagai driver untuk berkomunikasi dengan server PostgreSQL, dan paket fmt untuk input dan output cetak pada baris perintah.
Kode memanggil metode sql. Buka() untuk menyambungkan ke database Azure Database for PostgreSQL, dan memeriksa koneksi dengan menggunakan metode db. Ping(). Handel database digunakan selama proses berlangsung, yang menahan kumpulan koneksi untuk server database. Kueri pemilihan berjalan dengan memanggil metode db. Kueri(), dan baris yang dihasilkan disimpan dalam variabel jenis baris. Kode membaca nilai data kolom pada baris saat ini dengan menggunakan metode rows.Scan() dan mengiterasi baris-baris dengan menggunakan iterator rows.Next() hingga tidak ada baris lagi. Nilai kolom dari setiap baris dicetak ke konsol. Setiap kali metode checkError() kustom digunakan untuk memeriksa apakah terjadi kesalahan dan panik untuk keluar jika terjadi kesalahan.
Ganti parameter HOST, DATABASE, USER, dan PASSWORD dengan nilai Anda sendiri.
package main
import (
"database/sql"
"fmt"
_ "github.com/lib/pq"
)
const (
// Initialize connection constants.
HOST = "mydemoserver.postgres.database.azure.com"
DATABASE = "postgres"
USER = "mylogin"
PASSWORD = "<server_admin_password>"
)
func checkError(err error) {
if err != nil {
panic(err)
}
}
func main() {
// Initialize connection string.
var connectionString string = fmt.Sprintf("host=%s user=%s password=%s dbname=%s sslmode=require", HOST, USER, PASSWORD, DATABASE)
// Initialize connection object.
db, err := sql.Open("postgres", connectionString)
checkError(err)
err = db.Ping()
checkError(err)
fmt.Println("Successfully created connection to database")
// Read rows from table.
var id int
var name string
var quantity int
sql_statement := "SELECT * from inventory;"
rows, err := db.Query(sql_statement)
checkError(err)
defer rows.Close()
for rows.Next() {
switch err := rows.Scan(&id, &name, &quantity); err {
case sql.ErrNoRows:
fmt.Println("No rows were returned")
case nil:
fmt.Printf("Data row = (%d, %s, %d)\n", id, name, quantity)
default:
checkError(err)
}
}
}
Perbarui data
Gunakan kode berikut untuk menyambungkan dan memperbarui data menggunakan pernyataan SQL UPDATE.
Kode ini mengimpor tiga paket: paket sql, paket pq sebagai driver untuk berkomunikasi dengan server Postgres, dan paket fmt untuk input dan output cetak pada baris perintah.
Kode memanggil metode sql. Buka() untuk menyambungkan ke database Azure Database for PostgreSQL, dan memeriksa koneksi dengan menggunakan metode db. Ping(). Handel database digunakan selama proses berlangsung, yang menahan kumpulan koneksi untuk server database. Kode memanggil metode Exec() untuk menjalankan pernyataan SQL yang memperbarui tabel. Metode checkError() kustom digunakan untuk memeriksa apakah terjadi kesalahan dan panik untuk keluar jika terjadi kesalahan.
Ganti parameter HOST, DATABASE, USER, dan PASSWORD dengan nilai Anda sendiri.
package main
import (
"database/sql"
_ "github.com/lib/pq"
"fmt"
)
const (
// Initialize connection constants.
HOST = "mydemoserver.postgres.database.azure.com"
DATABASE = "postgres"
USER = "mylogin"
PASSWORD = "<server_admin_password>"
)
func checkError(err error) {
if err != nil {
panic(err)
}
}
func main() {
// Initialize connection string.
var connectionString string =
fmt.Sprintf("host=%s user=%s password=%s dbname=%s sslmode=require", HOST, USER, PASSWORD, DATABASE)
// Initialize connection object.
db, err := sql.Open("postgres", connectionString)
checkError(err)
err = db.Ping()
checkError(err)
fmt.Println("Successfully created connection to database")
// Modify some data in table.
sql_statement := "UPDATE inventory SET quantity = $2 WHERE name = $1;"
_, err = db.Exec(sql_statement, "banana", 200)
checkError(err)
fmt.Println("Updated 1 row of data")
}
Menghapus data
Gunakan kode berikut untuk menyambungkan ke database dan menghapus data dengan menggunakan pernyataan DELETE SQL.
Kode ini mengimpor tiga paket: paket sql, paket pq sebagai driver untuk berkomunikasi dengan server Postgres, dan paket fmt untuk input dan output cetak pada baris perintah.
Kode memanggil metode sql. Buka() untuk menyambungkan ke Azure Database for PostgreSQL, dan memeriksa koneksi dengan menggunakan metode db. Ping(). Sebuah handle database menampung kumpulan koneksi untuk server database dan digunakan secara menyeluruh. Kode memanggil metode Exec() untuk menjalankan pernyataan SQL yang menghapus baris dari tabel. Metode kustom checkError() memeriksa apakah terjadi kesalahan dan keluar jika terjadi kesalahan.
Ganti parameter HOST, DATABASE, USER, dan PASSWORD dengan nilai Anda sendiri.
package main
import (
"database/sql"
_ "github.com/lib/pq"
"fmt"
)
const (
// Initialize connection constants.
HOST = "mydemoserver.postgres.database.azure.com"
DATABASE = "postgres"
USER = "mylogin"
PASSWORD = "<server_admin_password>"
)
func checkError(err error) {
if err != nil {
panic(err)
}
}
func main() {
// Initialize connection string.
var connectionString string =
fmt.Sprintf("host=%s user=%s password=%s dbname=%s sslmode=require", HOST, USER, PASSWORD, DATABASE)
// Initialize connection object.
db, err := sql.Open("postgres", connectionString)
checkError(err)
err = db.Ping()
checkError(err)
fmt.Println("Successfully created connection to database")
// Delete some data from table.
sql_statement := "DELETE FROM inventory WHERE name = $1;"
_, err = db.Exec(sql_statement, "orange")
checkError(err)
fmt.Println("Deleted 1 row of data")
}
Membersihkan sumber daya
Untuk membersihkan semua sumber daya yang digunakan selama mulai cepat ini, hapus grup sumber daya dengan menggunakan perintah berikut:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes
Konten terkait
- Mengelola Azure Database for PostgreSQL menggunakan portal Microsoft Azure.
- Mulai cepat: Gunakan Python untuk menyambungkan dan mengkueri data di Azure Database for PostgreSQL.
- Mulai cepat: Gunakan Java untuk menyambungkan dan mengkueri data dari Azure Database for PostgreSQL.
- Mulai cepat: Gunakan .NET (C#) untuk menyambungkan dan mengkueri data dari Azure Database for PostgreSQL.
- Mulai cepat: Gunakan PHP untuk menyambungkan dan mengkueri data dari Azure Database for PostgreSQL.
- Mulai cepat: Gunakan Azure CLI untuk menyambungkan dan mengkueri data dari Azure Database for PostgreSQL.
- Mulai cepat: Mengimpor data dari Azure Database for PostgreSQL di Power BI.