Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "database/sql"
- "fmt"
- "log"
- _ "github.com/bmizerany/pq"
- )
- /* PostgreSQL in Go: Create table & Insert row
- 1. Create the user and database from the psql cli, as an admin user:
- % psql
- postgres=# CREATE USER alpha_user with password 'alpha01';
- postgres=# CREATE DATABASE alpha_db01 OWNER alpha_user;
- */
- // 2. This table will be created (If it doesnt already exist) so that we can insert some shit:
- var create_person_table = `
- CREATE TABLE IF NOT EXISTS person(
- id serial primary key,
- username varchar not null,
- first_name varchar,
- last_name varchar,
- email varchar
- );`
- // 3. The admin user will be inserted
- var insert_admin_user = `
- INSERT INTO person(username, first_name, last_name, email)
- VALUES('admin', 'Admin', 'Administrator', 'admin@localhost');
- `
- // 4. The db, which represents a database - not a database connection, is defined globally.
- var db sql.DB
- func main() {
- dbuser := "alpha_user"
- dbname := "alpha_db01"
- dbpass := "alpha01"
- dbport := "5432"
- db, err := sql.Open("postgres",
- fmt.Sprintf("dbname=%s user=%s password=%s port=%s sslmode=disable", dbname, dbuser, dbpass, dbport))
- defer db.Close()
- if err != nil {
- log.Panic(err)
- }
- err = db.Ping()
- if err != nil {
- log.Panic(err)
- }
- _, err = db.Exec(create_person_table)
- if err != nil {
- log.Panic(err)
- }
- fmt.Println("Table created!")
- _, err = db.Exec(insert_admin_user)
- if err != nil {
- log.Panic(err)
- }
- fmt.Println("Admin user created")
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement